Скрипт парсер Яндекс. Это скрипт, который демонстрирует как можно разобрать поисковую выдачу Яндекса.
Скрипт работает следующим образом: берём ключи из файла с поисковыми фразами и вводим их в yandex. Затем разбираем выдачу Яндекс на ссылки.
Этот скрипт является шаблонным скриптом, то есть вы легко можете дописать его для своих целей. Например, определить позицию вашего сайта в поисковых результатах Яндекс по заданному ключевому запросу или получить список сайтов, которые по этому запросу находятся в топ-10, топ-20, топ-30 и т.д. Можно собирать сайты заданного движка — dle сайты, каталоги, word press сайты и т.д. На основе этого скрипта сделан скрипт сборщик трастовых сайтов.
Настройки скрипта:
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 |
<?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); // найти $button->click_by_number(0); // ждём sleep(1); while(true) { // получить по префиксам все ссылки в виде одной строки разделённой <br> $sites = $webpage->get_body_inter_prefix_all("class=\"b-serp-url__link\"","</a>",true); // разделить на массив, используя для разделения <br> $sites = explode("<br>",$sites); // пройдёмся по всем полученным for($rw=0;$rw<count($sites);$rw++) { if(trim($sites[$rw])=="") continue; // вывести ссылку в панель отладки echo $site_link = get_string($sites[$rw],"href=\"","\" "); echo "<br>"; } // не перешли на следующую страницу if(!next_page($crnt_page)) break; } } // Quit $app->quit(); ?> |
Скрипт написан 25.09.2012 в Human Emulator 4.4.19 Advanced.
На момент публикации статьи 25.09.2012 скрипт был рабочий.