Как искать определенный тип файла с Yahoo API поиска? - PullRequest
1 голос
/ 07 февраля 2009

Кто-нибудь знает, есть ли какой-нибудь параметр, доступный для программного поиска на Yahoo, позволяющий ограничить результаты, чтобы возвращались только ссылки на файлы определенного типа (например, PDF)? Это можно сделать в графическом интерфейсе, но как сделать это через API?

Я бы очень признателен за пример кода на Python, но любые другие решения также могут быть полезны.

Ответы [ 3 ]

0 голосов
/ 09 февраля 2009

Спасибо. Я обнаружил, что что-то вроде этого работает нормально (тип файла - первый аргумент, а запрос - второй):

format = sys.argv [1]

query = "" .join (sys.argv [2:])

srch = create_search ("Web", app_id, query = query, format = format)

0 голосов
/ 24 июля 2009

Вот что я делаю для такого рода вещей. Он предоставляет больше параметров, чтобы вы могли настроить его под свои нужды. Это должно распечатать первые десять PDF-адресов URL из запроса «резюме» [мой не один из них;)]. Вы можете загрузить эти URL-адреса по своему усмотрению.

Словарь json, который возвращается из запроса, немного грубоват, но с этого следует начать. Помните, что в реальном коде вам нужно будет проверить, существуют ли некоторые ключи в словаре. Когда нет результатов, этот код, вероятно, вызовет исключение.

Ссылка, предоставленная Tiago, хороша для того, чтобы узнать, какие значения поддерживаются для параметра "type".

from yos.crawl import rest
APPID="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
base_url = "http://boss.yahooapis.com/ysearch/%s/v%d/%s?start=%d&count=%d&type=%s" + "&appid=" + APPID
querystr="resume"
start=0
count=10
type="pdf"
search_url = base_url % ("web", 1, querystr, start, count, type)
json_result = rest.load_json(search_url)
for url in [recs['url'] for recs in json_result['ysearchresponse']['resultset_web']]:
    print url
0 голосов
/ 07 февраля 2009
...