标签树的三种遍历

您所在的位置:网站首页 树的遍历三种顺序图示 标签树的三种遍历

标签树的三种遍历

2024-04-29 08:31| 来源: 网络整理| 查看: 265

一、标签树的下行遍历

属性 说明 .contents 子节点的列表,将所有儿子节点存入列表中(只能获取下一级儿子节点) .children 子节点的迭代类型,与.contents类似,用于循环遍历儿子节点 .descendants 子孙节点的迭代类型,包含所有子孙结点,用于循环遍历(可以获取所有子节点)

 

 

 

 

 

 

1 #这里使用前一篇文章的demo这锅汤 2 print(soup.head)#打印head标签 3 print(soup.body.contents)#打印body标签的下一级标签 4 print(len(soup.body.contents))#打印body标签的下一级标签的个数 1 for child in soup.body.contents: 2 print(child)#循环遍历儿子节点 3 4 for child in soup.body.contents: 5   print(child)#循环遍历子孙节点

 

 

二、标签树的上行遍历

属性 说明 .parent 节点的父亲标签 .parents 节点先辈标签的迭代类型,用于循环遍历先辈节点

 

 

 

 

1 #依旧使用demo和soup这锅汤 2 #demo = r.text 3 #soup = BeautifulSoup(demo,"html.parser") 4 5 print(soup.title.paret)#打印title的父亲标签 6 print(soup.html.parent)#由于html标签是最高级的标签,它的父亲是它自己 7 8 #循环上行遍历标签树: 9 for parent in soup.a.parents: 10 if parent is None: 11 print(parent) 12 else: 13 print(parent.name)

 

 

三、标签树的平行遍历

属性 说明 .next_sibling 返回按照HTML文本顺序的下一个平行节点标签 .previos_sibling 返回按照HTML文本顺序的上一个平行节点标签 .next_siblings 迭代类型,返回按照HTML文本顺序的后续所有平行节点标签 .previous_siblings 迭代类型,返回按照HTML文本顺序的前续所有平行节点标签

 

 

 

 

 

 

 

 

注意:这个只能发生在父节点相同的标签遍历

1 print(soup.a.next_sibling)#平行节点的后一个兄弟标签 2 print(soup.a.previous_sibling)#平行节点的前一个兄弟标签 3 4 for sibling in soup.a.next_siblings: 5 print(sibling)#循环遍历后续节点 6 7 for sibling in soup.a.previous_siblings: 8 print(sibling)#循环遍历前续节点

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3