【问题标题】:wget Google search (300 000 lookups)wget Google 搜索(300 000 次查找)
【发布时间】:2015-03-05 00:58:29
【问题描述】:

我有需要使用某个 Google 搜索的第一个条目来修改的数据。 此搜索必须使用不同的搜索关键字重复大约 300 000 次(每行)。

我为此使用 wget 编写了一个 bash 脚本。然而,在大约 30 个(同步)请求之后,我的查询似乎被阻止了。

正在连接到 www.google.com (www.google.com)|74.125.24.103|:80... 连接的。已发送 HTTP 请求,等待响应... 404 Not Found

错误 404:未找到。

我正在使用这个 sn-p:

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 个请求需要一周以上的时间,甚至可以接受。

【问题讨论】:

    标签: bash curl google-api wget lynx


    【解决方案1】:

    Google 不会让您这样做;它有一套相当先进的启发式方法来检测“非人类”的使用。如果你想用 Google 做一些自动化的事情,它会迫使你使用他们的 API。

    除了将您的查询分布在非常大的一组客户端上(考虑到您有 3*10^5 个查询,并且在 3*10^1 之后被阻止,我会说大约 10,000 个),这两者都不是可行,也不是真正按照正确的复杂顺序,您需要使用任何可自动化的 API。

    幸运的是,谷歌提供了一个 JSON API,它可以更好地被脚本解析,所以看看https://stackoverflow.com/a/3727777/4433386

    【讨论】:

    • 很遗憾,Google Web Search API 已被弃用。 “它的最后一天运营将是 2014 年 9 月 29 日。”此外,解析不是问题。
    • 也许对你来说“不是问题”,但糟糕的设计。
    • 我要第二个@tripleee:如果你能得到可靠定义良好的数据格式的东西,那么必须解析 HTML 真的是一个糟糕的选择。
    猜你喜欢
    • 2010-10-01
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 2017-02-09
    • 2012-05-21
    相关资源
    最近更新 更多