Парсер Yahoo с API

SeWork
На сайте с 14.10.2007
Offline
133
1075

Как известно у Яху есть API, с возможностью задавать 5000 запросов в сутки с одного IP, и получать 100 ответов с каждого запроса. И как ни странно не нашел еще до сих пор ни одного парсера использующего эту технологию. Может плохо ищу?

Есть потребность в срочном парсинге большого количества запросов, прокси под это дело не подходят, слишком долго. Может кто знает, есть ли вообще такой парсер, или как всегда придется заказывать скрипт? :)

Ссылки продаю по баснословным деньгам на буржуйской бирже (http://feeds.tr0e.com/?a=20818)
Malcolm
На сайте с 02.05.2007
Offline
119
#1

Первое что приходит в голову - взять любой готовый парсер, который позволяет задавать собственные шаблоны для поисковиков и добавить шаблон для работы с нужным запросом

http://search.yahooapis.com/WebSearchService/V1/webSearch?appid={AP-ID}&query={TEXT}&results=100

Дешево и сердито.

SeWork
На сайте с 14.10.2007
Offline
133
#2
Malcolm:
Первое что приходит в голову - взять любой готовый парсер, который позволяет задавать собственные шаблоны для поисковиков и добавить шаблон для работы с нужным запросом
http://search.yahooapis.com/WebSearchService/V1/webSearch?appid={AP-ID}&query={TEXT}&results=100
Дешево и сердито.

Верно, этот пример и выложен на странице хелпа

Например http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=forex&results=100

Вот только как все результаты стянуть, тее 200, 300...1000. В парсере задается переход по "Next", а в этом случае как быть?

Malcolm
На сайте с 02.05.2007
Offline
119
#3

Достаточно будет использовать в запросе параметр &start={N} где N выбирается из словаря {101, 201, 301, 401 и т.д.} Тогда Next не нужен вообще.

SeWork
На сайте с 14.10.2007
Offline
133
#4

Ага, разобрался, большое спасибо.

Только если запрос http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=forex&results=100&start=101 показывает 100 результатов на первой странице, а http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=forex&results=100&start=201 100 результатов на второй странице. То что же тогда показывает вот это http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=forex&results=100&start=222

Malcolm
На сайте с 02.05.2007
Offline
119
#5

results=100&start=222 вернет 100 ссылок, начиная с 222 позиции выдачи и по 321 включительно.

Сто результатов первой страницы можно получить с помощью results=100&start=1, вторая страница results=100&start=101

SeWork
На сайте с 14.10.2007
Offline
133
#6

Еще раз огромное спасибо, если бы с "&start={N}" не подсказали, сам ни за что бы не нашел, так как в FAQ про это ни слова, а в самой выдаче редирект через раз, или как-то закодированы урлы.

Выкладываю рабочий вариант парсера через API для аггрессора (распаковать и заменить в корневой директории аггрессора).

Правда на каждые 10 запросов, 1 будет лишний, тее парсить дубли, но на 5к запросов это не так страшно.

Вписан ключ "YahooDemo", кто захочет свой, регистрируемся тут, далее в файле search\APIYahoo.txt меняем "YahooDemo" на свой.

Настроил под парсинг урлов.

zip Parser.zip
S
На сайте с 09.01.2004
Offline
196
#7

Semonitor умеет работать с Яху через АПИ

Для получения быстрой тех. поддержки - пишите мне на почту! Контакты здесь (http://www.semonitor.ru/contact.html)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий