避免被Google Scholar封锁抓取

0 投票
2 回答
3543 浏览
提问于 2025-04-17 13:42

我用以下的Python脚本从Python抓取谷歌学术:

import urllib

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

for lines in filehandle.readlines():
   print lines

filehandle.close()

但是我重复这样做,所以网站谷歌学术把我给封了,显示的信息是:

当谷歌自动检测到来自你电脑网络的请求,认为这些请求违反了服务条款时,就会出现这个页面。只要停止这些请求,封锁会很快解除。与此同时,解决....

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

2 个回答

1

把文件存到本地吗?你也可以快速写一个Python的网页服务器来提供这个文件,这样如果你需要HTTP连接的话就可以用了。还有,我也同意,阅读并尝试理解错误信息也是很有帮助的……

4

[编辑]

在你的脚本中加入一些限制,让你对Google Scholar的请求不要太频繁,比如在每次查询之间等待60秒、600秒或者6000秒。

我说的“轻负载”是指不要给Google Scholar带来太大的压力。如果能缓存Google Scholar的结果,那就能进一步减轻对它的负担。

你还可以考虑批量处理,这样你可以在晚上慢慢地进行抓取,保持一个稳定但较慢的速度。

目标是让Google Scholar对你的额外查询不在意,这样就能在一定程度上遵守服务条款的精神。如果你能同时做到这两点,那就是最好的做法。

撰写回答