def parseHtml(html): soup = BeautifulSoup(html, 'lxml') # print(soup.prettify)格式化輸出 # items = soup.find_all('div', attrs={'class': 'news-list-b'}) # items = soup.select('Tag')#CSS選擇器 # items = soup.select('.class')屬性 # items = soup.select('#id')ID # items = soup.select('Tag[attr="屬性值"]')標籤+屬性 # items = soup.select('.class Tag #id')空格表示子節點,組合使用 # items = soup.select('Tag').text取文本 # items = soup.select('Tag').get_text()取文本 # tag.get('className')取標籤屬性 # tag['className']取標籤屬性 # tag.attrs.get('className')取標籤屬性 items = soup.select('.news-list-b .list .item .title a') for item in items: yield item.get('href')#attrs字典取屬性
CSS選擇器 子串匹配 模糊匹配html
soup = BeautifulSoup(html, 'lxml') trs = soup.select('#table_live tr[id*="tr1"]') #id包含「tr1」字符串的tr標籤 #soup.select('tag[attr="屬性值"]') #標籤+屬性
tags = soup.select('li[id^="newsLi"]') #標籤+屬性,id屬性以newsLi開頭
tags = soup.select('li[id$="newsLi"]') #標籤+屬性,id屬性以newsLi結尾
tags = soup.select('li[id*="newsLi"]') #標籤+屬性,id屬性包含newsLi
select帶有空格的classspa
#div class=’content-list latest-content’ #div class=’content-list hot-content’ tags = soup.select('div.content-list.latest-content')