我在我的一个项目中使用了xgoogle python库。它一直工作到最近。我没有得到我以前得到的结果集。如果有人使用过Peter Krummins编写的这个库,面对类似的情况,请你建议一个解决方法吗?
答案 0 :(得分:3)
此presence of BeautifulSoup.py
提示此库使用web scraping来获取其结果。
这个问题的一个常见问题是,当被抓取的页面的设计/布局发生变化时,它很容易破裂。您看到的问题似乎与Google最近推出的新搜索结果布局一致。
另一个问题是它经常违反被抓取网站的服务条款。根据{{3}}的第5.3点,它实际上是:
您明确同意不通过任何自动方式(包括使用脚本或网络抓取工具)访问(或尝试访问)任何服务[...]
更好的想法是使用Google Terms Of Service。
答案 1 :(得分:0)
彼得·克鲁姆(Peter Krumin)的产品xgoogle对我和我的许多其他人都非常有用。 https://github.com/pkrumins/xgoogle
对我来说,当前版本为1.3无效。 我尝试从GitHub重新安装,运行示例,但未返回任何内容。
在源代码中添加调试器并跟踪查询中捕获的数据以使其消失,在解析器命令的名为search.py子例程“ _extract_results”的例程中会发生问题
results = soup.findAll('li', {'class': 'g'})
汤对象中包含材料,但是“ findAll”无法返回任何内容。
看起来像在搜索列表,如果没有列表,则不返回任何内容。 我不确定您将尝试匹配哪种HTML以获得结果。 如果有人知道如何使工作正常,我会很感兴趣。
答案 2 :(得分:0)
再进行一次谷歌搜索,看来xgoogle不再受支持或有效。 问题的一部分是Google经常更改结果页面的布局,因此任何采用某种标准布局的抓取软件都注定会失败。
但是,还有其他本地安装的搜索引擎,因此提供的结果布局不太可能随升级而改变,并且如果不升级则根本不会改变。
我目前正在调查Yacy。易于安装,并且可以根据需要指向特定站点。