Скрипты, которые не попадают ни в одну тему выше.
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 00:26
Решил поделится своими скриптами, которые накопились у меня в папке My Scripts.
Выкладываю только свои скрипты. На скрипты наших клиентов действует полная и безоговорочная конфиденциальность и гарантия их не использования в любых целях.
К сожалению не все скрипты рабочие, но думаю всё равно будут полезны.
Начнём с очень простого скрипта:
Код: Выделить всё
<?php
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");
// navigate to google
$browser->navigate("http://www.google.com");
// wait on browser
$browser->wait(1);
$input->set_value_by_name('q','хуман');
$button->click_by_name('btnG');
$browser->wait_for(30,1);
// Quit
$app->quit();
?>
Этот скрипт переходит на google вбивает в поисковое поле запрос "хуман" и нажимает на кнопку Поиск.
Последний раз редактировалось
igvard 04 сен 2010, 00:36, всего редактировалось 1 раз.
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 00:35
С помощью этого скрипта я собирал наш help с сайта.
Код: Выделить всё
<?php
require("../Templates/xweb_human_emulator.php");
// папка куда писать результаты
$folder ="D:\\work\\help_en\\";
// имя файла
$name = "functions";
// префиксы для получения текста
$prefix1="Edit ";
$prefix2 = "Вернуться к списку команд";
////////////////////////////////// доп функции ////////////////////////////////////////////////////////
// получить нужный текст
function parse_text($body_text,$pref1,$pref2)
{
$ind = strpos($body_text,$pref1);
$ind1 = strpos($body_text,$pref2,$ind);
$res = substr($body_text, $ind+ strlen($pref1),$ind1-$ind-strlen($pref1));
return $res;
}
// добавить в файл
function add_file($path,$page_body)
{
$file=fopen($path,"a+");
fputs($file,$page_body);
// close out file
fclose($file);
}
////////////////////////////////// выполнение скрипта ////////////////////////////////////////////////////////
for($i=11;$i<480;$i++)
{
// navigate to google
$browser->navigate("https://xn--80awbbeioodeq4h3a.xn--p1ai/23");
// wait on browser
$browser->wait(1);
// переходим на страничку описания функции
$anchor->click_by_number($i);
$browser->wait_for(30,1);
// получить текст документа
$text = $webpage->get_document_body("false");
// записать его в файл
$textfile->write_file("c://1.txt",$text,0) ;
// разобрать и найти нужный нам кусок
$text=parse_text($text,$prefix1,$prefix2);
// запишем в файл
add_file($folder.$name.".txt" ,$text) ;
}
// Quit
$app->quit();
?>
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 00:41
Пример работы с авторизацией.
Код: Выделить всё
<?php
// The following code is required to properly run Xedant.com Human Emulator
require("../Templates/xweb_human_emulator.php");
// navigate to форум
$browser->navigate("https://xn--80awbbeioodeq4h3a.xn--p1ai/forum");
// wait on browser
$browser->wait(1);
// тут вы задаёте свои логин и пароль на наш форум
$browser->set_default_authorization("ваш_логин","ваш_пароль");
// navigate to форум
$browser->navigate("https://xn--80awbbeioodeq4h3a.xn--p1ai/forum");
// wait on browser
$browser->wait(1);
// Quit
$app->quit();
?>
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 00:47
Функция генерации accept строки:
Код: Выделить всё
<?php
// The following code is required to properly run Xedant.com Human Emulator
require("../Templates/xweb_human_emulator.php");
// функция генерации логина
function generate_accept($len)
{
$r = "";
$allowedSymbols = array("text/html", "image/png", "image/jpeg", "image/gif", "image/x-xbitmap","text/plain", "q=0.5", "text/html", "text/x-dvi", "q=0.8", "text/x-c","audio/*","q=0.2", "audio/basic","image/gif", "image/x-xbitmap", "image/jpeg", "image/pjpeg", "application/x-shockwave-flash", "application/vnd.ms-excel", "application/vnd.ms-powerpoint", "application/msword","*/*");
for ($i=0; $i<$len; $i++)
{
$rand=array_rand($allowedSymbols);
$rand=array_rand($allowedSymbols);
$r.=$allowedSymbols[$rand].",";
}
$r = substr($r,0,strlen($r)-1);
$r="Accept: ".$r.";";
return $r;
}
$browser->set_accept(generate_accept(rand(3,9)) );
// Quit
$app->quit();
?>
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 00:50
Вход в почту rambler и выбор текста с форматированием и без форматирования для написания письма.
Код: Выделить всё
<?php
// The following code is required to properly run Xedant.com Human Emulator
require("../Templates/xweb_human_emulator.php");
$browser->navigate('http://www.mail.rambler.ru ');
$browser->wait_for(240,1);
$input->set_value_by_name('login',тут ваш логин на rambler);
$input->set_value_by_name('passw','тут пароль');
// зайти в почту
$button->click_by_name('submit');
$browser->wait_for(240,1);
$anchor->click_by_inner_text('Написать письмо','true');
$browser->wait_for(240,1);
$anchor->click_by_inner_text('Текст с форматированием','true');
$browser->wait_for(240,1);
sleep(5);
$browser->enable_browser_message_boxes("false");
$anchor->click_by_inner_text('Текст без форматирования','true');
$browser->wait_for(240,1);
// Quit
$app->quit();
?>
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 00:55
Это что то элементарное по работе я yandex почтой.
Код: Выделить всё
<?php
// The following code is required to properly run Xedant.com Human Emulator
require("../Templates/xweb_human_emulator.php");
$browser->navigate('www.yandex.ru ');
$browser->wait_for(240,1);
$element->click_on_element_by_inner_text('логин');
$browser->wait_for(240,1);
$anchor->click_by_inner_text('Завести почтовый ящик','true');
$browser->wait_for(240,1);
$input->set_value_by_name('iname','xh');
$input->set_value_by_name('iname','ива');
$input->set_value_by_name('fname','фава');
$input->set_value_by_name('login','xhe');
$element->click_on_element_by_inner_text('@yandex.ru');
$browser->wait_for(240,1);
$button->click_by_name('done');
$browser->wait_for(240,1);
$input->set_value_by_name('passwd','simnar');
$input->set_value_by_name('passwd2','simnar');
$listbox->select_name_by_inner_name('hintq','2');
$input->set_value_by_name('hinta','Борщ');
$input->set_value_by_name('code','12774');
$btn->click_by_inner_text('Зарегистрировать');
$browser->wait_for(240,1);
$anchor->click_by_inner_text('Начать пользоваться Почтой','true');
$browser->wait_for(240,1);
$element->click_on_element_by_inner_text('Написать');
$browser->wait_for(240,1);
$element->click_on_element_by_inner_text('С оформлением');
$browser->wait_for(240,1);
$element->click_on_element_by_inner_text('Просто текст');
$browser->wait_for(240,1);
$browser->refresh();
$browser->wait_for(240,1);
// Quit
$app->quit();
?>
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 01:09
пример использования $browser->send_post_query функции:
Код: Выделить всё
<?php
// The following code is required to properly run Xedant.com Human Emulator
require("../Templates/xweb_human_emulator.php");
$content = 'tut u nas post';
$post = array(
"title" => "urra",
"elm" => $content,
"tags" => "",
"category" => "",
"content" => $content,
"varname" => $varname,
$varname => $varvalue,
);
$post = http_build_query($post);
echo $browser->send_post_query("страница на которую передаём пост запрос", $post);
// Quit
$app->quit();
?>
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 01:21
пример в котором используеться работа с данными браузера, прокси и т.д.
для работы скрипта нужны файлы
c:\\useragent.txt, в котором 10 строчек с user agent строками
c:\\proxy.txt, в котором хранятся 10 проксей
Код: Выделить всё
<?php
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");
for ($iproxy = 0; $iproxy <= 10; $iproxy++)
{
// задаём данные браузера
$user_agent = $textfile->get_line_from_file("c:\\useragent.txt","true",rand(1,10),60);
echo $user_agent."<br>" ;
$browser->set_user_agent($user_agent, true);
$browser->set_accept_charset("ru,en-us;q=0.7,en;q=0.3");
$browser->set_accept_language("windows-1251,utf-8;q=0.7,*;q=0.7");
// прокси
$proxy_string = $textfile->get_line_from_file("c:\\proxy.txt","false",$iproxy,60);
$browser->enable_proxy("all connections",$proxy_string);
echo "proxy $iproxy: ".$browser->get_current_proxy("all connections")." ";
// проверить прокси на соединение с гугль
if ($browser->check_connection("http://www.google.ru/", 30))
{
echo "есть соединение<br>";
}
else
{
echo "нет соединения";
continue;
}
// запрос
$input->set_value_by_name('q','human emulator');
$button->click_by_name('btnG');
$browser->wait_for(30,5);
// тут что то делаем с результатами поиска, например переходим на нужный нам сайт.
// очистка данных браузере
$browser->clear_cache();
$browser->clear_cookies("");
$browser->clear_history();
$browser->close();
echo "<br><br>";
//
}
// Quit
$app->quit();
?>
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 01:26
Пример скрипта, который работает с панелью погресса главного окна программы. Этот прогресс отображается в панели статуса Хуман Эмулятора и с помощью него можно следить за процессом выполнения скрипта.
Код: Выделить всё
<?php
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");
// задать интервал прогресса и его шаг
$app->set_progress_range(0,100,10);
// обнулить прогресс
$app->set_progress_pos(0);
// показать прогресс
$app->show_progress_bar(true);
// цикл прогресса
for($i=0;$i<10;$i++)
{
// сделать шаг
$app->step_progress();
sleep(1);
echo "номер шага прогресса :".$i."<br>";
}
// обнулить прогесс
$app->set_progress_pos(0);
// скрыть прогресс
$app->show_progress_bar(false);
// Quit
$app->quit();
?>
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 01:36
малюсенький скрипт проверки тиц у сайта
Код: Выделить всё
<?php
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");
// руские буковки
echo $seo->get_yandex_tiz("antika-club.org");
// Quit
$app->quit();
?>
-
igvard
- Site Admin
- Сообщения: 241
- Зарегистрирован: 31 июл 2008, 22:53
Сообщение
igvard » 04 сен 2010, 01:47
Скрипт, который гуляет по сайтам. Нашли сайт в поисковике, перешли на него, а через него перешли на другой сайт.
Код: Выделить всё
<?php
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");
for($i=0;$i<2;$i++)
{
// navigate to google
$browser->navigate("http://www.yandex.ru");
// wait on browser
$browser->wait(1);
$input->set_value_by_name('text','скрипты для хумана');
$button->click_by_number(0);
$browser->wait_for(60,1);
$anchor->click_by_inner_text('Заметки одного программиста...',false);
$browser->wait_for(60,1);
$anchor->click_by_inner_text('АК Антика',false);
$browser->wait_for(60,1);
}
$browser->close_all_tabs();
// Quit
$app->quit();
?>