•    (Ответов: 9  Просмотров: 4028)
Лента этого топика   
   
  1. #1
    Senior Member Аватар для LIME
    Регистрация
    02.09.2009
    Сообщений
    437
    Поинтов: 372

    По умолчанию XHE - учимся писать скрипты сами

    Небольшой ликбез по Xedant Human Emulator.

    Подопытным хостом для авторегистрации возьмем уже нашумевший blogs.technet.com, знаю, многие после статьи Енотика не отказались бы от него Ну что ж, держите.

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

    Ну, начнем с подготовки.
    Создадим в папке, куда установлен XHE папку "data" и зальем туда файл с кейвордами "keys.txt".

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

    Заходим на xttp://blogs.technet.com/user/CreateUser.aspx и смотрим, как выглядит форма регистрации. Но перед этим в наш скрипт добавляем
    PHP код:
    $browser->clear_cash(); 
    То есть, стираем старый кэш. На Technet я заметил глюки, когда остается кэш от старой регистрации, так что лишним не будет.
    Далее
    PHP код:
    $browser->navigate("http://blogs.technet.com/user/CreateUser.aspx"); //заходим XHE на страницу регистрации
    $browser->wait(1); // и ждем окончания загрузки страницы 
    Первое поле в форме, которую нам надо заполнять "Sign in Name:". Смотрим сорцы страницы, и вытаскиваем ID поля.
    PHP код:
    <input name="ctl00$bcr$ctl00$_$Username" type="text" maxlength="64" id="ctl00_bcr_ctl00___Username" accesskey="9" tabindex="1" size="25" /> 
    Вот этот инпут. Значит, пишем в скрипте
    PHP код:
    $input->set_value_by_name("ctl00_bcr_ctl00___Username",$username); // то есть, мы заполняем поле с id ctl00_bcr_ctl00___Username переменной $username 
    Для удобства можно в самом XHE глянуть список всех элементов на странице. Отладка -> Получить список элементов. К элементу, будь то полем, текстом, картинкой или кнопкой, можно обращаться не только по ID, но и по его номеру, тексту, да впринципе, любому его признаку. В XHE есть справочник функций, там все подробно описано.

    по аналогии заполняем остальные поля
    PHP код:
    $input->set_value_by_name("ctl00_bcr_ctl00___Password",$password);
    $input->set_value_by_name("ctl00_bcr_ctl00___Password2",$password);
    $input->set_value_by_name("ctl00_bcr_ctl00___Email",$email);
    $input->set_value_by_name("ctl00_bcr_ctl00___Email2",$email); 
    и кликаем на сабмит
    PHP код:
    $button->click_by_name("ctl00_bcr_ctl00___CreateAccount");
    $browser->wait(1); // обазятельно ждем окончания загрузки страницы, чтобы наш скрипт не ушуршал дальше, не дождавшись 
    "Your account has been created and you are now signed in." Мы зарегались.
    Теперь нужно отредактировать профиль и создать дорвей
    PHP код:
    $browser->navigate("http://blogs.technet.com/user/EditProfile.aspx"); // Edit profile
    $browser->wait(1);
    $textarea->set_value_by_name("ctl00_bcr_ctl00___Signature",$about); // Заполняем поле "подпись", сюда мы вставим заманчивый текст с ссылкой, а лучше картинку, html в подписи разрешен
    $textarea->set_value_by_name("ctl00_bcr_ctl00___bio",$about2); // а это поле мы можем забить текстом и кейвордами, а также тут будет перелинковка со старыми дорами
    $button->click_by_name("ctl00_bcr_ctl00___UpdateButtonBottom"); // кликаем сабмит
    $browser->wait(1);
    $browser->navigate("http://blogs.technet.com/logout.aspx"); // и выходим из профиля 
    Все, это и есть минимальный код для регистрации одного профиля. Теперь нужно сделать одну важную вещь - забежать за угол и сохраниться Шучу, теперь нужно усложнить скрипт - добавить ему функционал, чтобы удовлетворял нашу первоначальную задачу и работал в цикле. Но это к XHE уже имеет косвенное отношение, там голый php код, его вы сможете самостоятельно разобрать в скрипте.

    Полная версия скрипта в аттаче.
    Скрипт в папке data создает файл со списком созданных доров в формате "дорвей||кейворд".
    Закидывайте в файл alldoors.txt доры в таком же формате, скрипт рандомно будет проставлять на них ссылки в новых дорах.
    Вроде все.

    tech.zip

  2. 8 пользователя(ей) сказали cпасибо:

    acmilan(10.09.2009), bezumniy(10.09.2009), Dr.Gonzo(10.09.2009), kauri(27.11.2009), kirilldes(10.09.2009), micakult(26.02.2010), noxon.su(10.09.2009), vikiana(12.09.2009),
  3. #2
    Senior Member Аватар для noxon.su
    Регистрация
    08.09.2009
    Адрес
    Москва - Владивосток
    Сообщений
    1,467
    Поинтов: 1585

    По умолчанию

    Спасибо. Уже созрел план как соединить iMacros и эту штуку. Аймакросом собираем поля, далее макрос обрабатываем спец. скриптом и получаем код для этого. И тогда можно делать серверные спамилки. Вопрос.

    Как работать с капчами на этой штуке?
    что такое минисайт, комментируем. Так же есть блог о сео, и ещё один блог о сео

  4. #3
    Senior Member Аватар для LIME
    Регистрация
    02.09.2009
    Сообщений
    437
    Поинтов: 372

    По умолчанию

    Цитата Сообщение от noxon.su Посмотреть сообщение
    Спасибо. Уже созрел план как соединить iMacros и эту штуку. Аймакросом собираем поля, далее макрос обрабатываем спец. скриптом и получаем код для этого. И тогда можно делать серверные спамилки. Вопрос.

    Как работать с капчами на этой штуке?
    Опять ты глупости какие-то выдумываешь Зачем объединять iMacros и XHE? iMacros по сравнению с ним детская игрушка, и все, что есть в ай-макросе, хуман сможет сделать гораздо лучше, тем более, парсить сорцы и собирать поля.

    Для каптчи можно сделать всплывающий промпт, а можно подрубить антикаптчу.

  5. Пользователь сказал cпасибо:

    CrazyStudentS_MiX(01.10.2009),
  6. #4
    Junior Member
    Регистрация
    30.11.2009
    Сообщений
    2
    Поинтов: 2

    По умолчанию

    Кто может рассказать , как правильно обрабатывать список прокси для Кседанта ? Никак не получается сделать это правильно

  7. #5
    Member Аватар для ne0zx
    Регистрация
    02.09.2009
    Сообщений
    79
    Поинтов: 65

    По умолчанию

    Цитата Сообщение от noxon.su Посмотреть сообщение
    Спасибо. Уже созрел план как соединить iMacros и эту штуку. Аймакросом собираем поля, далее макрос обрабатываем спец. скриптом и получаем код для этого. И тогда можно делать серверные ****илки. Вопрос.

    Как работать с капчами на этой штуке?
    $image->save_to_file_by_number(3,"C:\\captcha.jpg");
    $captcha = $image->recognize_by_anticaptcha("","C:\\captcha.jpg", $captchakey,"http://www.antigate.com");
    $input->set_value_by_number("0", $captcha);

    3 и 0 тут - это номера картинок и поля ввода. Отладка -> пронумеровать (берутся там).


    Юзаем каждый прокси по 5 раз, не проверял но должно работать:

    $proxyz=file("proxy.txt");
    $counter1 = 0;
    $counter2 = 0;
    (for $i=0 блаблабла цикл до 100)
    {
    $proxy=rtrim($proxy[$counter1]);
    if ($counter2++ > 5)
    $counter1++;
    $browser->enable_proxy("all connections",$proxy);

    }

  8. #6
    Senior Member Аватар для dendesoft
    Регистрация
    19.09.2009
    Адрес
    Украина
    Сообщений
    274
    Поинтов: 241

    По умолчанию

    А как почту в ней разбирать? если нужно ссылку активации кликнуть?
    Блог Азартного Манимейкера - все что я думаю о бизнесе в Интернете.

  9. #7
    Member Аватар для ne0zx
    Регистрация
    02.09.2009
    Сообщений
    79
    Поинтов: 65

    По умолчанию

    указываем мыло как $nick.'@asdasd.ru'

    Пример подтверждения ссылки от реги укоза:

    $browser->navigate("http://www.asdasd.ru/?from=noreply&dfrom=unet.com&to=".$nick);
    $browser->wait(1);
    $anchor->click_by_number("2");
    $anchor->click_by_number("2");
    $browser->wait_for(240,1);
    $txt = $webpage->get_body();
    $txt = substr($txt,strpos($txt,'по этой ссылке'),strpos($txt,'Если переход '));
    $txt = substr($txt,19,strpos($txt,'Если переход '));
    $link = substr($txt,0,strpos($txt,'Если')-5);
    $link = substr($txt,0,strpos($txt,'<BR'));

    $browser->navigate(htmlspecialchars_decode($link));
    $browser->wait_for(240,1);


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

  10. Пользователь сказал cпасибо:

    dendesoft(01.12.2009),
  11. #8
    Member Аватар для maxmaster
    Регистрация
    03.09.2009
    Сообщений
    53
    Поинтов: 46

    По умолчанию

    применил скрипт - пишет
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 98304 bytes) in C:\Program Files\XWeb\Human Emulator\Templates\xweb_human_emulator.php on line 53
    Кто что может подсказать?

  12. #9
    Senior Member Аватар для HenzO
    Регистрация
    04.12.2009
    Адрес
    Хочу жить не тут
    Сообщений
    216
    Поинтов: 259

    По умолчанию

    Народ, есть у меня к вам два вопроса на счет хне.
    1. Нужно ставить галку аля "С правилами согласен". Но иногда галка стандартно стоит, как сделать, чтобы хуман эмулятор ставил галку только тогда, когда ее нету?
    2. Как скопировать текст со страницы и вставить его в поле? Если можно на примере. А именно нужно скопировать текст со страницы из <тег>текст</тег> и скопировать его в буфер или сохранить в файл.
    Последний раз редактировалось HenzO; 01.06.2010 в 23:11.

  13. #10
    Junior Member
    Регистрация
    08.06.2010
    Сообщений
    3
    Поинтов: 3

    По умолчанию

    интересует экспорт библиотек XHE для использования отдельно от самой проги работы. Если можете помочь (естественно небесплатно), жду в асе 435268826

 
 
Похожие темы Рейтинг Раздел Ответов Последний пост
    Пишу скрипты.
     
    Реклама 11 24.08.2010 06:26
    Учимся раскручивать Twitter аккаунт
     
    Дайджест блогосферы 7 03.04.2010 12:49
    Трейд скрипты для CJ
     
    Адалт и дейтинг 20 20.01.2010 00:01
    Доры / Прокладки by Enterprise Wiki. Учимся и делаем.
     
    Дорвеи 9 17.11.2009 10:28
    Какие движки сами пингуют о новых статьях?
     
    Прочее 18 25.09.2009 11:47
Сейчас на сайте:
пользователей и 
129
 гостей
Пользователей:
6,031
Сообщений:
97,161
Тем:
6,096
Футболка webmasters бесплатно