Beautiful Soup 美化页面
在之前的代码示例中,我们通过beautiful构造函数使用字符串方法解析文档。另一种方法是通过打开文件句柄来传递文档。
from bs4 import BeautifulSoup
with open("example.html") as fp:
soup = BeautifulSoup(fp)
soup = BeautifulSoup("<html>data</html>")
首先将文档转换为Unicode,然后将HTML实体转换为Unicode字符:
import bs4
html = '''<b>tutorialspoint</b>, <i>&web scraping &data science;</i>'''
soup = bs4.BeautifulSoup(html, 'lxml')
print(soup)
输出
<html><body><b>tutorialspoint</b>, <i>&web scraping &data science;</i></body></html>
BeautifulSoup然后使用HTML解析器解析数据,或者您明确告诉它使用XML解析器进行解析。
HTML树结构
在我们查看HTML页面的不同组件之前,我们先了解HTML树结构。
文档树中的根元素是html,它可以有父元素、子元素和兄弟元素,这取决于它在树结构中的位置。要在HTML元素、属性和文本之间移动,您必须在树结构中移动节点。
让我们假设网页如下所示−
这个网页被转化为以下的html文档 −
<html><head><title>TutorialsPoint</title></head><h1>Tutorialspoint Online Library</h1><p<<b>It's all Free</b></p></body></html>
这意味着,对于以上的html文档,我们有以下的html树结构 −