当我更新我的包时,我遇到了这个新错误:
class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
AttributeError: 'module' object has no attribute '_base'
我尝试更新beautifulsoup
,没有更多结果。我该如何解决?
当我更新我的包时,我遇到了这个新错误:
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 install --upgrade html5lib==1.0b8
2017 年 11 月编辑:看来这不再起作用了
终于发现,搜索引擎没有抛出任何东西,但它在 beautifulsoup 的问题跟踪器中被引用:https ://bugs.launchpad.net/beautifulsoup/+bug/1603299
它适用于 html5lib v 0.9999999
(7 个九)
"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 版
同样的问题也发生在我身上。我不知道您要做什么,但是当我尝试使用 pandas 读取 XML 文件时,它发生在我身上pd.read_html()
。
该问题通过升级所有 beautifulsoup4、html5lib 和 lxml 得到解决,例如:
pip install bs4
pip install html5lib
pip install lxml
并重新启动您的 Python 环境,现在它可以工作了。
这个命令为我解决了这个问题:
sudo pip install html5lib==0.9999999
我发现尝试切换版本对我不起作用。最后,基于这个问题~/.local/lib/python3.7/site-packages/bs4/builder/_html5lib.py
,我出于我的目的编辑了相关文件。
只需html5lib
使用它安装,因为如果您以正常方式安装,那么您必须使用 python2 进行爬虫。
sudo pip3 install html5lib==0.9999999