автоматизация социальных сейтей с помощью Human Emulator

Скрипт для Human Emulator автоматической публикации записей на стену в вконтакте

Многие из нас пользуются социальными сетями и почти у каждого есть свой аккаунт в ВКотакте (vk.com). У многих из нас возникает потребность в постоянной публикации новых записей на стене, но не всегда мы можем уделить на это достаточно времени. Мы решили написать скрипт, который поможет Вам решить эту проблему — это скрипт автоматической публикации записей на стену в вконтакте.

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

Для этого скрипта, как впрочем и для всех остальных, можно настроить запуск по расписанию, для этого просто достаточно завести новую задачу в расписании скриптов программы.

Настройки скрипта:

Сам скрипт выглядит следующим образом:

Видеоролик как работает скрипт автоматической публикации на стену ВКонтакте

Скрипт написан для Human Emulator 4.6.38 и выше.

скачать скрипт

автоматизация социальных сейтей с помощью Human Emulator

Скрипт Human Emulator автоматического постинга в несколько твиттеров

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

На нашем сайте уже есть пример скрипта, который публикует сообщения в один твиттер. Поэтому мы решили доработать его для подачи объявлений в несколько твиттеров, причём за каждым аккаунтом закрепляется свой прокси.
Если прокси умер, он заменяется на новый рабочий прокси и т.д.

Для работы скрипта вам необходим файл с аккаунтами в формате:

логин1;пароль1
логин1;пароль1
логин1;пароль1
и т.д.

Файл с прокси в формате:

204.93.54.15:3127
199.241.138.201:7808
119.30.39.1:3128
116.228.55.217:8000
и т.д.

Для работы скрипта можно использовать фришные прокси, которые можно легко найти в интернете. Но надо понимать, что такие прокси крайне не надёжны. Лучше использовать покупные прокси, а ещё лучше работать с прокси-серверами, которые не умирают. Имея в своём распоряжении 1000-и прокси серверов,
можно легко работать с 1000-ми аккаунтов твиттер, создавая целые сети, которые в свою очередь будут привлекать реальных пользователей,
для которых и предназначена Ваша реклама. Платные прокси и прокси-сервера.

И файл с сообщениями для публикации в формате:

И всё чаще перед ними, как и перед простыми пользователями встают рутинные задачи.
Многие задачи можно решить с помощью скриптов.
Наимение затратный вариант это php-скрипты.
… и т.д.

Настройки скрипта:

Сам скрипт выглядит следующим образом:

Скрипт написан в Human Emulator 4.4.29 Advanced.

скачать скрипт

автоматизация социальных сейтей с помощью Human Emulator

Cкрипт Human Emulator добавления друзей в одноклассниках

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

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

Настройки скрипта:

Сам скрипт выглядит следующим образом:

Скрипт написан 10.02.2013 в XHE Human Emulator 4.6.4 Advanced.

скачать скрипт

Скрипт Human Emulator рассылки почты на webmailer.ru

Иногда, при ведении инфобизнеса возникает задача рассылки информации (например про акции, скидки и т.д.) своим подписчикам. Таким образом можно существенно увеличить поток ваших клиентов и как результат увеличить прибыль при ведении инфобизнеса. Но к сожалению, многие почтовые сервисы рассматривают такую рассылку как спам и блокируют ваш почтовый ящик. Один из возможных путей решения данной проблемы — использовать сервис рассылки сообщений webmailer.ru.

Предлагаем вашему вниманию скрипт, который автоматически рассылает письма при помощи сервиса webmailer.ru.

Скрипт работает следующим образом: есть список почтовых ящиков по которым надо осуществить рассылку. Скрипт заходит на сервис webmailer.ru, последовательно вводит адрес получателя,адрес отправителя, обратный адрес, тему сообщения и само сообщение. Распознает картинку капчи при помощи сервиса Antigate.com и нажимает кнопку отправить. Такой алгоритм в цикле применяется ко всем адресатам.

Скрипт на вход принимает файл с ящиками на которые необходимо отправить письма с акциями в формате один e-mail — одна строка:

kshakmakova@inbox.ru
vilor.kochenkov@mail.ru
izabella.vazova@mail.ru

Настройки скрипта:

Сам скрипт выглядит следующим образом:

Скрипт написан 07.10.2014 в Human Emulator 4.6.50 Advanced.

Скрипт регистратор мыла на примере mail.ru. Часть 2.

Итак, из предыдущей статьи у нас есть следующий скрипт, который регистрирует один аккаунт за один запуск скрипта:

Наша задача добавить в скрипт работу с прокси, различные проверки на удачную регистрацию и запись удачных логинов и паролей в файл.

Начнём с прокси. Допустим у нас есть какой то файл с прокси proxy.txt, который лежит в той же папке что и скрипт. Формат файла следующий:

175.145.221.223:3128
202.53.255.68:3128
196.214.70.60:80
180.242.62.150:8088
95.159.29.116:80
186.193.99.222:3128

Добавим в скрипт код для получения данных из файла с проксями в массив $proxies= file(«proxy.txt»); и сразу же создадим цикл, который будет основан на количестве проксей — то есть мы будем регистрировать столько же аккаунтов сколько у нас рабочих проксей в файле, для этого добавим следующий код:

Примечание: как работать с файлами в XHE описано в статье работа с файлами. Как организовывать циклы описано в статье работа с циклами

В итоге наш скрипт будет выглядеть теперь так:

Теперь добавим проверку и запись удачно зарегистрированного аккаунта в файл. Для записи в файл будем использовать функцию объекта для работы c текстовыми
файлами $textfile->add_string_to_file. Код в скрипте будет $textfile->add_string_to_file($res_file,»$mail_login;$pwd\n»);, где $res_file переменная, которая настраивается в начале скрипта $res_file = «mail_accs.txt»;, а «$mail_login;$pwd\n» это записываемая строка с данными в файл.

Теперь нужно добавить проверку удачной регистрации нового аккаунта. Сразу после удачной регистрации открывается ящик и в верхнем правом углу отображается аккаунт под которым мы зашли. Вот на наличие его на странице мы и будем проверять. Если такая строка есть значит зашли в аккаунт, а значит мы его зарегистрировали. Простой анализ страницы показал, что это span элемент и к тому же с id

. Это нам даёт возможность использовать функцию объекта $element->get_element_innerText_by_id следующим образом:

Теперь осталась добавить проверку через оператор if. в Результате мы получили:

Примечание: команда echo служит для вывода информации в панель отладки.

Теперь наш скрипт выглядит следующим образом:

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

Как показала практика работы с хуманом наилучший результат по анонимности и работы с памятью достигается при использовании закладок браузера и последующем их закрытии. Для этого в начало цикла добавим следующий код:

Так же до цикла делаем переход основного браузера на пустую страницу: $browser->navigate(‘about:blank’);

В конце цикла добавим следующий код, который будет чистить данные браузера, а потом закрывать открытый в начале скрипта браузер:

В итоге наш скрипт стал:

Теперь добавим работу с user-agent строкой. Для этого у нас есть файл user-agents.txt, который содержит данные в следующем формате:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; (R1 1.5); .NET CLR 1.1.4322)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.2; Windows-Media-Player/10.00.00.3990)

По аналогии с прокси получим данные из файла в массив добавим в начало скрипта следующий код:
$useragents = file(«useragent.txt»); Задавать эти строки мы будем случайным образом сразу после того как делаем активным 1 браузер, используя следующий код: $browser->set_user_agent($useragents[rand(0,count($useragents)-1)]);, где ($useragents[rand(0,count($useragents)-1)] это случайный элемент массива от 0 до количества элементов в массиве-1.

В конце скрипта перед $app->quit(); добавим код отключения прокси: $browser->disable_proxy(«all connections»);

Теперь наш скрипт имеет вид:

Производительность скрипта очень сильно зависит от скорости и качества используемых прокси.
Скрипт написан 18.01.2012 в Human Emulator 4.2 Advanced.
На момент публикации статьи 23.01.2012 скрипт был рабочий.

скачать скрипт

Скрипт регистратор мыла на примере mail.ru. Часть 1.

Пожалуй, самое распространённое требование при регистрации каких либо аккаунтов на сайтах это рабочий e-mail. На примере mail.ru напишем скрипт, который будет регать для нас email-ы, которые мы потом сможем использовать в других регистрациях.

Итак, первое что мы сделаем это создадим новый скрипт через меню Файл->Новый. Заменим в скрипте http://www.google.com на mail.ru. Запустим скрипт на выполнение и перейдём на сайт mail.ru. После находим на странице ссылку с текстом «Регистрация в почте», кликаем на ней правой кнопкой мыши и выбираем пункт меню $anchor в развернувшемся подменю кликаем на пункт меню $anchor->click_by_inner_text(‘Регистрация в почте ‘,true);. Нужная нам функция добавилась в скрипт и теперь наш скрипт выглядит следующим образом:

Примечание: После любых функций клика, которые делают переход на другую страницу или выполняют какие либо действия после которых браузер обновляется, нужно добавлять функцию $browser->wait_for();. Эта функция ожидает пока браузер выполнит необходимые действия, не давая скрипту идти дальше.

Запускаем скрипт на выполнение и переходим на страницу регистрации mail.ru. Перед нами страница с полями, которые нужно заполнить данными. Первые два поля это Имя и Фамилия. Для генерации данных в XHE используется объект submitter. У этого объекта есть функции для генерации имени и фамилии — generate_random_name и generate_random_second_name, соответственно. Вставляем эти функции в скрипт через диалог добавления кода. Этот диалог можно вызвать горячими клавишами Ctrl+Alt+Right(стрелка вправо). В диалоге выбираем объект submitter и затем выбираем нужные нам функции из правого поля.

Теперь наш скрипт выглядит следующим образом:

Для работы с полями вставки текста в XHE служит объект input. Для вставки значений в поля Имя и Фамилия используем контекстное меню аналогично с тем как мы кликали на ссылку «Регистрация в почте». В открывшемся подменю меню $input выберем функцию «$input->set_value_by_number(‘0’,»);», а для второго поля «$input->set_value_by_number(‘1’,»);».

Примечание: Помимо функции работы по номеру поля в контекстном меню можно увидеть и функцию работы с полем по имени, типа: «$input->set_value_by_name(‘x_29f24908ee4918a4’,»);». На практике лучше использовать функции, которые работают с элементом по его имени, так как при добавлении нового элемента такого же типа нумерация полей меняется и это может привести к неработоспособности скрипта, тогда как имя элемента остаётся постоянным. НО в данном случае, судя по именам элементов они скорее всего меняются чаще, чем добавляются новые поля на страницу, поэтому будет надёжнее работать по номерам элементов.

Теперь вставим генерацию имени и фамилии в поля с нужными для нас параметрами. Скрипт будет выглядеть так:

Параметры «RU» и «man» говорят о том что нужно генерить только русские мужские имена и фамилии. Допустим что стоит задача случайным образом создавать в том числе и женские имена и фамилии. Тогда добавим следующий код в скрипт:

После добавления этого кода скрипт будет выглядеть следующим образом:

Теперь выберем дату рождения. Для работы с элементами выбора в XHE используется объект listbox. Значения даты будем выбирать случайным образом используя функцию select_random_value_by_number.

Таким образом получим следующее:

Теперь выберем пол. В скрипте уже пол выбран его содержит переменная $gnd. Теперь с помощью неё выберем нужный пол на странице. Для работы с так называемыми радиобоксами в XHE есть элемент radiobox. Используя контекстное меню для элемента выбираем функцию $radiobox->set_checked_by_value(‘1’,true); и меняем ‘1’ на $gnd.

Примечаение: Тут можно было использовать функции работы по номеру $radiobox->set_checked_by_number(0,true);, но тогда наш код выбора пола имел бы такой вот вид:

В итоге имеем скрипт в следующем виде:

Примечание: Периодически можно запускать скрипт что бы проверять всё ли срабатывает так как надо.

Теперь нам нужно сгенерить логин для мыла и вставить его в поле логина. Для этого используем функцию $input->set_value_by_number(‘3’,»); вместе с функцией $submitter->generate_random_nick_name. Для того что бы сделать длину генерируемого пароля случайной используем оператор rand и тогда получем следующий код $input->set_value_by_number(‘3’,$submitter->generate_random_nick_name(rand(5,9));. Этот код будет вставлять случайный логин длиной от 5 до 9 символов. Для того что ещё больше сделать логин уникальным можно добавить опять таки оператор rand. Тогда вызов функции будет выглядеть так $input->set_value_by_number(‘3’,$submitter->generate_random_nick_name(rand(5,9)).rand(100,10000));

Так как при удачной регистрации нам понадобится записать получившийся логин мы введём переменную $mail_login и перепишем код следующим образом:

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

После всех манипуляций получим:

По аналогии делаем тоже самое с заполнением паролем, только для генерации пароля используем функцию $submitter->generate_random_text. В итоге для пароля добавим такой вот код:

Дальше если надо, то добавляем в поле телефон, если делать регистрацию без телефона, то добавим для ссылки «У меня нет мобильного телефона» через контекстное меню вызов функции $anchor->click_by_inner_text(‘У меня нет мобильного телефона’,true);. Затем кликнем на ссылку что бы увидеть поля для заполнения. Выберем случайным образом из списка вопросов вопрос, используя уже известную нам функцию $listbox->select_random_value_by_number(5);. Для формирования ответа можно использовать функцию $submitter->generate_random_text либо задавать один и тот же ответ это по выбору. В нашем случае будем использовать $submitter->generate_random_text.

После заполнения всех нужных полей кликнем на кнопку для завершения регистрации. Для работы с кнопками типа INPUT в XHE используется объект button. Используя контекстное меню для элемента выберем функцию $button->click_by_number(1);

Теперь наш скрипт будет выглядеть так вот:

После запуска этого скрипта в браузере откроется окно с каптчей. Для работы с распознанием каптчи можно использовать различные сервисы такие как captchabot.com или anti-captcha.com. Можно и другие просто для работы с этими двумя сервисами в XHE есть объекты $captchabot и $anticapcha. А так же можно использовать ручной ввод каптчи через функции объекта $app:

Мы будем использовать функцию $app->dlg_captcha_from_url_exactly($url,$exactly);. Для этого для начала посмотрим src картинки. Src можно посмотреть в исходникам html страницы, либо через Инспектор Элементов в XHE, либо через контекстное меню, добавив в скрипт любую функцию работы картинки через src, например:$image->click_by_src(‘http://e.mail.ru/cgi-bin/x_image?num=2&x_reg_id=5yJ3cvUd&r=1326713669663’,true); Src картинки будет http://e.mail.ru/cgi-bin/x_image?num=2&x_reg_id=5yJ3cvUd&r=1326713669663. Сразу становится ясно, что src постоянно разный и к тому же каптча состоит из трёх картинок, поэтому быдем вызывать $app->dlg_captcha_from_url_exactly следующим образом:

То есть в результате работы этого кода мы получаем, что вся каптча распределена в трёх частях. Заполним поле каптчей используя следующий код:
$input->set_value_by_name_by_form_number(«code»,$cap.$cap1.$cap2,11); — где cap.$cap1.$cap2 распознанная каптча.

Примечание: Иногда когда поля находятся в формах (тэг form) функции $input->set_value_by_name могут не срабатывать
в этом случае следует использовать функцию $input->set_value_by_name_by_form_number.

Теперь наш скрипт будет выглядеть следующим образом:

Примечание: Иногда появляется необходимость задержать скрипт несколько дольше, чем это делает функция $browser->wait_for();.
Например когда открываются всплывающие окна в этот момент браузер может освободиться раньше, чем появится всплывающее окно. В этих случаях используется функция sleep(кол-во секунд);, которая останавливает работу скрипта на заданное количество секунд.

Теперь закончим регистрацию используя контекстное меню, как это мы делали выше. В итоге наш скрипт стал вот таким вот:

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

Скрипт написан 16.01.12 в Human Emulator 4.2 Advanced. На момент публикации статьи скрипт был рабочий

скачать скрипт