我需要使用某个Google搜索的第一个条目修改数据。 此搜索必须使用不同的搜索关键字重复约30万次(每行)。
我使用wget编写了一个bash脚本。但是在大约30个(同步)请求之后,我的查询似乎被阻止了。
连接到www.google.com(www.google.com)| 74.125.24.103 |:80 ... 连接的。发送HTTP请求,等待响应... 404 Not Found
错误404:未找到。
我正在使用此代码段:
wget -qO- ‐‐limit-rate=20k --user-agent='Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0' "http://www.google.de/search?q=wikipedia%20$encodedString"
我依赖它来工作所以我希望有人有经验。这不是一项常规工作,也不需要快速完成 - 如果300000请求需要一周时间,这甚至可以接受。
答案 0 :(得分:1)
谷歌不会让你这样做;它有一套相当先进的启发式方法来检测“非人类”用法。如果您想通过Google自动执行某些操作,则会迫使您使用其API。
除了在非常大的客户端上分发您的查询(假设您有3 * 10 ^ 5个查询,并且在3 * 10 ^ 1之后被阻止,我会说大约10,000个),这两者都不是可行的,也不是正确的复杂性,你需要使用任何可自动化的API。
幸运的是,Google提供了一个JSON API,它可以通过脚本更好地解析,因此请查看https://stackoverflow.com/a/3727777/4433386。