天天看點

python爬蟲資料提取-BeautifulSoup庫p标簽的屬性值 {‘class’: [‘title’], ‘name’: ‘dromouse’}ype(soup.p) # <class ‘bs4.element.Tag’>Comment 對象是一個特殊類型的 NavigableString 對象,其輸出的内容不包括注釋符号。

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”]’) # 屬性選擇器