XHE - учимся писать скрипты сами

(Ответов: 10, Просмотров: 14405)
Страница 1 из 2 12 Последняя
  1. Опытный Аватар для LIME
    • Регистрация: 02.09.2009
    • Сообщений: 420
    • Репутация: 16
    Небольшой ликбез по 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$_$Usernametype="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
    • 3

    Спасибо сказали:

    acmilan(11.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), ROMASA464(08.09.2013), vikiana(12.09.2009), Вадим(02.05.2012),
  2. Banned
    • Регистрация: 08.09.2009
    • Сообщений: 1,478
    • Репутация: 80
    • Webmoney BL: ?
    Спасибо. Уже созрел план как соединить iMacros и эту штуку. Аймакросом собираем поля, далее макрос обрабатываем спец. скриптом и получаем код для этого. И тогда можно делать серверные спамилки. Вопрос.

    Как работать с капчами на этой штуке?
    • 0
  3. Опытный Аватар для LIME
    • Регистрация: 02.09.2009
    • Сообщений: 420
    • Репутация: 16
    Цитата Сообщение от noxon.su Посмотреть сообщение
    Спасибо. Уже созрел план как соединить iMacros и эту штуку. Аймакросом собираем поля, далее макрос обрабатываем спец. скриптом и получаем код для этого. И тогда можно делать серверные спамилки. Вопрос.

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

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

    Спасибо сказали:

    CrazyStudentS_MiX(01.10.2009),
  4. Banned
    • Регистрация: 30.11.2009
    • Сообщений: 3
    • Репутация: 10
    Кто может рассказать , как правильно обрабатывать список прокси для Кседанта ? Никак не получается сделать это правильно
    • 0
  5. Member Аватар для ne0zx
    • Регистрация: 03.09.2009
    • Сообщений: 77
    • Репутация: 14
    Цитата Сообщение от 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);

    }
    • 0
  6. Опытный Аватар для dendesoft
    • Регистрация: 20.09.2009
    • Сообщений: 291
    • Записей в дневнике: 1
    • Репутация: 8
    • Webmoney BL: ?
    А как почту в ней разбирать? если нужно ссылку активации кликнуть?
    Блог Азартного вновь в строю. Лучшее о бизнесе в Интернете, SEO и заработке.
    • 0
  7. Member Аватар для ne0zx
    • Регистрация: 03.09.2009
    • Сообщений: 77
    • Репутация: 14
    указываем мыло как $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);


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

    Спасибо сказали:

    dendesoft(02.12.2009),
  8. Студент Аватар для maxmaster
    • Регистрация: 03.09.2009
    • Сообщений: 92
    • Репутация: 15
    • Webmoney BL: ?
    применил скрипт - пишет
    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
    Кто что может подсказать?
    • 0
  9. Дипломник Аватар для HenzO
    • Регистрация: 04.12.2009
    • Сообщений: 220
    • Репутация: 8
    Народ, есть у меня к вам два вопроса на счет хне.
    1. Нужно ставить галку аля "С правилами согласен". Но иногда галка стандартно стоит, как сделать, чтобы хуман эмулятор ставил галку только тогда, когда ее нету?
    2. Как скопировать текст со страницы и вставить его в поле? Если можно на примере. А именно нужно скопировать текст со страницы из <тег>текст</тег> и скопировать его в буфер или сохранить в файл.
    Последний раз редактировалось HenzO; 02.06.2010 в 02:11.
    • 0
  10. Дипломник
    • Регистрация: 08.06.2010
    • Сообщений: 103
    • Репутация: 27
    интересует экспорт библиотек XHE для использования отдельно от самой проги работы. Если можете помочь (естественно небесплатно), жду в асе 435268826
    • 0
Страница 1 из 2 12 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
Пишу скрипты.
Реклама партнерских программ 11 24.08.2010 09:26
Учимся раскручивать Twitter аккаунт
Дайджест блогосферы 7 03.04.2010 15:49
Трейд скрипты для CJ
Адалт и дейтинг 20 20.01.2010 03:01
Доры / Прокладки by Enterprise Wiki. Учимся и делаем.
Дорвеи и black SEO 9 17.11.2009 13:28
Какие движки сами пингуют о новых статьях?
Прочее 18 25.09.2009 14:47

Интересные темы

спамилки

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

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры