【问题标题】:Wget does not fetch google search resultsWget 不获取谷歌搜索结果
【发布时间】: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 的修复方法,所以它会起作用吗?

【问题讨论】:

    标签: bash wget


    【解决方案1】:

    您可以使用此 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 提出请求。

    【讨论】:

      【解决方案2】:

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

      但是,我确实注意到,当使用 wget 天真地调用 Google 时,它​​会返回 403 Forbidden,这表明他们不希望这样。您可以通过设置其他一些用户代理字符串轻松克服它,但在定期这样做之前请考虑所有影响。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-11
        • 2015-12-29
        • 2014-08-25
        • 2011-05-21
        • 1970-01-01
        • 1970-01-01
        • 2012-04-10
        • 2020-10-09
        相关资源
        最近更新 更多