python - 谷歌抓取503服务不可用

标签 python curl web-crawler wget

当我在我的服务器上使用 wget、curl 或 python 抓取谷歌搜索引擎时,我遇到了一个非常奇怪的问题。 Google 将我重定向到以 [ipv4|ipv6].google.fr/sorry/IndexRedirect... 开头的地址,最后发送 503 错误,服务不可用...

有时抓取工作正常,有时在白天不正常,我尝试了几乎所有可能的方法:强制 ipv4/ipv6 而不是主机名、引用者、用户代理、vpn、.com/.fr/、代理和 tor,...

我想这是来自 Google 服务器的错误...知道吗?谢谢!

wget "http://google.fr/search?q=test"
--2015-06-03 10:19:52--  http://google.fr/search?q=test
Resolving google.fr (google.fr)... 2a00:1450:400c:c05::5e, 173.194.67.94
Connecting to google.fr (google.fr)|2a00:1450:400c:c05::5e|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://ipv6.google.com/sorry/IndexRedirect?continue=http://google.fr/search%3Fq%3Dtest&q=CGMSECABQdAAUQABAAAAAAAAH1QYqPG6qwUiGQDxp4NLQuHgP_i-oiUu0ZShPumAZRF3u_0 [following]
--2015-06-03 10:19:53--  http://ipv6.google.com/sorry/IndexRedirect?continue=http://google.fr/search%3Fq%3Dtest&q=CGMSECABQdAAUQABAAAAAAAAH1QYqPG6qwUiGQDxp4NLQuHgP_i-oiUu0ZShPumAZRF3u_0
Resolving ipv6.google.com (ipv6.google.com)... 2a00:1450:400c:c05::64
Connecting to ipv6.google.com (ipv6.google.com)|2a00:1450:400c:c05::64|:80... connected.
HTTP request sent, awaiting response... 503 Service Unavailable
2015-06-03 10:19:53 ERROR 503: Service Unavailable.

最佳答案

Google 有触发器来嗅探机器人程序和其他滥用其服务条款的行为,因此他们对同一 i.p. 的调用次数设置了限制(或“限制”)。地址可以使超过一定的时间。我相信这大约是每分钟 10 次调用。恰当的例子:如果您将 Url 粘贴到浏览器中,但浏览器出现 503 错误,您将收到来自 Google 的验证码质询,以证明您不是机器人。

我正在使用 pattern.web模块来做与你正在做的基本相同的事情(当然是为了无害的研究目的!),并且该库的文档显示了最流行的 API(Google、Bing、Twitter、Facebook...)的限制。

尝试每 15 秒左右发送一次您的请求,以避免超出限制。

关于python - 谷歌抓取503服务不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30614919/

相关文章:

python - 图像未显示在 Tkinter 标签小部件中

python - 如何从文本文件python打印下一行

PHP Curl+连接被拒绝

php - 从特定 id 名称开始的 DOM 中获取 div 数据

c# - 写我的第一个网络爬虫

MySQL - "Group by"的性能问题

javascript - jsp中可以更改referer吗?或者如何更改referer?

python - Django:CreateView 中的 transaction.atomic,form_valid()

python - sklearn.preprocessing 中的自定义装箱?

ssl - CURL 显示 "No required SSL certificate was sent"前夕