Аутентификация с помощью записи действий

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

В панели инструментов ProjectMaker я не нашёл специального компонента для ввода логина и пароля, а какой для этого выбрать, сразу и не скажешь. Выходом является применение записи действий для автоматического создания части алгоритма. В этом случае ProjectMaker будет следить за срабатыванием клавиатуры и мыши, и создавать необходимые экшены с заполненными параметрами.

В ProjectMaker на верхней панели нажимаем кнопку Запись, затем во встроенном браузере входим на сайт www.olx.pl, где жмём кнопку Moj OLX (Мой профиль), в появившемся окне вписываем логин и пароль и жмём кнопку Zaloguj sie (Войти). В проекте появились несколько контейнеров Установка значения и Событие. Эту часть алгоритма копируем и вставляем в начало нашего алгоритма, а затем соединяем экшены. Получившийся результат можно увидеть на рисунке 5.

Рисунок 5. Автоматически созданная часть алгоритма.

Распознавание капчи

Процесс распознавания капч не является простым, так как нужно понять её тип, учитывать время её появления, при необходимости устанавливать в алгоритме задержку, анализировать с помощью разных модулей, использовать переменные и\или GET\POST-запросы, передавать данные в специальные сайты распознавания капч, а потом получать обратно результат и применять многие другие варианты. Стандартного подхода нет. 

Как и многие другие многопользовательские интернет-порталы, www.olx.pl, также старается защититься от бот-программ с помощью капчи, а вернее рекапчи. Для их распознавания применяется отдельная программа CapMonster, созданная на основе OCR-алгоритмов. Она включает в себя все необходимые модули распознавания и эмуляции капча-сервисов. Имеется даже статистика основных разгаданных капч (в %), которую можно посмотреть здесь [ https://docs.google.com/spreadsheets/d/1W1EdvNhu34vAxWAjmIBZY8hsZWoNj3poChIHYVQCHAo/edit#gid=0 ].

                Капчи можно разделить на несколько типов:

  • регистрозависимые ;
  • состоящие из нескольких картинок – считаются более сложные и защищённые;
  • текстовые – считаются слабозащищённые, так как текст не нарисован на картинке;
  • математические текстовые капчи, где нужно вводить какое-то выражение из цифр, например, 35+66 и\или написать результат их суммы;
  • flash-капчи;
  • аудио-капчи и некоторые другие.

Компанией Google была выпущена новая версия защиты от ботов – ReCaptcha2. На веб-странице имеется галочка Я не робот, при активации которой появляется несколько картинок, где нужно выбрать требуемые изображения, например, дорожные знаки (см. рис. 6).

Рисунок 6. Пример рекапчи.

Чтобы отправить такую капчу на опознание, в ProjectMaker имеется специальный компонент Распознать ReCaptcha2 [ http://zennolab.com/wiki/ru:addons:capmonster:rc2 ], в свойствах которой достаточно выбрать лишь модуль распознавания, в нашем случае это CapMonster2.dll (см. рис. 7). Ещё должна быть запущена программа CapMonster (см. рис. 8), которая получает параметры от экшена и выполняет действия по распознаванию, а затем возвращает ответ.

Также необходимо добавить в алгоритм событие активации галочки Я не робот, которое как раз и будет запускать окно с картинкой. Для этих целей снова воспользуемся конструктором, нажав на элементе правой кнопкой мыши и выбрав в контекстном меню пункт В конструктор действий. В нём нужно изменить только точку на Rise и рядом нажать кнопку Добавить в проект.

Рисунок 7. Настройка экшена распознавания рекаптчи.

Основных установленных параметров по умолчанию в программе CapMonster достаточно, чтобы началось опознавание капч. На вкладке База модулей можно просмотреть список всех имеющихся модулей, которые и делают основную работу. Их большое множество и они делятся на следующие группы: Blogs, CMS, Emails, Forums, Guest Books, Internet Shops, Other, ReCaptcha, SearchEngines, Social, SolveMedia, Special sites, Trash Captchas, Universal captchas. 

Разгадывание капч можно производить с помощью универсального модуля, нажав на Universal правой кнопкой мыши и выбрав в меню пункт Распознавать все капчи через этот модуль, или с помощью специальных (остальных). Время разгадывания капч может варьироваться от нескольких секунд до нескольких минут, результат будет виден как в цифрах, так и графически (см. рис. 8).

Рисунок 8. Программа CapMonster.

После этого CapMonster отдаёт результат и в алгоритме происходит переход на следующий экшн, у нас это событие нажатия на кнопку Отправить, результатом чего будет отправлено сообщение продавцу товара.

На некоторых сайтах после выбора картинок иногда появляется событие autosubmit - отправка решения рекапчи в формах, - где нет кнопки Отправить. Для работы с autosubmit в программе ProjectMaker в свойствах экшена Распознать ReCaptcha2 нужно выбрать вкладку Активная.

Ещё один способ определения капчи – с помощью ресурса RuCaptcha [ https://rucaptcha.com/ ], указав в свойствах того же экшена другой модуль - RuCaptcha.dll, в поле SiteKey – параметр {-Variable.sitekey-}, в поле URL - параметр {-Variable.url_page-} или ключ sitekey, который парсится с сайта, где находится капча и адрес самого cайта,а в поле Положить в переменную – имя какой-то переменной [ http://zennolab.com/wiki/ru:addons:capmonster:sitekey#подключение-модуля-recaptcha2-sitekey-addon , https://rucaptcha.com/blog/for_webmaster/rucaptcha-recaptcha-zennoposter ].

 

ZennoPoster

После того, как алгоритм (шаблон) создан, проверен и сохранён, его надо открыть в программе ZennoPoster для выполнения.  

В настройках программы ZennoPoster в поле Сколько делать необходимо указать число (количество раз) его выполнения, также можно указать приоритет, правила, прокси, метки, количество потоков, расписание и другое (см. рис. 9).

Рисунок 9. Программа ZennoPoster.

Можно сказать, что создание бота прошло успешно, задачу выполнили, начальник уже доволен скоростью выполнения работы по сравнению с ручным поиском и вводом текста. В таком режиме с одной учётной записи можно отправить несколько десятков сообщений в день. Для отправки большего количества сообщений необходима анонимность, потому как учётная запись может быть заблокирована.  

 

Анонимность

Многие сервисы устанавливают защиту от спама, разрешая отправлять сообщения определённое количество раз. Чтобы обойти это ограничение, необходимо использовать дополнительные варианты анонимности, например, посещать сайт через прокси-сервер.

Платная программа ZennoProxyChecker может обрабатывать большое количество прокси-адресов, отбирая среди них “живые” относительно указанных правил и применяя их при работе бота. Для этого в ZennoProxyChecker необходимо загрузить список прокси-серверов, что можно сделать как вручную (прямой вставкой адресов прокси), так и автоматически (когда программа сама парсит адреса прокси-серверов указанных сайтов или локальных файлов со списками). Списки с прокси можно либо купить, либо найти на бесплатных ресурсах [ http://www.therealist.ru/proksi/spisok-vsex-rabochix-proksi , http://free-proxy.cz/ru/ ].

Добавление прокси в программу происходит на вкладке Источники по нажатию на кнопку Добавить прокси. Тут нужно учитывать формат написания, например, ip:port  подходит для обычных прокси, а login:password@ip:port - для прокси с авторизацией.

Далее нужно выполнить проверку прокси, для этого переходим на вкладку Управление и нажимаем на кнопку Загружать прокси, а затем жмём кнопку Проверять прокси. Для просмотра полученных “чистых” прокси-адресов переходим на вкладку Прокси (см. рис. 10), тут можно применять правила для отбора.

Рисунок 10. Список прокси-адресов в программе ZennoProxyChecker.

После этого в алгоритм нужно добавить экшн Получить прокси, который в нужный момент будет “сотрудничать” с программой ZennoProxyChecker, в результате чего будут подставляться адреса прокси-серверов, и сайт будет разрешать отправку сообщений в очень большом количестве.     

Второй вариант дополнительной анонимности – очистка Cookie в начале алгоритма (см. рис. 7), экшн появляется автоматически.

Третий – новые регистрации, новые учётные данные. В ProjectMaker для такого случая имеется экшн – Операции над профилем, который позволяет эмулировать профиль человека. Все необходимые данные (имя, фамилия, дата рождения, e-mail, пол, национальность) генерируются программой и обход защит от ботов происходит автоматически. Если веб-сервис требует подтверждения через смс-сообщение, то нужно будет добавить и настроить ещё и компонент sms-сервисы [ https://zennolab.com/wiki/ru:sms-services ].

 

Готовые боты

На сайте ZennoLab имеется немалое количество уже готовых ботов [ https://zennostore.com/ ], но они платные, стоимостью от 15 до 222 долларов и применяются для:

  • авторегистрации аккаунтов в ВКонтакте;
  • твита, ретвита, комментариев, фолловинга, рассылки сообщений, подписки и удаления подписчиков в Twitter;
  • парсинга, рассылки личных сообщений, регистрации и размещения объявлений на сайте Avito.ru;
  • комбайна ОК и ВК;
  • продвижения в Яндекс;
  • парсинга анкет и фото с Mamba.ru;
  • авторегистрации, автолайков и авторепостов постов в ВК;
  • парсинга ОК;
  • переноса рекламных компаний из Яндекс Директ в Google Adwords.

 

Достоинства: дружелюбный интерфейс, не нужно знать программирование, большой выбор компонентов, а значит больше гибкости и возможностей, есть документация на русском и форум [ http://zennolab.com/discussion/forums/poleznye-stati-istorii-uspexa.154/ ].

Недостатки: нужно разобраться в компонентах и их назначении, отсутствие готовых бесплатных ботов, все программы ZennoLab платные, сложность с распознаванием капч.

Вывод: автоматизировать работу в интернете можно с помощью бот-программ. Для их создания нет необходимости программировать, разбираться в интернет-технологиях и SEO-продвижении, тратить время на поиск и обработку полученной информации. Конечно, изначально нужно познакомиться с программами ProjectMaker, ZennoPoster, CapMonster, ZennoProxyChecker, понять принцип составления алгоритма, какие компоненты необходимы, какие параметры заполняются автоматически, а какие требуют ручного ввода, как распознать капчу и не быть заблокированным, а после этого создать простого бота. Проработав алгоритмы и перенеся свои интернет-идеи в ProjectMaker, можно “легально” спамить и добиться существенной минимизации затрат.