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
一样。