如何解决美丽的汤和餐桌刮面-LXML与HTML解析器
BeautifulSoup
文档中有一个特殊的段落,称为“解析器之间的差异”,其中指出:
Beautiful Soup为许多不同的解析器提供了相同的接口,但是每个解析器都是不同的。不同的解析器将从同一文档创建不同的解析树。最大的区别在于HTML解析器和XML解析器之间。
在格式不正确的HTML文档中,差异变得很明显。
道德是,您应该使用在特定情况下有效的解析器。
还要注意,您应该始终明确指定要使用的解析器。这将帮助您避免在不同的计算机或虚拟环境上运行代码时出现意外。
解决方法
我正在尝试使用BeautifulSoup从网页中提取表格的HTML代码。
<table class="facts_label" id="facts_table">...</table>
我想知道为什么下面的代码可以与一起使用"html.parser"
,none
如果我更改"html.parser"
为,则可以打印回去"lxml"
。
#! /usr/bin/python
from bs4 import BeautifulSoup
from urllib import urlopen
webpage = urlopen('http://www.thewebpage.com')
soup=BeautifulSoup(webpage,"html.parser")
table = soup.find('table',{'class' : 'facts_label'})
print table
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。