Если вы столкнулись с задачей сбора базы сайтов на движке WordPress, то вам пригодится наше решение. Скрипт, собирающий WordPress сайты в кратчайшие сроки соберет вам актуальную базу автоматически и без вашего участия. Вы получите лишь готовый результат без трудозатрат.

Скрипт работает следующим образом: берёт ключи из файла с поисковыми фразами и вводит их в поле поиска google. Затем разбирает поисковые результаты Google на ссылки. Переходит по ссылкам и проверяет действительно это WordPress или нет. Если сайт прошёл проверку добавляет его в наш список WordPress сайтов. В конце скрипт удаляет дубликаты из списка. И у вас на руках уникальная база WordPress сайтов. С помощью добавления в скрипт дополнительных проверок вы сможете отфильтровать список для ваших целей.

На входе скрипт принимает файл с поисковыми фразами в формате:

/wp-admin/
/wp-admin/ seo
/wp-admin/ ceo
/wp-admin/ sites
wordpress сайты

На выходе получаем файл со списком WP сайтов в формате:

wordpress.org
fr.wordpress.org
t-prod.net
wordpress.buldozer.fr
wp-admin.org.ua
wordpresso.org
nerdfrat.com
fr.forums.wordpress.com
… и т.д.

Настройки скрипта:


// файл с данными для скрипта
$keys = file("data/keys.txt");
// файл с результатами
$res_path="res/wp_sites.txt";
// глубина прохода в поисковые результаты
// со скольких страниц собирать ссылки прежде чем перейти к следующему запросу
// если нужно собирать все ссылки надо просто задать этот параметр =  -1
$cnt_pages = 30;

Сам скрипт выглядит следующим образом:

set_default_authorization("","");

// создать второй браузер
$browser->set_count(2);
// удалим дубликаты в результирующем файле
dedupe($res_path);
// кол-во
for($ii=0;$iinavigate("google.com");

   // задаём слово в поиск
   $input->set_value_by_name("q",$key);
   $input->click_by_name("q");
   // нажмём пробел для отключения всплывшей подсказки
   $keyboard->send_key(32,true);

   // нажать enter
   $keyboard->send_key(13,true);

	// ждём
	sleep(1);
 
   // обнулим перед следующим проходом
	$crnt_page=1;
	
   while(true)
   {
		 // получим все ссылки на сайты заключённые в тэгах 
		 $sites=$webpage->get_body_inter_prefix_all("","");
		 $sites=explode("
",$sites); $browser->set_active_browser(1); // пройдёмся по всем полученным ссылкам for($i=0;$i","",trim($sites[$i])); $site=str_replace("","",$site); if($site=="") continue; // вывод в панель отладки debug_mess("ссылка на сайт : ".$site); // проверить найденный сайт это wp или нет check_wp($site); } // сделать активным главный $browser->set_active_browser(0); // не перешли на следующую страницу if(!next_page($crnt_page)) break; } // удалим дубликаты в файле с результатами dedupe($res_path); } debug_mess(date("\[ d.m.y H:i:s\] ")." скрипт закончил работу"); // Quit $app->quit(); ?>

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

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

Один комментарий

    Constantine Anonimaus

    Не работает.

Добавить комментарий

*
*

Необходимые поля отмечены*