1

我目前正在开发一个需要从 Google 搜索结果中抓取数据的应用程序。例如google.com/search?q=domain.com等等。但谷歌在提出一些请求后阻止了我的 IP 地址。我知道有 Google API,但是周围有很多网站只是直接抓取数据。

4

2 回答 2

1

抓取 Google 搜索结果违反了服务条款。谷歌积极劝阻并阻止那些这样做的人。他们免费与您分享他们的信息,但他们不欣赏您尝试获取所有信息的副本。

最好自己爬网域。

于 2012-10-12T16:43:26.357 回答
0

太糟糕了,如果还不算太晚,我之前没有看到你的问题:

刮谷歌确实违反了他们的服务条款,另一方面你可以选择不接受他们。例如,当您创建 Google 帐户时,您会接受他们的 TOS,但据我所知,您也可以再次拒绝接受(至少在他们更改时)。

对于较少量的数据,您可以使用他们的 API 或他们的商业 API,但如果您需要结果和排名与用户看到的完全一致(SEO 目的),我不知道获得他们许可的官方方法。

我不是律师,因此如果您想确定法律后果,您可能需要咨询律师。

但是,抓取 Google 通常不会导致任何法律问题。我记得即使是必应(微软的引擎)也被抓到在谷歌搜索未知关键词。那发生在几年前。我个人的猜测是,他们的大部分原始结果都是从谷歌秘密复制的。

有一个开源项目http://google-rank-checker.squabbel.com确实可以抓取大量 Google 结果。据我记得,如果不进行修改,它每天限制为大约 50-70k 个结果页。我建议看一下代码,它是带有 libcURL 的 PHP。

您还需要正确的 IP 地址(未共享,未曾被滥用)。使用单个 IP 抓取将导致在一小时内被 Google 阻止。通常发生的第一件事是验证码,通过解决验证码生成一个允许您继续发出请求的 cookie。如果您继续,您将获得完全禁止。如果你用大量请求“锤击”谷歌,你会提醒他们的员工,他们可以手动禁止整个 ISP 或网络块。

一个合适的数量是每小时大约 10 个请求,一个 IP,这就是我在相关项目中一直坚持的。

因此,如果有人抓取 Google,请确保您具有验证结果并注意意外返回的功能。在这种情况下,您的代码应立即停止访问 Google,以防止进一步访问仅显示验证码的页面。

于 2014-02-24T16:57:29.113 回答