TOBBOT

TOBBOT
Рейтинг
41
Регистрация
04.11.2014

Petrz, Яндекс стал просить капчу на вход если страна входа отличается.

В текущей версии модуля нет распознавания капчи на вход, вот и не видит капчу.

Поскольку вводить по 2 капчи вместо 1 - затратно, то сейчас пишется новая версия программы, где будут добавлены API функции по работе с сессиями (IP адрес, юзерагент, куки), что позволит запоминать хорошие сессии и значительно сократить расходы на капчу.

Релиз ожидается в течение этой недели.

под Яндекс и Bing, под Google пока не работает.

Пишу:

- программы на языке Java,

- модули к программе TOBBOT.

Обращайтесь!

Консультация бесплатно ☝

Сегодня утром я получил письмо с просьбой написать модуль для удаления страниц из индекса Яндекса: https://webmaster.yandex.com/delurl.xml Для решения данной задачи мне понадобилось не более 15 мин. При этом большая часть времени ушла на изучение и тестирование различных поведений сервиса.

Предлагаю вам изучить процесс создания новых модулей на озвученном выше примере.

Шаг 1.
Изучение сервиса.

Запускаем снифер запросов, которые передает браузер в процессе "общения" с сайтами. Я рекомендую использовать бесплатный снифер Fiddler2, но можно ограничиться и простым плагином HttpFox к браузеру Firefox.

Открываем страницу сервиса и вводим различные адреса (правильные и неправильные, проиндексированные и нет) и записываем ответы сервера на отправленные запросы.

Шаг 2.
Создание модуля.

Согласно справочнику разработчика модули должны иметь следующую архитектуру:

Обязательными являются файлы и директории выделенные на схеме красным цветом

Поэтому создаем следующие директории и файлы:

  • В директории modules/ программы создаем директорию с модулем Del URL Yandex/
  • Переходим в указанную директорию и создаем файл columns.txt и директорию actions/
  • Переходим в директорию actions/ и создаем файл действия Del.txt

В результате этого у нас получилось 2 текстовых файла:

  • columns.txt - содержит заголовки колонок модуля
  • del.txt - содержит кодом действия удаления URL из Яндекс

Для удаления адресов нам потребуется указать их URL, поэтому откроем файл columns.txt и вставим туда всего одну строку:

url

Теперь откроем файл Del.txt и запишем туда следующий код действия:


// устанавливаем случайный User-Agent
... "modules/Common Files/Actions/Set random useragent.txt"

// открываем форму запроса на удаление URL
URL_GET "https://webmaster.yandex.com/delurl.xml"

// парсим скрытые поля формы
VAR_RE form_key, http_body, "name=\"key\" type=\"hidden\" value=\"(.*?)\""
VAR_RE form_sk, http_body, "type=\"hidden\" name=\"sk\" value=\"(.*?)\""

// загружаем капчу в кодировке BASE64 и передаем ее на распознавание OCR сервису
CHARSET "BASE64", http_body
URL_GET "https://i.captcha.yandex.net/image?key=", form_key
CHARSET "", http_body
VAR_CAPTCHA captcha_text, http_body, "0","0","0","0","4","10","0"

// отправляем запрос на удаление
// переменные с префиксом row_ содержат значения данных из таблицы,
// т.е. переменная row_url содержит адрес страницы, которую нужно удалить
URL_POST "https://webmaster.yandex.com/delurl.xml"
"url", row_url
"do", "remove"
"rep", captcha_text
"key", form_key
"sk", form_sk

// проверяем ответ сервера на наш запрос
SCRIPT
// если задание выполнено
if ((http_body.indexOf('The URL will be removed shortly') > 0) ||
(http_body.indexOf('not indexed') > 0)) {
// выполняем команду DONE (выполнено успешно)
return 'DONE';
}
// если задание не может быть выполнено
if ((http_body.indexOf('There is no reason to delete this URL') > 0) ||
(http_body.indexOf('protocol is not supported') > 0) ||
(http_body.indexOf('Invalid URL') > 0)) {
// выполняем команду UNDONE (не может быть выполнено)
return 'UNDONE';
}
// если капча распознана неверно, то задание переносится на следующий цикл
if (http_body.indexOf('Incorrect CAPTCHA code') > 0) return 'LOG "Incorrect CAPTCHA code"';

Важно! Созраняем все файлы в кодировке UTF-8 без BOM.

Поздравляю! Ваш модуль готов к работе ☝

Скачать готовый модуль Del URL Yandex.

Terehova:
Эх, для Linux-систем кто бы такую софтинку запилил, что за дискриминация такая.

Под Linux тоже работает ;)

Последние новости:

  • Выбирать профиль настроек при запуске программы теперь обязательно.
  • Добавлена функция включения/выключения EXCEPTION, которая позволяют включить/выключить остановку выполения задания в случае возникновения ошибки.
  • Добавлена функция PROXY_NEXT, которая позволяет переключиться на следующий прокси из списка.
  • В функции GOTO добавлен параметр {направление}, который позволяет указать направление поиска метки: "-" искать вверх, "+" искать вниз.
  • В функцию VAR_CAPTCHA добавлен необязательный параметр {comment}, который позволяет оставить примечание для работника по правильному распознаывнию капчи.
  • В функции FILE исправлена ошибка записи в файл.
  • Обновлен модуль Common Files и другие модули, которые используют этот модуль в своей работе.
  • Модули проверки индексации в поисковых системах разделены на 3 модуля:
  • SE Check Index (Backlinks)
    SE Check Index (Domains)
    SE Check Index (Pages)


    Важно! Не забывайте удалять старые и ненужные версии модулей, чтобы избежать путаницы.

TOBBOT + модуль SE Backlinks Index Checker = бесплатная проверка сабжа.

Проверяет как раз через кеш Google, Yandex, Bing.

irbs:
а как массово добавить урлы, чтобы в аддурилку из запустить

Cразу уточню, что из аддурилок сейчас работают только Яндекс и Bing.

Чтобы массово добавить урлы:

1. Добавьте строки Rows > Add... Кол-во строк равно кол-ву урлов для добавления.

2. Выделите все строки Rows > Select... > Select All или просто Ctrl + A.

3. Заполните выделенные строки Rows > Edit Selected... Выбираете колонку url в панели Columns, вставьте список урлов в панели Values, нажмите Edit. Точто также заполните остальные колонки строк.

Всего: 343