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
相关文章:
1. javascript - JS设置Video视频对象的currentTime时出现了问题,IE,Edge,火狐,都可以设置,反而chrom却...2. python - django models 为生成的html元素添加样式。3. android - 安卓做前端,PHP做后台服务器 有什么需要注意的?4. docker-compose 为何找不到配置文件?5. python的bs4如何筛选出h1标签中的内容6. 前端 - css3 3d效果问题7. java - spring-data Jpa 不需要执行save 语句,Set字段就可以自动执行保存的方法?求解8. docker gitlab 如何git clone?9. javascript - Js 函数声明和函数表达式10. html5 - 为什么使使用vue cli 脚手架,post-css 没有自动对css3属性自动添加浏览器前缀呢?
