1、概述
上一篇文章中主要介绍了使用bs4搜索文档树,主要使用find与find_all方法。但这种搜索的方法主要专注于标签以及标签的属性。其实在html中可以被用来作为元素选择器的还有一种就是CSS,在css的任何版本中都有选择器的相关定义。在很多框架中我们都是用css的选择器来定位元素的。同样在bs4中,同样提供了一整套基于css的方法来选择元素。
2、使用css选择器来搜索文档树
在 Tag 或 BeautifulSoup 对象的 .select() 方法中传入字符串参数, 即可使用CSS选择器的语法找到tag,如下列代码所示:
soup.select("title")
# [<title>The Dormouse's story</title>]
soup.select("p nth-of-type(3)")
# [<p class="story">...</p>]
下面用集中css中常用操作来说明如何使用css选择器来搜索文档树:
- 通过tag标签逐层查找
soup.select("body a")
# [<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>,
# <a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>,
# <a class