wget Google搜索(300 000次查找)

时间:2015-03-05 00:58:29

标签: bash curl google-api wget lynx

我需要使用某个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请求需要一周时间,这甚至可以接受。

1 个答案:

答案 0 :(得分:1)

谷歌不会让你这样做;它有一套相当先进的启发式方法来检测“非人类”用法。如果您想通过Google自动执行某些操作,则会迫使您使用其API。

除了在非常大的客户端上分发您的查询(假设您有3 * 10 ^ 5个查询,并且在3 * 10 ^ 1之后被阻止,我会说大约10,000个),这两者都不是可行的,也不是正确的复杂性,你需要使用任何可自动化的API。

幸运的是,Google提供了一个JSON API,它可以通过脚本更好地解析,因此请查看https://stackoverflow.com/a/3727777/4433386