bs4 FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you

安装beautifulsoup后,运行测试报错

from urllib import requestfrom bs4 import BeautifulSoup

url = "http://www.baidu.com"rsp = request.urlopen(url)content = rsp.read()

soup = BeautifulSoup(content, "lxml")

print(soup.title.string)
----------------------------------------------------------------------FeatureNotFound                      Traceback (most recent call last)~/data/spider/bs.py in <module>     16 content = rsp.read()     17 ---> 18 soup = BeautifulSoup(content, "lxml")     19      20 print(soup.title.string)

~/data/spider/venv/lib/python3.7/site-packages/bs4/__init__.py in __init__(self, markup, features, builder, parse_only, from_encoding, exclude_encodings, **kwargs)    196                     "Couldn't find a tree builder with the features you "    197                     "requested: %s. Do you need to install a parser library?"--> 198                     % ",".join(features))    199             builder = builder_class()    200             if not (original_features == builder.NAME or

FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

经过测试发现是lxml的问题,使用 pip install lxml 安装,安装完后,在运行还是一样出错, 经百度、知乎的说法是新的库不支持,新版本语法支持改变了

使用 pip install lxml时,自动安装的是最新 4.2.5版本

解决方法一:

  卸载新的换老的就可以了

    pip uninstall lxml

    pip install lxml==3.7.0

方法二:

 在报错代码中把函数参数中所有的"lxml"改成"html.parser"soup = BeautifulSoup(content, "lxml")改成 soup = BeautifulSoup(content, "html.parser")
(0)

相关推荐

    Database error: [You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1]

    select ID from ac_posts where ziID =  ;