微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

美丽的汤和餐桌刮面-LXML与HTML解析器

如何解决美丽的汤和餐桌刮面-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 举报,一经查实,本站将立刻删除。