当我更新包时,我有一个新错误:
class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
AttributeError: 'module' object has no attribute '_base'
我尝试更新beautifulsoup
,但没有更多结果。我该怎么解决?
我升级了beautifulsoup4和html5lib,它解决了这个问题。
pip install --upgrade beautifulsoup4
pip install --upgrade html5lib
这是上游包html5lib的问题:https://bugs.launchpad.net/beautifulsoup/+bug/1603299要修复,请强制降级到旧版本:
pip安装-升级html5lib==1.0b8
编辑2017年11月:这似乎不再适用于
最终发现,一个搜索引擎没有抛出任何东西,但在beautifulsoup的问题跟踪器上引用了它:https://bugs.launchpad.net/beautifulsoup/+bug/1603299
它与html5lib v 0.9999999
(7个9)一起工作
"html5lib<=0.9999999"
@Bhavuk答案中降级为html5lib 1.0b8有效,但使用漂白剂处理版本问题。
对我来说,解决方案是更换漂白剂的版本,以与新版本的html5lib 兼容
pip install --upgrade bs4
pip install --upgrade bleach==1.4.2
pip install --upgrade html5lib==1.0b8
Python 3.5版
同样的问题也发生在我身上。我不知道你想做什么,但当我尝试使用pd.read_html()
读取Panda中的XML文件时,我也遇到了这个问题。
通过升级所有beautifulsoup4、html5lib和lxml,如,问题得到了解决
pip install bs4
pip install html5lib
pip install lxml
然后重新启动您的Python环境,现在它就可以工作了。
这个命令为我解决了问题:
sudo pip install html5lib==0.9999999
只需使用此安装html5lib
,因为如果以正常方式安装,则必须使用python2进行spider。
sudo pip3 install html5lib==0.9999999
我发现尝试切换版本对我来说不起作用。最后,基于这个问题,我在~/.local/lib/python3.7/site-packages/bs4/builder/_html5lib.py
编辑了相关文件。