繁体   English   中英

我可以使用Python从Google搜索中抓取所有URL结果而不会被阻止吗?

[英]Can I scrape all URL results using Python from a google search without getting blocked?

我意识到有人问过这个问题的版本,前几天我花了几个小时尝试了许多策略。

我想用python从Google搜索中抓取所有URL,我可以在单独的脚本中使用它来对大型语料库(主要是新闻网站)进行文本分析。 这似乎相对简单,但我尝试过的所有尝试均未正常进行。

这与我得到的接近:

from google import search

for url in search('site:cbc.ca "kinder morgan" and "trans mountain" and protest*', stop=100):
    print(url)

在我被踢之前,这返回了大约300个URL。 使用这些参数的实际搜索可提供约1000个结果,我希望所有这些结果。

第一:这可能吗? 第二:有人对此有何建议? 我基本上只想要一个可以在另一个脚本中使用的所有URL的txt文件。

该软件包似乎使用屏幕抓取从Google检索搜索结果,因此它与Google的服务条款不能很好地配合使用,这可能是您被屏蔽的原因。

Google服务条款中的相关条款:

不要滥用我们的服务。 例如,请勿干扰我们的服务或尝试使用界面和我们提供的说明以外的方法来访问它们。 您只能在法律允许的范围内使用我们的服务,包括适用的出口和再出口控制法律和法规。 如果您不遵守我们的条款或政策,或者我们正在调查可疑的不当行为,我们可能会暂停或停止向您提供服务。

我还没有找到一个确定的数字,但是似乎他们每天对搜索查询的数量限制也非常严格- 此处的JSON Custom Search API文档中每天要进行100个搜索查询。

尽管如此,尝试其他替代方法是否效果更好也没有什么害处:

  1. 美丽汤
  2. cra草
  3. ParseHub-这个不是代码,而是一个有用的软件,带有良好的文档说明。 链接到他们的有关如何抓取URL列表的教程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM