BeautifulSoup 的遍历的实现方法

BeautifulSoup 的遍历的实现方法

BeautifulSoup库是对标签树功能的遍历集合
BeautifulSoup 的遍历包括

  1. 下行遍历
  2. 上行遍历
  3. 平行遍历

注意:’and ’,‘\n’也都是节点,在使用 len() 计算节点个数需要计入个数,在平行遍历时也要作为单独节点列出。

下行遍历

属性用法
.contents节点的儿子节点,返回类型是列表
.children循环遍历儿子节点
.descendants循环遍历子孙节点

.content 用法
例如:

soup.head.contents

类似返回结果:[ < title> this is a page </ title > ]

soup.body.contents

类似返回结果:[ ’ \n '. < p > XXXXX </ p > < p ><a class=“py” href=“http://” </ a > </ p > ]

.children 用法(遍历得到儿子节点)

for n in soup.body.children:
print(n)

.descendants 用法(遍历得到子孙节点)

for n in soup.body.descendants:
print(n)

上行遍历

属性用法
.parent节点的父亲标签
.parents循环遍历先辈节点

.parent 用法
例如:

soup.titleparent

类似返回结果:< head >< title > this is a page < /title >< /head >

.parents用法

soup = BeautifulSoup(demo,“html.parser”)
for n in soup.a.parents:
if n is None:
print(n)
else:
print(n.name)

平行遍历

属性用法
.next_sibling返回按照HTML文本顺序的下一个平行标签
.previous_sibling返回按照HTML文本顺序的上一个平行标签
.next_siblings迭代返回按照HTML文本顺序的后面的所有平行标签
.previous_siblings迭代返回按照HTML文本顺序的前面的所有平行标签

注:平行节点是处于同一父节点下的节点

.next_sibling 用法(遍历后续节点)

for n in soup.a.next_sibling:
print(n)

.previous_sibling 用法(遍历前沿节点)

for n in soup.a.previous_sibling:
print(n)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值