findAll函数通过标签的名称和属性来查找标签。但是如果你需要通过标签在文档中的位置来查找标签,该怎么办?这就是导航树(Navigating Trees)的作用。前面的博文中,我们看过用单一方向进行BeautifulSoup标签树的导航:
bsObj.tag.subTag.anotherSubTag
现在我们用虚拟的在线购物网站http://www.pythonscraping.com/pages/page3.html作为要抓取的示例网页,演示HTML导航树的纵向和横向导航。
这个HTML页面可以映射一棵树(为了简洁,省略了一些标签),如下所示:
html
-body
-div.wrapper
-h1
-div.content
-table#giftList
-tr
-th