0

我使用以下 python 脚本从 python 爬取谷歌学者:

import urllib

filehandle = urllib.urlopen('http://www.techyupdates.blogspot.com')

for lines in filehandle.readlines():
   print lines

filehandle.close()

但我反复这样做,所以我被网站谷歌学者阻止说:

当 Google 自动检测到来自您的计算机网络的请求似乎违反了服务条款时,就会出现此页面。该块将在这些请求停止后不久到期。与此同时,解决....

有没有一种简单的方法可以避免这种情况?有什么建议么?

4

2 回答 2

4

[编辑]

在您的脚本中加入某种限制,以便您轻松加载 Google Scholar(例如,在查询之间等待 60 秒或 600 秒或 6000 秒)。

我的意思是轻轻加载 Google Scholar。如果缓存 Google Scholar 结果是可能的,那也将减少 Google Scholar 的负载。

您还应该查看批处理,这样您就可以在夜间以稳定但缓慢的速度运行爬网。

目标是 Google Scholar 不应该关心您的额外查询,从而实现 ToS 的精神,如果不是文字的话。但如果你能同时满足两者,那将是正确的做法。

于 2013-01-25T20:52:43.163 回答
1

将文件存储在本地?您还可以编写一个快速的 Python 网络服务器来提供文件,以防您需要 HTTP 连接。是的,我同意,阅读并尝试理解错误消息也有帮助......

于 2013-01-25T20:44:44.730 回答