понедельник, 7 мая 2012 г.

1-й этап Чемпионата Украины по ралли - ралли "Галиция" 2012. Финиш. | CO-DRIVER.IN.UA

Второй день ралли начался с СУ7 Жидачив длиной 4,15 км. Этот доп выигрывает экипаж команды Dream Team Ukraine Салюк-мл./Червоненко. Вторым на финиш СУ приходит экипажКочмар/Коваль, проиграв победителю допа 1.1 секунды. Третьим приходит ещё один пилот Dream Team UkraineВиталий Пушкарь, который опередил пришедшего следом за ним Валерий Горбань на 3.4 секунды. Таким образом после перевого же допа дня отрыв между Горбанем и Пушкарёмсократился до 9.5 секунды. 

Вторым спецучастком дня стал СУ8 Красив протяжённостью 10,92 км. Гонщики приходят на финиш допа в том же порядке: первый Салюк-мл., за ним через 5.3 секунды Юрий Кочмар, далее через 0.5 секунды приходит Виталий Пушкарь, следом Валерий Горбань, проиграв Пушкарю 3.3 секунды. После этого допа отрыв Горбаня от Пушкаря в абсалютном зачёте ралли составил 6.2 секунды. 

СУ9 Стильское длиной 16,77 км. Червёрка лидеров допа опять таже только на этот раз Пушкарьприходит сразу за Салюком-Мл., опередив Кочмара на 0.6 секунды, которому Горбань в свою очередь проиграл 0.9 секунды. В борьбе за второе место в абсалюте гонки отыграно ещё 1.5 секундыи разрыв между Горбанем и Пушкарём сократился до 4.7 секунды. 


1-й этап Чемпионата Украины по ралли - ралли "Галиция" 2012. Финиш. | CO-DRIVER.IN.UA

понедельник, 21 февраля 2011 г.

Дополнительные функции для Human Emulator

Чем удобен Хуман Эмулятор? Тем что в нём можно использовать любые php функции или php скрипты. Это делает программу реально гибкой и многофункциональной. Ниже приведены функции которые я использовал для написания одного из своих скриптов.

<?php

// //////////////////////////////// доп функции ///////////////////////////////////////////////////////////

// получить нужный текст. Используя последний параметр функцию можно вызывать много раз проходя по тексту файла или страницы пока последний параметр не станет равен -1.
function parse_text($body_text,$pref1,$pref2,$start_ind)
{
global $start_ind;
$ind = strpos($body_text,$pref1,$start_ind);
$ind1 = strpos($body_text,$pref2,$ind);

$res = substr($body_text, $ind+ strlen($pref1),$ind1-$ind-strlen($pref1));

$start_ind=$ind1;

return $res;
}

// получить нужный текст
function parse_text1($body_text,$pref1,$pref2,$start_ind)
{
global $start_ind;
$ind = strpos($body_text,$pref1,$start_ind);
//echo "ind = ".$ind."<br>";

if($ind===FALSE)
{
$start_ind=$ind;
return;
}

$ind1 = strpos($body_text,$pref2,$ind);

$res = substr($body_text, $ind ,$ind1-$ind+strlen($pref2));

$start_ind=$ind1;

return $res;
}

// получить нужный текст
function simple_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);
}
// получить заголовок и текст
function get_title_and_post($preftitle1,$preftitle2,$prfix1,$prfix2,$page_title,$page_post,$fld)
{
global $webpage,$page_title,$page_post,$textfile,$start_ind;
// получить body как текст
$page_body = $webpage->get_document_body(true);
$start_ind=0;
// получить заголовок
$page_title = parse_text($page_body,$preftitle1,$preftitle2,$start_ind);
$page_title = trim($page_title);
//echo "
";
// получить post
$page_post = parse_text($page_body,$prfix1,$prfix2,$start_ind);
$page_post = trim($page_post);

$page_post = replace_links($page_post,$fld);
// уберём лишнее
$page_post = str_replace("==========","====",$page_post);
}

// получить заголовок и текст
function get_text_title_and_post($preftitle1,$preftitle2,$prfix1,$prfix2,$filename)
{
global $webpage;
// получить body как текст
$page_body1 = $webpage->get_document_body(false);

// уберём лишнее
$page_post2 = str_replace("==========","",$page_post2);

// получить заголовок
$page_title2 = simple_parse_text($page_body1,$preftitle1,$preftitle2);
$page_title2 = trim($page_title2);

// получить post
$page_post2 = simple_parse_text($page_body1,$prfix1,$prfix2);
$page_post2 = trim($page_post2);


add_file($folder =".\\site\\".$filename.".txt",$page_title2."\n\n".$page_post2."\n\n") ;

}

// получить страницу по шаблону
function get_template($repl1,$repl2)
{
global $tmp,$page_title,$page_post;
// собрать готовую страницу
$temp = str_replace("TEXT_TITLE",$page_title,$tmp);
$temp = str_replace("TEXT_POST",$page_post,$temp );
$temp = str_replace('',$repl1,$temp);
$temp = str_replace('',$repl2,$temp );

return $temp;
}

// добавить в файл php подсветку
function set_php($page_post1)
{
global $webpage,$textfile,$start_ind,$app;

// получить body как текст
$page_text = $webpage->get_document_body(false);

$php_text = parse_text($page_text,"",0);

$php_text = str_replace("'","\\'",$php_text);
$php_text =" \n <?php highlight_string('<?php \n".$php_text."\n?>'); ?> \n";

$start_ind = strpos($page_post1,"Пример");
$page_php_text = parse_text($page_post1,"<DIV class=wp_syntax>","</PRE></DIV></DIV>",$start_ind);

$page_post1 = str_replace($page_php_text,$php_text,$page_post1);

$start_ind =0;
return $page_post1;
}

// заменить все ссылки
function replace_links($page_post,$fld)
{
global $obj_title,$start_ind;
// по всем ссылкам
$pr1 = '<A href="';
$pr2 = '</A>';
$pr3 = '">';

$start_ind=0;
while($start_ind!==FALSE)
{
// получить ссылку
$link1 = parse_text1($page_post ,$pr1,$pr2,$start_ind);
$link1."<br>";

$href1=simple_parse_text($link1,$pr1,$pr3);
$lnk_text=simple_parse_text($link1,$pr3,$pr2);


if( strtolower($lnk_text)==$obj_title)
{
$lnk = str_replace($href1,$fld.".php",$link1);
$page_post = str_replace($link1,$lnk ,$page_post);
continue;
}

$lnk = str_replace($href1,$fld."/".$lnk_text.".php",$link1);

$page_post = str_replace($link1,$lnk ,$page_post);
}

return $page_post;
}
?>

понедельник, 14 февраля 2011 г.

Перевод сайта на другой язык с помощью Human Emulator.

Иногда возникает потребность перевести ваш сайт на другой язык. Это можно сделать используя переводчик Googlе, естественно, качество такого перевода оставляет желать лучшего, но бывает достаточно и такого перевода. Ниже приведён скрипт который делает из русского сайта английский.


<?php

$xhe_host ="127.0.0.1:7010";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

// //////////////////////////////////////////// функции ////////////////////////////////

// перевести текст
function translate($text_translate)
{
if($text_translate=="")
return "";

global $browser,$textarea,$listbox,$button,$element,$webpage;

$browser->navigate('http://translate.google.com/#ru|en|');
$browser->wait_for(60,1);

$textarea->click_by_name('text');
$textarea->set_value_by_name('source',$text_translate);

$button->click_by_name('gt-submit');
$browser->wait_for(60,1);

$text_res = $element->get_element_innerText_by_name("result_box");

// если не получили подождём и получем ещё раз - пока не получим перевод переводим
while($text_res=="")
{

$browser->navigate('http://translate.google.com/#ru|en|');
$browser->wait_for(60,1);

$textarea->click_by_name('text');
$textarea->set_value_by_name('source',$text_translate);

$button->click_by_name('gt-submit');
$browser->wait_for(60,1);

$text_res = $element->get_element_innerText_by_name("result_box");
}

return $text_res;
}

// //////////////////////////////////////////////////////////////////////////////////////////

// папка с результатами
$fld = "site\\eng\\";

$textfile->get_all_files_in_folder("site\\rus\\",'1.txt','true','false',10);

// получить список всех файлов в массив
$files = file('1.txt');
echo count($files)."
";
// пройтись по всем файлам
for($i=0;$i<count($files);$i++)
{
echo $files[$i].">br>";

// читаем файл
$str1 = $textfile->read_file(trim($files[$i]),10) ;

//echo $str1;
// перевести
echo $str1 = translate($str1 );
// получить путь для нового файла
$path_txt = str_replace("\\rus\\","\\eng\\",trim($files[$i]));

echo $path_txt.">br>";
// запишем файл
$textfile->write_file($path_txt,$str1,0) ;
}

// Quit
$app->quit();
?>

четверг, 10 февраля 2011 г.

Заработать с помощью Хумана.

Теперь каждый желающий может заработать с помощью программы Human Emulator. Для это всего лишь нужно зарегистрироваться в партнерской программе, раскидать ссылки по своим ресурсам и получать с каждого пришедшего по этой ссылке и купившего 30% от стоимости купленного пакета.
Зарегаться можно тут

Партнерский интерфейс тестировался только в Google Chrome, в Firefox регистрация пока не работает. Всё остальное, от регистраций продаж и до отслеживания переходов, протестировано и настроено под все браузеры. По любым вопросам касательно партнёрки можно писать на мыло sales@humanemulator.info либо в ICQ 420-444-071.

Не упустите свой шанс заработать!

среда, 9 февраля 2011 г.

Набросок парсера для интернет магазина.

Вот тут со мной любезно поделились наброском парсера для интернет магазина.


<?php

$xhe_host ="127.0.0.1:7010";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

// переходим на магазин
$browser->navigate("http://www.mobitrade.ua/pckomp/hdd/HP.html");
$browser->wait_for(30,1);

// получим все ссылки купить
$urls = $anchor->get_all_urls_by_inner_text("Купить","<br>");
// преобразуем в массив
$urls = explode ("<br>",$urls);
// для всех урл
for($i=0;$i{
// перейдём по ссылке
$browser->navigate($urls[$i],true);
$browser->wait_for(30,1);

sleep(1);
// получить заголовок
$title = $webpage->get_body_inter_prefix('<A class=zoomer title="','href="javascript',$as_html=true);
$title = substr($title, 0, strlen($title)-1);

// сохранить картинку товара
$path = "C:\\".$title.".jpg";
$image->save_to_file_by_name('sale_image', $path);

// вывести в окно отладки заголовок и текст
echo $title."
";
echo $webpage->get_body_inter_prefix('<DIV class=title','</DIV></DIV></DIV>',$as_html=true);
echo "<br><br>";
}

// Quit
$app->quit();
?>