1.下行遍历
(1).contents :子节点的列表,将所有儿子节点存入列表
(2).children :子节点的迭代类型,与.contents类似,用于循环遍历儿子节点
(3).descendants :子孙节点的迭代类型,包含所有子孙节点,用于循环遍历
for child in soup.body.children:
print(child) # 遍历儿子节点
for child in soup.body.descendants:
print(child) # 遍历子孙节点
2.上行遍历
(1).parent :节点的父亲标签
(2).parents :节点先辈标签的迭代类型,用于循环遍历先辈节点
soup = BeautifulSoup(demo, "html.parser")
for parent in soup.a.parents: # 遍历soup的a标签的先辈标签
if parent is None:
print(parent)
else:
print(parent.name)
3.平行遍历
(1).next_sibling :返回按照HTML文本顺序的下一个平行节点标签
(2).previous_sibling: 返回按照HTML文本顺序的上一个平行节点标签
(3).next_siblings :迭代类型,返回按照HTML文本顺序的后续所有平行结点标签
(4).previous_siblings: 迭代类型,返回按照HTML文本顺序的前续所有平行节点标签
for sibling in soup.a.next_siblings: # 遍历后续节点
print(sibling)
for sibling in soup.a.previous_siblings: # 遍历前续节点
print(sibling)