Python爬虫BeautifulSoup--导航树

2025-05-29 13:37:35

findAll 函数通过标签的名称和属性来查找标签 。但是如果你需要通过标签在文档中的置来查找标签, 该怎么办?这就是导航树(Navigating Trees)的作用。

Python爬虫BeautifulSoup--导航树

工具/原料

Python

BeautifulSoup

打开网页

1、打开图中网页:

Python爬虫BeautifulSoup--导航树

1. 处理子标签和其他后代标签

1、和许多其他库一样, 在 BeautifulSoup 库里, 孩子(child)和后代(de衡痕贤伎scendant)有显著不同:和人类的家谱一样,子标签就是一个父标签的下一级,而后代标签是指一个父标下面所有级别的标签。例如, tr 标签是 tabel 标签的子标签,而 tr、 th、 td、 img 和 spa标签都是 tabel 标签的后代标签。

Python爬虫BeautifulSoup--导航树
Python爬虫BeautifulSoup--导航树

2. 处理兄弟标签

1、BeautifulSoup 的 next_siblings() 函数可以让收集表格数据成为简单的事情,尤其是处带标题行的表格:

Python爬虫BeautifulSoup--导航树

3. 父标签处理

1、在抓取网页的时候, 查找父标签的需求比查找子标签和兄弟标签要少很多。通常情下,如果以抓取网页内容为目的来观察 HTML 页面, 我们都是从最上层标签开始的,后思考如何定位我们想要的数据块所在的位置。 但是,偶尔在特殊情况下你也会用BeautifulSoup 的父标签查找函数, parent 和 parents。

Python爬虫BeautifulSoup--导航树

2、选择图片标签 src="../img/gifts/img1.jpg";选择图片标签的父标签(在示例中是 <td> 标签);选择 <td> 标签的前一个兄弟标签 previous_sibling(在示例中是包含美元价格的 <td>标签)选择标签中的文字,“$15.00”。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢