import requests
html=requests.get('url')
soup=BeautifulSoup(html.text,'lxml')
解析器的種類:
html.parser: python自帶,但容錯性不夠高
lxml: 解析速度快,需額外安裝(推薦使用)
xml: 同lxml庫,支持xmlx文檔
html5lib :最好的容錯性,但速度稍慢
(一)使用Tag對象按照文檔結構獲取數據
soup.title #title元素
soup.p #第一個p
soup.p['class'] #p元素的class屬性
soup.p.b #p元素下的b元素
soup.p.parent.name #p元素的父節點標簽
搜索
(二)find_all 和 find選擇器
(1)a=soup.find_all('標簽',class_='屬性') #找出所有的
a.text #獲取內容
(2)b=soup.find('標簽',class_='屬性') #獲取第一個
b.get_text() #獲取內容
b.text #獲取內容
(三)css選擇器
soup.select('title') #通過標簽獲取元素
soup.select('.title') #通過class="title"來獲取元素
soup.select('#link2') #通過id="link2"來獲取元素
soup.select('html body p') #獲取html下的body標簽下的p標簽中內容
soup.select('p,.text') #同時獲取p標簽和class="text"