Home  >  Q&A  >  body text

python - BeautifulSoup指定lxml作为解析器报错?

环境:
windows 10
PyCharm 2016.3.2

遇到问题:

刚开始学python,想用BeautifulSoup解析网页,但出现报错:

UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.

The code that caused this warning is on line 4 of the file C:/Users/excalibur/PycharmProjects/learn/getMyIP.py. To get rid of this warning, change code that looks like this:

 BeautifulSoup([your markup])

to this:

 BeautifulSoup([your markup], "lxml")

  markup_type=markup_type))

然后根据提示和官网的文档加上:BeautifulSoup(markup, "html.parser")

结果出现了这样的报错:

在Google搜了下,都是说要导入路径,但是在 Settings -> Project -> Project Interpreter 里是这样的

显示BeautifulSoup已经导入了

请问我要怎么做才能解决这个问题呢?

万分感谢!

天蓬老师天蓬老师2646 days ago576

reply all(2)I'll reply

  • 阿神

    阿神2017-04-18 10:27:19

    找了其他人的代码看,终于知道是什么问题

    并不是路径的问题,而是传参的问题

    markup 其实是要解析的内容,例如:

    soup = BeautifulSoup("<html>data</html>", "lxml")

    或者

    markup = "<html>data</html>"
    soup = BeautifulSoup(markup, "lxml")

    PS. 在文档中没有函数参数列表之类的,不知道是不是找的位置错了...

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:27:19

    pip install lxml

    reply
    0
  • Cancelreply