【发布时间】:2014-02-14 20:57:23
【问题描述】:
我正在尝试使用 lxml 作为 BeautifulSoup 的解析器,因为默认的解析器要慢得多,但是我收到了这个错误:
soup = BeautifulSoup(html, "lxml")
File "/home/rob/python/stock/local/lib/python2.7/site-packages/bs4/__init__.py", line 152, in __init__
% ",".join(features))
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?
我已经多次卸载并重新安装了lxml以及beautifulsoup,但它仍然无法读取它。我也尝试过重新安装 lxml 依赖项,但我仍然得到这个。
我什至创建了一个新的虚拟环境并重新安装了所有内容,但仍然出现此错误。
有人知道这里发生了什么吗?
编辑
在 ubuntu 桌面上的 Python 2.7.x 上使用最新版本的 bs4 和 lxml
我可以import lxml 但我不能from lxml import etree 正在返回:
File "<stdin>", line 1, in <module>
ImportError: /usr/lib/x86_64-linux-gnu/libxml2.so.2: version `LIBXML2_2.9.0' not found (required by /home/rob/python/stock/local/lib/python2.7/site-packages/lxml/etree.so)
我有 libxml,但我不确定版本,但我安装并重新安装了最新版本。也试过手动安装2.9.0还是什么都没有
【问题讨论】:
-
我假设您拥有最新版本的 bs4 和 lxml,以及相当新的 Python 2.7.x,对吧? (无论如何,不妨将版本号编辑到您的问题中。)
-
另外,您是否单独测试了
lxml以确保其正常工作? -
site-packages/bs4/builder/_lxml.py存在吗? -
@abarnert yes.. 添加到问题中
-
@unutbu 是的。我认为这可能是 lxml 不起作用,检查我刚刚添加到底部的错误
标签: python beautifulsoup lxml