一.環境安裝:
需要安裝:
- lxml pip install lxml
- bs4 pip install bs4
二.基礎用法 :
from bs4 import BeautifulSoup
使用方式:可以將一個html文檔,轉化爲BeautifulSoup對象,然後通過對象的方法或者屬性去查找指定的內容
(1)轉化本地文件:
- soup = BeautifulSoup(open('本地文件'), 'lxml')
(2)轉化網絡文件:
- soup = BeautifulSoup('字符串類型或者字節類型', 'lxml')
(3)打印soup對象顯示內容爲html文件中的內容
三.soup對象的常見操作:
ps:select選擇器返回永遠是列表,需要通過下標提取指定的對象;
(1)根據標籤名查找
- soup.a 只能找到第一個符合要求的標籤
(2)獲取屬性
- soup.a.attrs 獲取a所有的屬性和屬性值,返回一個字典
- soup.a.attrs['href'] 獲取href屬性
- soup.a['href'] 也可簡寫爲這種形式
(3)獲取內容
- soup.a.string
- soup.a.text
- soup.a.get_text()
【注意】如果標籤還有標籤,那麼string獲取到的結果爲None,而其它兩個,可以獲取文本內容(4)find:找到第一個符合要求的標籤
- soup.find('a') 找到第一個符合要求的
- soup.find('a', title="xxx")
- soup.find('a', alt="xxx")
- soup.find('a', class_="xxx")
- soup.find('a', id="xxx")
(5)find_all:找到所有符合要求的標籤
- soup.find_all('a')
- soup.find_all(['a','b']) 找到所有的a和b標籤
- soup.find_all('a', limit=2) 限制前兩個
(6)select:soup.select('#feng')
- 根據選擇器選擇指定的內容
- 常見的選擇器:標籤選擇器(a)、類選擇器(.)、id選擇器(#)、層級選擇器
- 層級選擇器:
div .dudu #lala .meme .xixi 下面好多級
div > p > a > .lala 只能是下面一級