BeautifulSoup
对象支持使用CSS选择器查找标签。这些选择器是CSS语言中使用的指定HTML Tag样式的方式。
下面是一些例子:
-
p a
— 在p标记中找到所有的a标签。 -
body p a
— 在body标记内的p标记内查找所有a标签。 -
html body
— 查找html标记内的body标签。 -
p.outer-text
— 查找带有类是outer-text
所有p标记。 -
p#first
— 查找id为first
的所有p标签。 -
body p.outer-text
— 在body标记中查找类是outer-text
的p标签。
使用CSS选择器查找标签,可以使用select
方法:
import requests from bs4 import BeautifulSoup page = requests.get("https://kevinhwu.github.io/demo/python-scraping/simple2.html") soup = BeautifulSoup(page.content, 'html.parser') soup.select("div p")
输出
[<p class="inner-text first-item" id="first"> First paragraph. </p>, <p class="inner-text"> Second paragraph. </p>]
注意,上面的select
方法返回一个BeautifulSoup
对象列表,就像find
和find_all
一样。