Как получить только HTML-страницы из API пользовательского поиска Google - PullRequest
0 голосов
/ 30 сентября 2019

Я использую API Google CSE JSON для получения некоторых веб-страниц, которые я буду удалять позже. Дело в том, что иногда я получаю PDF, DOCX и некоторые другие файлы, опубликованные в Интернете, которые я не хочу получать от Google.

Я знаю, что в этом API есть параметр с именем fileType это фильтрует результаты, но это не работает для меня, потому что я хочу обратного (исключая их, не исключая других).

  1. Я пытался использовать fileType, сообщая Google, что это 'html'но не работал ни один (от результатов как example.com/foo до только example.net/bar.html). Используя это, например, любая веб-страница в PHP или ASP не будет соответствовать этим критериям.
  2. Я также пытался установить 'text/html' в качестве значения fileType, но ничего не сделал.

Способом фильтрации может быть заголовок Content-Type, включенный в ответ на любую петицию HTTP GET (text/html), но, конечно, будет лучше, если Google сделает это для меня.

Заранее спасибо.

1 Ответ

0 голосов
/ 04 октября 2019

Ну, я нашел, как это легко сделать. Просто добавьте фильтр к параметру запроса q в вызове API Google, используя filetype:foo. Таким образом, вы можете отфильтровать результаты поиска только по требуемым результатам:

service.cse().list(cx=const.SEARCH_ENGINE_KEY, q='"user manual" -filetype:pdf').execute()

Вы можете добавить столько фильтров filetype, сколько необходимо для получения лучших результатов.

Теперь я чувствую себя такбыл глупый вопрос. Во всяком случае, я надеюсь, что это поможет любому в будущем.

...