python爬虫由浅入深4--基于bs4的html内容遍历方法

基于bs4的html内容遍历方法

html可转化为树形结构,从而可以让我们对遍历方法和遍历过程有一个直观的认识
例如,以下的html代码
<html>
 <head>
  <title>
   This is a python demo page
  </title>
 </head>
 <body>
  <p class="title">
   <b>
    The demo python introduces several python courses.
   </b>
  </p>
  <p class="course">
   Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:
   <a class="py1" href="http://www.icourse163.org/course/BIT-268001" id="link1">
    Basic Python
   </a>
   and
   <a class="py2" href="http://www.icourse163.org/course/BIT-1001870001" id="link2">
    Advanced Python
   </a>
  </p>
 </body>
</html>

就可以转化为以下的标签树:





标签树可以有三种遍历方式:

标签树的下行遍历:
属性 说明
.contents 子节点的列表,将<tag>所有的儿子节点存入列表
.children 子节点的迭代类型,与contents类似,用于循环遍历儿子节点
.descendants 子孙节点的迭代类型,包含所有的子孙节点,用于循环遍历

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

标签树的平行遍历:
.next_slibing 返回按照html文本顺序的下一个平行节点标签
.previous_slibing 返回按照html文本顺序的上一个平行节点标签
(所有的平行遍历必须发生在同一个父节点下的各节点之间)


综上,可以得下图:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值