• bs4 FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml----转载


    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")
  • 相关阅读:
    修改Oracle数据库的字符集为UTF-8
    yum源的更新问题
    Spark的编译
    hadoop版本和位数的查看方法
    hadoop2.x通过Zookeeper来实现namenode的HA方案以及ResourceManager单点故障的解决方案
    zookeeper3.4.6的安装
    SQL SERVER回滚恢复误操作的数据
    SQLServer异常捕获
    111111
    sql分割函数
  • 原文地址:https://www.cnblogs.com/lnn123/p/13525756.html
Copyright © 2020-2023  润新知