Python爬虫怎么遍历文档树?Python爬虫是如何遍历HTML文档的

大部分python爬虫访问网页请求后抓取数据返回的都是html格式的数据文档,而这些文档都是以节点树结构而存在的 。而下面这篇文章所要讲解的内容就是,使用第三方库BeautifulSoup实现遍历HTML文档树的几个方法,感兴趣的小伙伴可以一起往下看看哦 。

Python爬虫怎么遍历文档树?Python爬虫是如何遍历HTML文档的

文章插图
一、获取子孙节点
在html文档之中一个标签下的另外一个标签被称之为子节点,而该子节点下如果还有标签的话,那么自然就会被视为根节点的孙子节点了 。而这个方法就是用来获取一个节点下所有节点的,使用lxml解析器先将html文档进行解析处理 。
然后再用descendants属性即可对一个节点下所有子孙节点进行递归循环,最后只需要使用for循环迭代它即可取出该节点下所有节点和子节点的内容,代码示例如下所示:
from bs4 import BeautifulSouphtml = """<html><head><title>The Dormouse's story</title></head>"""soup = BeautifulSoup(html, "lxml")for child in soup.head.descendants:    print(child)<title>The Dormouse's story</title>The Dormouse's story以上代码示例就是取到了head标签下的title节点并将其输出,因为该节点中还有内容可以视为子节点,所有还会将这个节点的内容再遍历到输出 。
【Python爬虫怎么遍历文档树?Python爬虫是如何遍历HTML文档的】二、获取string属性
因为HTML文档实际上是由不同标签嵌套来组成的,如果一个节点下面只有一个string类型的子节点的话,那么就可以使用string属性直接获取到这个节点下面的文本内容 。哪怕是这个节点下面还嵌套了多个不同的节点存在,详细代码示例如下所示:
print(soup.head.string)print(soup.head.title.string)The Dormouse's storyThe Dormouse's story以上就是关于“Python爬虫怎么遍历文档树?Python爬虫是如何遍历HTML文档的”的全部内容了,希望对你有所帮助 。

    推荐阅读