python - BeautifulSoup指定lxml作为解析器报错?
问题描述
环境:windows 10PyCharm 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已经导入了
请问我要怎么做才能解决这个问题呢?
万分感谢!
问题解答
回答1:找了其他人的代码看,终于知道是什么问题
并不是路径的问题,而是传参的问题
markup 其实是要解析的内容,例如:
soup = BeautifulSoup('<html>data</html>', 'lxml')
或者
markup = '<html>data</html>'soup = BeautifulSoup(markup, 'lxml')
PS. 在文档中没有函数参数列表之类的,不知道是不是找的位置错了...
回答2:pip install lxml
相关文章: