Перед нами скрипт, который собирает домены сайтов из выдачи поисковой системы google по заданным ключевым словам. Причём скрипт разбирает выдачу,
разбирая страницу и получая данные из тэгов cite. После этого берётся содержимое полученного массива ссылок и скрипт переходит на каждую ссылку из массива
и уже после перехода получает домен.
На вход скрипт принимает ключевые слова, которые заданны в текстовом файле words.txt в формате:
лучшее кино года
народ и деньги
xweb human emulator
скрипты и тесты
скрипты xhe
хлеба и зрелищ
музыка снов
Скрипт выглядит следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
$xhe_host ="127.0.0.1:7010"; // The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // ////////////////////////////// настройки скрипт /////////////// // ключевые слова $keys = file("words.txt"); // режим отладки $dbg=true; // глубина прохода в поисковые результаты $cnt_pages = 5; // //////////////////////////////// скрипт //////////////////////////////// // пройдёмся по всем ключевым словам for($aa=0;$aacount($keys);$aa++) { // получим ключевое слово $key = trim($keys[$aa]); // navigate to google $browser->navigate("http://www.google.com"); // wait on browser $browser->wait_for(); // задаём слово в поиск $input->set_value_by_name("q",$key); //$input->click_by_atribute("name","q",true); sleep(2); // нажмём на поиск $button->set_focus_by_name(\'btnG\'); $button->click_by_name(\'btnG\'); $browser->wait_for(); sleep(2); // номер ссылки по которой будем кликать $kk=2; // до тех пор пока есть ссылки с цифрами переходим while($anchor->click_by_inner_text($kk,true)) { $browser->wait_for(); // проверка глубины прохода в поисковые результаты if($kk>$cnt_pages) { // вывод в панель отладки debug_mes("прошли $cnt_pages страниц с поисковыми результатами"); break; } // получим все ссылки на сайты заключённые в тэгах cite> $sites=$webpage->get_body_inter_prefix_all("<cite>","</cite>"); // вывод в панель отладки debug_mes("ссылки на сайты :<br>".$sites); $sites=explode("<br>",$sites); for($ii=0;$iicount($sites);$ii++) { // открыть и сделать активным новый браузер $browser->set_count(2); $browser->set_active_browser(1,true); // переходим на сайт $browser->navigate($sites[$ii]); // wait on browser $browser->wait_for(); // запишем домен на который перешли $dmn = $webpage->get_domain(); // если домен не пустой запишем его папку res в текстовый файл // название файла ключевое слово if($dmn!="") $textfile->add_string_to_file("./res/".$key.".txt",$dmn."\n",60) ; // закрываем и переходим обратно $browser->close_all_tabs(); $browser->set_active_browser(0,true); } $kk++; } } // ////////////////////////////// дополнительные модули /////// // выдать сообщение в панель отладки function debug_mes($mess) { global $dbg; // отладочные сообщения if($dbg) echo $mess."<br>"; } // Quit $app->quit(); |
После запуска этого скрипта в папке res появятся файлы с именами в виде ключевых слов,
в которых будут записаны урлы выдачи гугль по данным ключевым словам. Для того что бы скрипт работал быстрее можно отключить всё лишнее в настройках программы.
Картиники, js, active X, frame и т.д.
Скрипт написан 07.02.2012 в Human Emulator 4.4 Advanced.
На момент публикации статьи 08.02.2012 скрипт был рабочий.