我正在尝试获取有关大量学术文章的信息,作为我研究的一部分。文章数量大约为数千。由于谷歌学术搜索没有API,我试图抓住/爬行学者。现在我现在,这在技术上是针对EULA的,但我试图对此非常礼貌和合理。我了解Google不允许机器人将流量控制在合理范围内。我开始测试一批约500个请求,每个请求之间有1个。关于前100个请求后我被阻止了。我尝试了其他多种策略,包括:
我怀疑在这一点上,我的剧本正在增加任何人类所需的大量流量。但是,在约100-200个请求之后,我总是被阻止。有没有人知道一个很好的策略来克服这个问题(我不关心它是否需要数周,只要它是自动化的)。此外,是否有人直接与谷歌签约并要求获得类似的事情(研究等)?是否值得尝试编写它们并解释我正在尝试做什么以及如何做,并看看我是否可以获得我的项目的许可?我将如何与他们联系?谢谢!
答案 0 :(得分:1)
如果不进行测试,我仍然非常确定以下其中一项可以解决问题:
容易,但成功的可能性很小:
在每次rand(0,100)请求后删除相关网站的所有Cookie,
然后更改您的用户代理,接受的语言等,然后重复。
更多的工作,但结果是更坚固的蜘蛛:
通过Tor,其他代理,移动网络等发送您的请求以屏蔽您的IP(也会在每个回合中做出建议1 )
关于Selenium的更新 我错过了你使用Selenium的事实,理所当然它只是某种现代编程语言(我知道Selenium可以被最广泛使用的语言驱动,但也作为一些一种浏览器插件,要求很少的编程技巧)。
因为我认为你的编码技巧不是(或者不是)令人难以置信的,而对于使用Selenium时具有相同限制的其他人,我的答案是学习一个简单的,脚本语言(PowerShell ?!)或JavaScript(因为它是你所依赖的网站;-))并从那里接受它。
如果顺利自动化抓取就像浏览器插件一样简单,那么网络就必须是一个更加混乱,模糊和凭据要求更高的地方。