Ещё один парсер выдачи поисковых результатов пополнил нашу коллекцию парсеров. На этот раз это парсер Маил.ру.
Это скрипт, который как и предыдущие парсеры демонстрирует как можно разобрать поисковую выдачу теперь на примере mail.ru.
Скрипт работает следующим образом: берём ключи из файла с поисковыми фразами и вводим их в поле поиска mail.ru.
Затем разбираем поисковую выдачу маил.ру на ссылки.
Этот скрипт так же является заготовкой под любой ваш скрипт, который будет работать с выдачей Mail.ru.
Диапозон его применения аналогичен трём предыдущим парсерам поисковой выдачи: парсеру Яндекса и парсеру Гугла и парсеру Рамблер
На входе скрипт принимает файл с поисковыми фразами в формате:
human emulator
парсер human emulator
парсер mail.ru xhe
xhe парсер
mail.ru parser
Настройки скрипта:
1 2 3 4 5 6 7 |
// файл с данными для скрипта $keys = file("data/keys.txt"); // глубина прохода в поисковые результаты // со скольких страниц собирать товары прежде чем перейти к следующему // если нужно собирать все товары надо просто задать этот параметр = -1 $cnt_pages = 10; |
Сам скрипт выглядит следующим образом:
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 |
<?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++) { // получить запрос $key = trim($keys[$ii]); // перейти на гугль $browser->navigate("mail.ru"); // задаём слово в поиск $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) { // получим все ссылки на сайты заключённые в тэгах <cite> $sites=$webpage->get_body_inter_prefix_all("<cite ","</cite>"); $sites=explode("<br>",$sites); // пройдёмся по всем полученным ссылкам for($i=0;$i<count($sites);$i++) { // переходим на сайт $site=get_string(trim($sites[$i]),"href=\"","\" "); if($site=="") continue; // вывод в панель отладки debug_mess("ссылка на сайт : ".$site); /* *** тут что то делаем с полученными из гугль сайтами * */ } // не перешли на следующую страницу if(!next_page($crnt_page)) break; } } // Quit $app->quit(); ?> |
Скрипт написан 8.10.2012 в Human Emulator 4.4.19 Advanced.
На момент публикации статьи 14.10.2012 скрипт был рабочий.