【发布时间】:2015-03-23 06:04:06
【问题描述】:
我注意到在运行wget https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=foo 和类似查询时,我没有得到搜索结果,而是得到了谷歌主页。
谷歌页面内似乎有一些重定向。有谁知道wget 的修复方法,所以它会起作用吗?
【问题讨论】:
我注意到在运行wget https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=foo 和类似查询时,我没有得到搜索结果,而是得到了谷歌主页。
谷歌页面内似乎有一些重定向。有谁知道wget 的修复方法,所以它会起作用吗?
【问题讨论】:
您可以使用此 curl 命令来拉取 Google 查询结果:
curl -sA "Chrome" -L 'http://www.google.com/search?hl=en&q=time' -o search.html
对于使用https URL:
curl -k -sA "Chrome" -L 'https://www.google.com/search?hl=en&q=time' -o ssearch.html
-A 选项设置自定义用户代理 Chrome 以向 Google 提出请求。
【讨论】:
#q=foo 是您的提示,因为这是一个 fragment ID,它永远不会被发送到服务器。我猜你只是在使用实时搜索功能时从浏览器 URL 栏中获取了这个 URL。由于它是通过大量客户端魔法实现的,因此您不能依赖它来工作;尝试使用禁用实时搜索的 Google。似乎有效的 URL 模式如下所示:http://www.google.com/search?hl=en&q=foo。
但是,我确实注意到,当使用 wget 天真地调用 Google 时,它会返回 403 Forbidden,这表明他们不希望这样。您可以通过设置其他一些用户代理字符串轻松克服它,但在定期这样做之前请考虑所有影响。
【讨论】: