как искать файл определенного типа с помощью API поиска Yahoo?

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

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


person user63503    schedule 07.02.2009    source источник


Ответы (3)



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

формат = sys.argv[1]

запрос = " ".join(sys.argv[2:])

srch = create_search("Интернет", app_id, запрос=запрос, формат=формат)

person user63503    schedule 08.02.2009

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

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

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

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
person Owen    schedule 24.07.2009