【导读】我们在上一节的内容中已经为大家对Beautiful Soup库进行讨论,这一节将学习标签树的遍历。本文内容讨论了标签树遍历的四个内容:HTML基本格式、下行遍历、上行遍历以及平行遍历。话不多说,让我们一起学习这些内容吧。
Python网络爬虫与信息抽取笔记01 课程框架和Python IDE工具
Python网络爬虫与信息抽取笔记02 requests库入门
Python网络爬虫与信息抽取笔记07 Beautiful Soup库
视频网址:
https://www.bilibili.com/video/av9784617?from=search&seid=240663710546169136
http://www.icourse163.org/course/BIT-1001870001?tid=1001962001
Python网络爬虫与信息抽取笔记08 标签树的遍历
今天介绍bs4库的具体应用
1.HTML基本格式
HTML基本格式如下图所示
我们可以根据HTML格式制作一个标签树
我们有三种方法遍历,分别是下行遍历、上行遍历以及平行遍历。
2.下行遍历
例如我们用soup.head.contents就可以得到标签<head>的子标签
对于一个标签的儿子节点并不只包括标签节点还包括字符串节点
注意.contents返回形式是列表,可以用列表的方式对其中的信息进行检索
我们可以用下图的for循环分别遍历儿子节点或者子孙节点(第二个for循环打印错误,应为soup.body.descendants)
对于标签树的上行遍历有两个属性,其中第二个属性.parents为迭代类型
以下指令我们可以发现html的父亲是它自己,soup没有父亲
我们可以用for循环进行标签树的上行遍历
标签树的平行遍历则有四个属性
标签树的平行遍历是有条件的
下面是一个具体的例子,平行遍历必须在同一个父节点下的各节点间
通过soup.a.next_sibling指令我们可以知道A标签的下一个平行节点是一个字符串and
soup.a.previous_sibling可以得到上一个平行节点标签
我们可以用下面两个for循环分别遍历后续节点和前续节点
我们总结一下上述所讲的东西,可以全部属性都如下图所示
参考链接:
http://www.icourse163.org/course/BIT-1001870001?tid=1001962001
更多教程资料请访问:人工智能知识资料全集
-END-
专 · 知
人工智能领域主题知识资料查看与加入专知人工智能服务群:
【专知AI服务计划】专知AI知识技术服务会员群加入与人工智能领域26个主题知识资料全集获取
点击上面图片加入会员
请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料!
请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!
点击“阅读原文”,使用专知