Всем привет!
Помогите переделать вот этот скрипт парсинга яндекса для сбора подсказок при вводе ключевых слов в поле поиска.
Заранее спасибо.
Помогите переделать скрипт парсинга яндекса
Re: Помогите переделать скрипт парсинга яндекса
В какой версии программы запускаете скрипт?
Re: Помогите переделать скрипт парсинга яндекса
Для Free скрипт сбора подсказок Яндекса будет выглядеть так :
ТО есть переделали ввод на ввод с клавиатуры, что бы показывались сами подсказки
Результат работы скрипта:
<?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"); // //////////////////////// настройки скрипта ///////////////////////// // файл с данными для скрипта $keys = file("data/keys.txt"); // глубина прохода в поисковые результаты $cnt_pages = 10; // текущая страница $crnt_page =1; // скрипт работает в режим отладки $dbg = true; // //////////////////////// дополнительные модули /////////////// // функции require_once("functions.php"); // /////////////////////// скрипт /////////////////////////////////////////// // кол-во for($ii=0;$ii<count($keys);$ii++) { // получить запрос $ks = trim($keys[$ii]); // перейти на yandex $browser->navigate("yandex.ru"); // зададим запрос //$input->set_value_by_name("text",$ks); $input->set_focus_by_name("text"); $keyboard->send_input($ks); $all = $element->get_all_by_attribute('class','suggest2-item '); print_r($all->get_inner_text()); } // Quit $app->quit(); ?>
ТО есть переделали ввод на ввод с клавиатуры, что бы показывались сами подсказки
// зададим запрос //$input->set_value_by_name("text",$ks); $input->set_focus_by_name("text"); $keyboard->send_input($ks);и собственно сам сбор выглядит как получение по части значения класса. Значение класса можно посмотреть в инспекторе элементов. Кликаем правой кнопкой мыши по интересующему нас элементу, в нашем случае это подсказки и выбираем пункт меню Посмотреть в инспекторе элементов.
$all = $element->get_all_by_attribute('class','suggest2-item '); // вывод в панель отладки print_r($all->get_inner_text());ссылка на описание функции в документации
Результат работы скрипта:
Array ( [0] => купить ботинки в интернете [1] => купить ботинки в интернете недорого [2] => купить ботинки в интернете зимние [3] => купить обувь в интернете [4] => купить обувь в интернете недорого [5] => купить обувь в интернете россия [6] => купить обувь в интернете недорого украина [7] => где купить обувь в интернете [8] => купить обувь в интернете беларусь [9] => купить обувь в интернете с примеркой ) Array ( [0] => интернет магазин обуви [1] => интернет магазин обуви с доставкой по россии [2] => интернет магазин обуви мужской [3] => интернет-магазин обуви с бесплатной доставкой по россии [4] => интернет магазин обуви с доставкой по россии дешево [5] => интернет магазин обуви франческо донни распродажа [6] => интернет магазин обуви рикер распродажа [7] => интернет магазин обуви дешево [8] => интернет магазин обуви кари [9] => интернет магазин обуви рандеву распродажа женской обуви )
Re: Помогите переделать скрипт парсинга яндекса
Спасибо! А как это теперь сохранить в файл?
Re: Помогите переделать скрипт парсинга яндекса
// кол-во for($ii=0;$ii<count($keys);$ii++) { // получить запрос $ks = trim($keys[$ii]); // перейти на yandex $browser->navigate("yandex.ru"); // зададим запрос //$input->set_value_by_name("text",$ks); $input->set_focus_by_name("text"); $keyboard->send_input($ks); $all = $element->get_all_by_attribute('class','suggest2-item '); print_r($all->get_inner_text()); // преобразуем массив в строку $sRes= implode("\r\n", $all->get_inner_text()); // запишем строку в файл 1.txt $textfile->add_string_to_file('1.txt',$sRes); }
Re: Помогите переделать скрипт парсинга яндекса
Спасибо за быстрые ответы!