基于BS4的遍历方法及BS4库的HTML格式化和编码
一、基于BS4的遍历方法
1.html基本格式
2.便签树的遍历方法
(1)标签树的下行遍历
属性 | 说明 |
---|---|
.contents | 子节点的列表,将所有儿子节点存入列表 |
.children | 子节点的迭代类型,与.content类似,用于循环遍历儿子节点 |
.descendants | 子孙节点的迭代类型,包含所有子孙节点,用于循环遍历 |
遍历儿子节点
for child in soup.body.children:
print(child)
遍历子孙节点
for child in soup.body.descendants
print(child)
(2)标签树的上行遍历
属性 | 说明 |
---|---|
.parent | 节点的父亲标签 |
.parents | 节点先辈标签的迭代类型,用于循环遍历先辈节点 |
(3)标签树的平行遍历
属性 | 说明 |
---|---|
.net_sibling | 返回按照HTML文本顺序的下一个平行节点标签 |
.previous_sibling | 返回按照HTML文本顺序的上一个平行节点标签 |
.next_siblings | 迭代类型,返回按照HTML文本顺序的后续所有平行节点标签 |
.previous_siblings | 迭代类型,返回按照HTML文本顺序的前续所有平行节点标签 |
二、BS4库的HTML格式化和编码
1.bs4库的prettify()方法
1 print(soup.a.prettify())
2.编码
bs4会将所有读取到的文件或字符串都转换为utf-8格式,这是一种国际通用的编码语言,可以很好支持中文等第三方语言
1 >>>soup = BeautifulSoup("< p >中文< /p >","html.praser") 2 >>>soup.p.string 3 '中文' 4 >>>print(soup.p.prettify()) 5 < p > 6 中文 7 </p>