Добавление собственных социалок в Жукладочник
Категория: ЖукладочникНу раз редактор еще не доделан, расскажу, как добавлять социалки в Жукладочник вручную:
Попробую представить это пошагово:
1 шаг. Выбираем жертву. Проще всего добавлять социалки на распространенных движках, таких как Scuttle и Pligg. Просто таких шаблонов достаточно много в самом Жукладочнике, а делать по аналогии проще.
Чтобы сильно не заморачиваться, добавлю повторно besturls.ru. Он сделан на движке pligg, поэтому заходим в папку с шаблонами (по умолчанию это C:\Program Files\WebBug\Жукладочник\Bookmarks), находим там похожую социалку, копируем шаблон, переименовываем в besturls_ru.xml и открываем в текстовом редакторе.
2 шаг. Основные параметры. Меняем ссылку на главную страницу, а также ссылку на страницу регистрации.

Если есть желание, меняем параметры Properties. Они нужны для группировки и фильтра. Однако в них можно ошибиться (в таком случае ваш шаблон просто не загрузится) и особо их трогать не стоит.
3 шаг. Регистрация. Начнем с регистрации. Обычно для этого дела я использую сниффер. В принципе, не важно какой использовать, главное, чтобы удобно было отлавливать http запросы. Я использую Http Analyser.
Какой принцип работы? Нужно в браузере пройти регистрацию, а сниффером отловить Http запросы, которые при этом отсылаются.
Заходим на 10 minute mail, чтобы не заморачиваться с почтой лишний раз. Сервис выдаст нам мыло на 10 минут. В принципе, этого достаточно.

Заполняем данные в браузере и нажимаем регистрация.

Отлавливаем запросы сниффером. Http Analyser иногда вешает хром, поэтому с ним проще использоваться IE.

Таким образом, мы получили параметры http запроса. Предлагаю немного отвлечься и изучить, как добавлять шаги по регистрации в наш шаблон. Отловленная информация конвертируется в следующие шаги:
Начнем с того, что все переменные среды начинаются с $$. Можно вводить какие-то свои переменные. Основные переменные, используемые для постинга и регистрации:
$$url - ссылка на статью
$$login - логин
$$password - пароль
$$email - мыло
$$title - заголовок
$$description - описание
$$tags - тэги
$$category - идентификатор категории
$$result - переменная, из которой считывается результат операции. Используется для отчета.
Шаги, которые мы использовали:
Имя шага: Get
Описание: отправка GET запроса
Параметры:
Url - адрес. Может содержать в себе конструкции {n}, где n - номер параметра.
StopRedirect - запрет автоматических редиректов, производимых программой.
UrlParameters - параметры, которые подставляются в адрес.
Примеры:
<Step xsi:type=”Get”>
<Url>http://www.100zakladok.ru/{0}/</Url>
<UrlParameters>
<string>$login</string>
</UrlParameters>
</Step>
<Step xsi:type=”Get”>
<Url>http://sloger.net/submit.php</Url>
</Step>
Имя шага: Post
Описание: отправка POST запроса
Параметры:
Url - адрес. Может содержать в себе конструкции {n}, где n - номер параметра.
UrlParameters - параметры, которые подставляются в адрес.
StopRedirect - запрет автоматических редиректов, производимых программой.
Parameters - параметры запроса. Каждый параметр имеет имя, значение и кодировку (необязательно)
Примеры:
<Step xsi:type=”Post”>
<Url>http://www.100zakladok.ru/{0}/</Url>
<UrlParameters>
<string>$login</string>
</UrlParameters>
<Parameters>
<Param name=”title_1″ encoding=”windows-1251″>$title</Param>
<Param name=”bm_url_1″>$url</Param>
<Param name=”id_cat_1″>1</Param>
</Parameters>
</Step>
Немного модифицируется работа с Рекаптчей. Вообще, в программе предусмотрено три вида каптч и их обработки.
1. Рекаптча. Не требует особых параметров, распознается всегда одним и тем же путем.

2. SimpleCaptcha. Ссылка на картинку всегда постоянна, привязка к сессии идет на основе куки.

3. OwnCaptcha. Ссылка на картинку всегда генерится случайным образом. Чтобы определить эту ссылку, как правило, требуется REGEX.

Что касается работы с регулярными выражениями, здесь советую использовать специальные программы.
Возвращаясь к аналайзеру, замечу, что любой GET или POST возвращает контент, который можно посмотреть аналайзером:

Этот самый контент можно и использовать для работы. Я как правило использую программку RegexBuddy, чтобы отлаживать регулярные выражения на ходу:

Вот еще несколько шагов, использующих Regex:
Имя шага: Regex
Описание: поиск в контенте, полученном на предыдущем шаге определенной строки, заданной регулярным выражением.
Параметры:
Regex - искомая строка в виде регулярного выражения.
StopOnError - параметр, сигнализирующий, должен ли шаг выдать ошибку, если искомое выражение не найдено. По умолчанию false.
Output - имя переменной, куда записывать результат поиска
Примеры:
<Step xsi:type=”Regex”>
<Regex>(?<=\+\s+)[0-9]+(?=\s+=)</Regex>
<Output>$second</Output>
<StopOnError>true</StopOnError>
</Step>
Имя шага: RegexFailed
Описание: проверка контента, полученного на предыдущем шаге на наличие определенной строки, заданной регулярным выражением. В случае если выражение найдено, шаг завершится с ошибкой, текстом которой будет найденное выражение.
Параметры:
Regex - искомая строка в виде регулярного выражения.
Примеры:
<Step xsi:type=”RegexFailed”>
<Regex>(?<=\<span class=\”error\”\>).*?(?=\</span\>)</Regex>
</Step>
Если ваше знание Regex совсем на нуле, начните со статьи на википедии. Есть еще одна маленькая особенность: напрямую в XML символы < и > вставить нельзя. Они заменяются на < и >.
Вернемся к нашему шаблону. Последний шаг регистрации нужен нам для отчета:

Имя шага: String
Описание: строковые операции
Параметры:
Parameters - параметры строковой операции.
Type - тип строковой операции:
- Format - форматированная строка. Первый параметр задает шаблон, остальные подставлюятся в этот шаблон.
- TwitterConcat - сложение строк и обрезание первой, если обобщенный размер больше 140 символов
- Concat - сложение строк
- Substring - обрезание строки до определенного размера
- Set - просто создание новой переменной с определенным значением
ToLower - если параметр равен true, результат переводится в нижний регистр
Output - имя переменной, куда записывать результат
Примеры:
<Step xsi:type=”String”>
<Parameters>
<string>Ссылка для проверки: http://www.100zakladok.ru/{0}/</string>
<string>$login</string>
</Parameters>
<Output>$result</Output>
<Type>Format</Type>
<ToLower>true</ToLower>
</Step>
<Step xsi:type=”String”>
<Parameters>
<string>$title</string>
<string>$shorturl</string>
</Parameters>
<Output>$status</Output>
<Type>TwitterConcat</Type>
</Step>
Будем считать, что с регистрацией покончено.
4 шаг. Перейдем к постингу. Тут примерно те же принципы: браузер, сниффер, шаги. Опишу дополнительно парочку интересных шагов:

Имя шага: Authentication
Описание: проверка контента, полученного на предыдущем шаге на наличие определенной строки (чаще всего logout). В случае если строка не найдена, шаг завершится с ошибкой «проблемы авторизации».
Параметры:
CheckParameter - искомая строка
Примеры:
<Step xsi:type=”Authentication”>
<CheckParameter>logout</CheckParameter>
</Step>
Имя шага: GetParam
Описание: поиск в контенте, полученном на предыдущем шаге input параметра с заданным именем. В случае если параметр не найден, шаг завершится с ошибкой. Обычно применяется для нахождения различных hash параметров.
Параметры:
ParamName - имя искомого параметра.
Output - имя переменной, куда записывать результат поиска
Примеры:
<Step xsi:type=”GetParam”>
<ParamName>hash</ParamName>
<Output>$hash</Output>
</Step>
5 шаг. Еще в шаблоне есть параметры постинга (максимальные значения + разделители)

6 шаг. Есть также категории, для тех сайтов, которые поддерживают эти самые категории:

Сопоставить идентификатор категории с ее именем можно на этапе постинга, проанализировав HTML код. С ними можно особо не заморачиваться, механизм категорий все равно на этапе изменения.

Вот собственно и все. Советую хранить собственные шаблоны в отдельной папке, так как при переустановке Жукладочника он полностью очищает папку Bookmarks. Просто обидно будет.
Для редактирования шаблонов рекомендую использовать редактор notepad++.
Всем удачи, а я пошел делать нормальный редактор!
Популярность: 29%
Уже 30 комментариев. Оставь свой...
1 марта 2010
1 марта 2010
2 марта 2010
2 марта 2010
2 марта 2010
3 марта 2010
3 марта 2010
3 марта 2010
4 марта 2010
4 марта 2010
4 марта 2010
4 марта 2010
5 марта 2010
5 марта 2010
6 марта 2010
7 марта 2010
8 марта 2010
8 марта 2010
9 марта 2010
10 марта 2010
12 марта 2010
13 марта 2010
15 марта 2010
15 марта 2010
15 марта 2010
18 марта 2010
18 марта 2010
18 марта 2010
11 апреля 2010
20 августа 2010
Оставить комментарий