前言
BeautifulSoup也就是bs4,里面功能其實有很多,不過對于爬蟲而言主要掌握一下幾塊就可以了
- 怎么找標簽?
- 找到標簽后怎么獲取屬性,怎么獲取文本內容
- 如何通過找到的標簽繼續獲取子標簽
安裝
pip install bs4
案例
對于找標簽來說,bs4提供了很多方法,不過掌握find()
和find_all()
一般就能滿足大部分爬蟲場景了
固定語法page.find("標簽名", attrs={"屬性": "值"})
from bs4 import BeautifulSoup
html = """
<html>
<body><ul><li><a href="link1.html">斗羅大陸</a></li><li id="abc"><a href="link1.html">斗破蒼穹</a></li><li><a href="link1.html">仙逆</a></li><li><a href="link1.html">凡人修仙傳</a></li></ul>
</body>
</html>
"""
# 1.初始化對象
page = BeautifulSoup(html, 'html.parser')
# 2.固定語法-查找某個元素
li = page.find("li", attrs={"id": "abc"})
# 3.每個被找到的元素,都可以繼續被find()和find_all()
# 查找li標簽下的a標簽
a = li.find("a")
# 4.獲取標簽屬性
a_href = a.get('href')
# 5.獲取文本內容
a_text = a.text# find_all()使用
li_list = page.find_all("li")
for li in li_list:print(li.text)
總結
- bs4可以通過
find()
和find_all()
查找標簽 - 查找到的標簽可以繼續使用
find()
和find_all()
查找下級標簽 - 標簽通過
get()
方法獲取標簽屬性,通過.text
獲取標簽文本內容