как искать определенный тип файла с помощью API поиска Yahoo?
-
22-08-2019 - |
Вопрос
Кто-нибудь знает, есть ли какой-либо параметр для программного поиска в Yahoo, позволяющий ограничить результаты, чтобы возвращались только ссылки на файлы определенного типа (например, PDF)?Это возможно сделать в графическом интерфейсе, но как это сделать через API?
Я был бы очень признателен за пример кода на Python, но любые другие решения также могут быть полезны.
Решение 2
Спасибо.Я обнаружил, что что-то вроде этого работает нормально (тип файла — первый аргумент, а запрос — второй):
формат = sys.argv[1]
запрос = " ".join(sys.argv[2:])
srch = create_search("Веб", app_id, запрос=запрос, формат=формат)
Другие советы
Вот что я делаю для подобных вещей.Он предоставляет больше параметров, поэтому вы можете настроить его в соответствии со своими потребностями.Это должно распечатать первые десять 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