Скрипт Human Emulator cборщик DLE сайтов

Предлагаем вашему вниманию скрипт сборщик DLE (DataLife Engine) сайтов. Этот скрипт написан на основе скрипта сборщика каталогов и демонстрирует как легко можно самом переделать сборщик под любые типы сайтов. Достаточно ввести правильный запрос в Google и выбрать нужные критерии для проверки движка сайта.

Теперь рассмотрим детальнее что именно отличает этот сборщик.

Первое это поисковый запрос. Он в скрипте выглядит так:

// задаём слово в поиск
$input->set_value_by_name("q","index.php?do=register");

Страница регистрации в DLE сайтах вызывается следующим запросом — http://domen.com/index.php?do=register. Значит ищем сайты где есть такие страницы.

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

// проверить что это форма заполнения 
$cnt = $input->get_count($frame=-1);
if($cnt>=4){}

Если на странице есть 4 и более поля ввода мы получаем текущий url страницы и перед тем как записывать в файл проверяем, что это именно та страница которая нам нужна:

     // проверить что это форма заполнения 
     $cnt = $input->get_count($frame=-1);
     if($cnt>=4)
     {
         // запишем ссылку на страницу на которой можно добавить сайт
         $dmn = $webpage->get_location_url();
         // добавить сайт в базу
         if(str_isexists($dmn,"index.php?do=register"))
            $textfile->add_string_to_file($file_res,trim($dmn)."\n",60) ;
     } 

Сам скрипт:


$xhe_host ="127.0.0.1:7010";

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

// /////////////////// настройки скрипта ////////////////////////////////////////////////
// путь к файлу с результатами
$file_res ="res/dle_sites.txt";

// глубина прохода в поисковые результаты
$cnt_pages = 10;
$crnt_page =1;

// режим отладки
$dbg=true;
// ///////////////// дополнительные модели //////////////////////////////////
// основные функции
require_once("functions.php");
// //////////////// скрипт //////////////////////////////////////////////////////////////
// задать время ожидания загрузки
$browser->set_wait_params(10,1);  

// navigate to google
$browser->navigate("http://www.google.com");
// wait on browser
$browser->wait_for();
// задаём слово в поиск
$input->set_value_by_name("q","index.php?do=register");
$input->click_by_name("q");
// нажмём на поиск
$keyboard->send_key(13,true);

sleep(1);
// до тех пор пока есть ссылки с цифрами переходим
while(true)
{
    // получим все ссылки на сайты заключённые в тэгах <cite>
    $sites=$webpage->get_body_inter_prefix_all("<cite>","</cite>");
    $sites=explode("<br>",$sites);

    for($ii=0;$iiset_count(2);
		$browser->set_active_browser(1,true);
		
      // перейдём на форму регистрации 
		$browser->navigate($site);

     // проверить что это форма заполнения 
     $cnt = $input->get_count($frame=-1);
     if($cnt>=4)
     {
         // запишем ссылку на страницу на которой можно добавить сайт
			$dmn = $webpage->get_location_url();
         // добавить сайт в базу
         if(str_isexists($dmn,"index.php?do=register"))
            $textfile->add_string_to_file($file_res,trim($dmn)."\n",60) ;
     } 
     
		// закрываем и переходим обратно
		$browser->set_active_browser(0,true);
		$browser->close_all_tabs();
    }
    // не перешли на следующую страницу 
    if(!next_page()) 
      break;
}

// удалить дубликаты
$textfile->dedupe($file_res,$file_res,60);

// Quit
$app->quit();

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

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