3

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

4

3 回答 3

4

该库使用网络抓取来获得其结果的提示的存在。BeautifulSoup.py

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

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

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

一个更好的主意是使用自定义搜索 API

于 2011-09-02T06:36:12.197 回答
1

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

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

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

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

汤对象中有材料,但“findAll”没有返回任何东西。

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

于 2019-11-19T03:02:13.467 回答
0

再用谷歌搜索一下,似乎 xgoogle 不再受支持或工作。部分麻烦在于谷歌经常改变其结果页面的布局,因此任何假设一些标准布局的抓取软件都注定会失败。

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

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

于 2019-11-19T22:33:14.030 回答