Wget无法获取谷歌搜索结果

时间:2015-03-23 06:04:06

标签: bash wget

我注意到在运行wget https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=foo和类似查询时,我没有获得搜索结果,但谷歌主页。

谷歌页面似乎有一些重定向。有没有人知道wget的修复方法,所以它会起作用?

2 个答案:

答案 0 :(得分:11)

您可以使用此curl命令来提取Google查询结果:

curl -sA "Chrome" -L 'http://www.google.com/search?hl=en&q=time' -o search.html

使用https网址:

curl -k -sA "Chrome" -L 'https://www.google.com/search?hl=en&q=time' -o ssearch.html

-A选项会在向Google提出请求时设置自定义用户代理Chrome

答案 1 :(得分:6)

#q=foo是您的提示,因为它是fragment ID,永远不会被发送到服务器。我猜你在使用实时搜索功能时只是从你的浏览器URL栏中获取了这个URL。由于它是用很多客户端魔法实现的,所以你不能依赖它来工作;尝试使用谷歌禁用实时搜索。似乎有用的网址格式如下所示:http://www.google.com/search?hl=en&q=foo

但是,我确实注意到Google在使用403 Forbidden进行天真调用时会返回wget,表示他们不希望这样。您可以通过设置其他用户代理字符串轻松地通过它,但在定期执行此操作之前,请考虑所有含义。