如何从 Google 自定义搜索 API 中仅获取 HTML 个网页

How to get only HTML webpages from Google Custom Search API

我正在使用 Google CSE JSON API 来获取一些网页,稍后我将 抓取 。问题是有时我会收到我不想从 Google.

获取的 PDF、DOCX 和其他一些我不想在网上发布的文件

我知道这个API中有一个名为fileType的参数过滤结果,但这对我不起作用,因为我想要相反的(排除他们不排除其他人) ).

  1. 我尝试使用 fileType 告诉 Google 这是 'html' 但都没有用(从 example.com/foo 到只有 example.net/bar.html 这样的结果) .例如,使用此方法,PHP 或 ASP 中的任何网页都不符合此条件。
  2. 我也尝试将 'text/html' 设置为 fileType 值,但它没有做任何事情。

过滤方式可以是任何HTTP GET请求(text/html)的响应中包含的Content-Type头,当然如果Google会更好为我做这个。

提前谢谢你。

好吧,我找到了如何轻松地做到这一点。只需将过滤器添加到使用 filetype:foo 的 Google API 调用中的查询 q 参数。这样您就可以将搜索过滤为仅需要的结果:

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

您可以根据需要添加任意数量的 filetype 过滤器以获得更好的结果。

现在我觉得这是一个愚蠢的问题。无论如何,我希望这对以后的任何人都有帮助。