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


    安装beautifulsoup后,运行测试报错

    from urllib import request
    from 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")
  • 相关阅读:
    python之路_保留原搜索页面条件
    python之路_面向对象相关知识点
    2-SAT习题讲解
    圆方树浅谈
    莫队浅谈&题目讲解
    矩阵树定理浅谈
    动态点分治浅谈
    线性基浅谈
    模板—费用流(最小费用最大流)
    模板—数学—Exgcd
  • 原文地址:https://www.cnblogs.com/awakenedy/p/9753326.html
Copyright © 2020-2023  润新知