bs4庫
from bs4 import BeautifulSoup
soup=BeautifulSoup(html,”html.parser”)生成soup對象
soup.html# 字元串輸出html
soup.prettify()
soup.p # html的第一個p标簽
tsoup.p.attrs
p标簽的屬性值 {‘class’: [‘title’], ‘name’: ‘dromouse’}ype(soup.p) # <class ‘bs4.element.Tag’>
soup.p.attrs[‘class’] # p标簽的屬性 class的值
soup.p[‘class’]) # p标簽的屬性 class的值
soup.p.string) # p标簽的文本
type(soup.p.string) # <class ‘bs4.element.NavigableString’>
Comment 對象是一個特殊類型的 NavigableString 對象,其輸出的内容不包括注釋符号。
print(soup.a.string) # Elsie
print(type(soup.a.string)) # <class ‘bs4.element.Comment’>
soup.find_all(attrs={“data-foo”: “value”})
查找所有attrs屬性的标簽
soup.find(class_=“bmsg”)
查找所有class為bmsg的标簽,class後面記得加一個下劃線
p_list = soup.find_all(‘p’) # 找到所有p标簽
soup.find_all(id=‘link2’)#查找所欲id為link2的标簽
soup.find_all(text=“Elsie”)#查找文本内容為Elisie的标簽
soup.find_all(href=re.compile(“elsie”), id=‘link1’)
查找id為link1,連結包含re.compile(“elsie”)形式的标簽
以上所欲傳入的值也可以是正規表達式形式,清單
soup.find_all(text=[“Tillie”, “Elsie”, “Lacie”])
selsect選擇器查找
p_list = soup.select(‘p’) #标簽選擇器
class_list = soup.select(’.sister’) # 類選擇器
tag_list = soup.select(’#link1’) # id選擇器
tag_list = soup.select(‘p .sister’) # 後代選擇器
attr_list = soup.select(‘a[class=“sister”]’) # 屬性選擇器