Версия программы: Human Emulator Studio 7.0.50.
Браузер: Chromium и Firefox.
Логика: Получаем поисковые запросы из файла. Вводим их в поиск Rambler.ru и разбираем выдачу на заданную глубину в файл с именем запроса.
Скрипт состоит:
Запускаемый файл parser_rambler.php. В файле functions.php прописаны подключаемые команды.
В папку res записываются файлы с результатами разбора. Имя файла ключевой запрос.txt, содержимое одна строка один url из выдачи.
В папке data лежит файл с запросами для поиска keys.txt в формате одна строка один запрос.
Скачать скрипт:
Настройки скрипта:
// файл с данными для скрипта $keys = file("data/keys.txt"); // папка с результатами $path_to_res = $debug->get_cur_script_folder().'res\\'; // глубина прохода в поисковые результаты $cnt_pages = 10; // скрипт работает в режим отладки $dbg = true;
Сам скрипт:
// /////////////////////// скрипт /////////////////////////////////////////// // кол-во for($ii=0;$ii<count($keys);$ii++) { // получить запрос $key = trim($keys[$ii]); // перейти на рамблер $browser->navigate("rambler.ru"); $input->send_keyboard_input_by_name("query",$key."\n", "20:40"); // ждём sleep(1); // обнулим перед следующим проходом $crnt_page=1; while(true) { // получим все ссылки на сайты заключённые в тэгах <cite> $sites=$webpage->get_body_inter_prefix_all("Serp__item__title","</h2>"); // получим массив ссылок из строки $sites=explode("<br>",$sites); // пройдёмся по всем полученным ссылкам for($i=0;$i<count($sites);$i++) { // переходим на сайт $site=get_string(trim($sites[$i]),"href=\"","\" "); if($site=="") continue; // вывод в панель отладки //debug_mess("ссылка на сайт : ".$site); debug_mess("путь к файлу : ".$path_to_res.$key.".txt"); // записываем результат в файл $textfile->add_string_to_file($path_to_res.$key.".txt", trim($site)."\r\n", 60); } // не перешли на следующую страницу if(!next_page($crnt_page)) break; } }
Если скрипт не работает надо проверять префиксы вот в этом коде разбора выдачи аналогично как это описано в парсере яндекса:
// получим все ссылки на сайты заключённые в тэгах <cite> $sites=$webpage->get_body_inter_prefix_all("Serp__item__title","</h2>");