Парсим поисковики

В этой статье я покажу как парсить поисковики по заданному ключу. Например возьмем поиск mail.ru. Введя в поиск значение последние новости экономики мы получим что то похожее на это.

адрес в поисковой строке

адрес в поисковой строке

Здесь нам понадобится запрос в адресной строке http://go.mail.ru/search?rch=e&q=последние+новости+экономики. Будем использовать блок URL builder, вытаскиваем его на рабочий холст Yahoo pipes. Немного разберем url запрос.

http://go.mail.ru/search  - это база, с этого начинается любой запрос в поиске майла на сегодняшний день.

rch  - это query parametr или переменная запроса, в нашем случае она равна e

qэто тоже переменая запроса и здесь она равна именно запрашиваемому ключу  последние+новости+экономики

Внесем все эти данные в блок URL builder, а сам поисковый запрос выведем в отдельный блок text input, чтобы иметь возможность изменять поисковый ключ.

Соединим полученный URL с модулем feetch page и на выоде будем иметь выдранную страницу с поисковыми результатами mail.ru

целая страница поискового запроса

целая страница поискового запроса

Итак имея целую страницу, нам нужно разделить результаты поиска и создать цикл открывающий поочередно каждый результат используя ссылку.

Обрежем контент в блоке feetch page от <ul class=»res-list»>  до <h3>Запросы по теме</h3> используя  <h3 class=»res-head»>  в  качестве split using delimeter  теперь у нас поисковые результаты разделены.

результаты поиска разделены

результаты поиска разделены

Дальше можно создать рсс используя RSS item builder, но использовать ленту, открывая страницы по ссылкам и обрезая только контент в таком виде не получится без блока regex, потому что кодировка на разных сайтах различная, и коды обрезания для каждой item будут отличаться. В таком виде можно парсить например картинки по нужному запросу.

 

Написать ответ