【问题标题】:xgoogle python library is not working any more?xgoogle python库不再工作了?
【发布时间】:2011-09-02 06:30:37
【问题描述】:

我将 xgoogle python 库用于我的一个项目。直到最近它工作正常。我没有得到以前得到的结果集。如果有人使用过 Peter Krummins 编写的这个库,遇到类似的情况,你能建议一个解决方法吗?

【问题讨论】:

  • 您需要向我们提供代码...
  • 你能用其他方法吗?比如 Yahoo BOSS、Blekko、Bing API?

标签: python xgoogle


【解决方案1】:

presence of BeautifulSoup.py 暗示这个库使用web scraping 来获得它的结果。

这样做的一个常见问题是,当被抓取的页面的设计/布局发生变化时,它很容易损坏。而且您看到的问题似乎与 Google 最近推出的新搜索结果布局不谋而合。

另一个问题是,它经常违反被抓取网站的服务条款。根据Google Terms Of Service 的第 5.3 点,它实际上是:

您明确同意不通过任何自动化方式(包括使用脚本或网络爬虫)访问(或试图访问)任何服务 [...]

一个更好的主意是使用Custom Search API

【讨论】:

  • 请注意,自定义搜索 API 受到严格限制(每天 100 次查询)。
  • @duskwuff: 并且根本不允许使用网络抓取(请参阅他们的Terms Of Service 中的第 5.3 点。
  • 非常感谢!!自定义api非常受限制......还有其他方法可以实现这一点。自定义 api 一次最多只能给我 32 个结果!
【解决方案2】:

Peter Krumin 的产品 xgoogle 看起来对我和其他许多人都非常有用。 https://github.com/pkrumins/xgoogle

对我来说,当前版本是 1.3 不起作用。 我尝试从 GitHub 进行新安装,运行示例,但没有返回任何内容。

将调试器添加到源代码并跟踪在查询中捕获的数据直至其消失,问题出现在解析器命令中名为 search.py​​ 子例程“_extract_results”的例程中

results = soup.findAll('li', {'class': 'g'})

soup 对象中有材料,但“findAll”没有返回任何内容。

看起来它正在搜索列表,如果没有,它什么也不返回。 我不确定你会尝试匹配什么 html 来获得结果。 如果有人知道如何制作,我很感兴趣。

【讨论】:

    【解决方案3】:

    再用谷歌搜索一下,似乎 xgoogle 不再受支持或工作。 部分麻烦在于,Google 会经常更改其结果页面的布局,因此任何采用某种标准布局的抓取软件迟早都会失败。

    但是,还有其他本地安装的搜索引擎,因此提供的结果布局不太可能随着升级而改变,并且如果您不升级则根本不会改变。

    我目前正在调查 Yacy。易于安装,并且可以根据需要指向特定站点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多