安裝
在命令提示符框中直接輸入pip install beautifulsoup4
介紹
beautifulsoup是python的一個第三方庫,和xpath一樣,都是用來解析html數(shù)據(jù)的。
引入
from bs4 import BeautifulSoup
使用
將一段文檔傳入BeautifulSoup的構(gòu)造方法,就能得到一個文檔的對象。
bs = BeautifulSoup(open('index.html',encoding='utf-8'),'lxml')print(bs)注意:這樣上傳文檔的話,BeautifulSoup里面需要兩個參數(shù)。一個為open方法,一個是固定寫法,也就是解析器。
open方法里面也同樣需要兩個參數(shù),一個是想要解析的數(shù)據(jù),另一個為設(shè)置編碼的格式。
(1)獲取網(wǎng)頁中的title標(biāo)簽
print(bs.title)
(2)獲取head標(biāo)簽及標(biāo)簽內(nèi)部的所有其他標(biāo)簽
print(bs.head)
(3)獲取當(dāng)中的第一個a標(biāo)簽
print(bs.a)
注意:獲取文檔當(dāng)中所有的xx當(dāng)中第一個xx或者第一個xx里面的內(nèi)容。都可以用bs.xx來獲取
(4)獲取指定標(biāo)簽的所有屬性
print(bs.a.attrs)
(5)獲取標(biāo)簽的屬性
print(bs.a['href'])
(6)獲取標(biāo)簽的文本內(nèi)容。
print(bs.a.string)
注意:string獲取的文本指的是本標(biāo)簽的文本,不包含子標(biāo)簽的文本
(7)contents能夠獲取指定標(biāo)簽下面的所有內(nèi)容。
print(bs.body.contents)
(8)獲取所有內(nèi)容當(dāng)中指定索引的內(nèi)容
print(bs.div.contents[3])
(9)通過id和類名來找標(biāo)簽
print(bs.find(id='kw'))
print(bs.find(class_='shopping'))
注意:id是唯一的,通過id來找,只能找到一個,所以用find,而class不是唯一的,通過class來找,就有可能找到多個。
(10)select選擇指定的標(biāo)簽
print(bs.select('title'))
print(bs.select('a'))
在bs4中,小數(shù)點“.”表示類名,#表示id
print(bs.select('.first'))
print(bs.select('#kw'))
print(bs.select('div.now'))
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對VEVB武林網(wǎng)的支持。
新聞熱點
疑難解答
圖片精選