html可以看做一棵標籤樹
屬性說明
.contents
將該標籤所有的兒子節點存入列表
.children
子節點的迭代型別,和contents類似,用於遍歷兒子節點
.descendants
子孫節點的迭代型別,包含所有的子孫跌點,用於迴圈遍歷
import requests
from bs4 import beautifulsoup
r=requests.get('')
demo=r.text
soup=beautifulsoup(demo,'html.parser')
print(soup.contents)# 獲取整個標籤樹的兒子節點
print(soup.body.content)#返回標籤樹的body標籤下的節點
print(soup.head)#返回head標籤
print(len(soup.body.content))#輸出body標籤兒子節點的個數
print(soup.body.content[1])#獲取body下第乙個子標籤
遍歷子孫節點
import requests
from bs4 import beautifulsoup
r=requests.get('')
demo=r.text
soup=beautifulsoup(demo,'html.parser')
for child in soup.body.children:#遍歷兒子節點
print(child)
for child in soup.body.descendants:#遍歷子孫節點
print(child)
屬性
說明.parent
節點的父親標籤
.parents
節點的先輩標籤的迭代型別,用於迴圈遍歷先輩節點
import requests
from bs4 import beautifulsoup
r=requests.get('')
demo=r.text
soup=beautifulsoup(demo,'html.parser')
print(soup.title.parent)
print(soup.title.parent)
print(soup.parent)
import requests
from bs4 import beautifulsoup
r=requests.get('')
demo=r.text
soup=beautifulsoup(demo,'html.parser')
for parent in soup.a.parents:#遍歷先輩的資訊
if parent is none:
print(parent)
else:
print(parent.name)
屬性
說明.next_sibling
返回html文字順序的下乙個平行標籤
.previous_sibling
返回html文字順序的上乙個平行標籤
.next_siblings
迭代型別,返回html文字順序後續所有的平行標籤
.pervious_siblings
迭代型別,返回html文字順序前面所有的平行標籤
注意
標籤樹的平行遍歷是有條件的
平行遍歷發生在同乙個父親節點的各節點之間
標籤中的內容也構成了節點
print(soup.a.next_sibling)#a標籤的下乙個標籤
print(soup.a.next_sibling.next_sibling)#a標籤的下乙個標籤的下乙個標籤
print(soup.a.previous_sibling)#a標籤的前乙個標籤
print(soup.a.previous_sibling.previous_sibling)#a標籤的前乙個標籤的前乙個標籤
平行遍歷
import requests
from bs4 import beautifulsoup
r=requests.get('')
demo=r.text
soup=beautifulsoup(demo,'html.parser')
for sibling in soup.a.next_siblings:#遍歷後續節點
print(sibling)
for sibling in soup.a.previous_sibling:#遍歷之前的節點
print(sibling)
import requests
from bs4 import beautifulsoup
r=requests.get('')
demo=r.text
soup=beautifulsoup(demo,'html.parser')
print(soup.prettify())
基於bs4庫的HTML內容遍歷方法
html基本格式 樹型格式 遍歷方式 下行遍歷 根節點到葉節點 上行遍歷 葉節點到根節點 平行遍歷 標籤樹的下行遍歷 屬性說明 contents 子節點的列表,將所有兒子節點存入列表 children 子節點的迭代型別,與.contents類似,用於迴圈遍歷兒子節點 descendants 子孫節點...
基於bs4庫的HTML查詢方法
find all name,attrs,recursive,string,kwargs 返回乙個列表型別,內部儲存查詢的結果 對標籤名稱的檢索字串 import requests from bs4 import beautifulsoup r requests.get demo r.text sou...
bs4之標籤樹的下行遍歷
import requests from bs4 import beautifulsoup def bianlisoup url r requests.get url,timeout 30 r.raise for status demo r.text soup beautifulsoup demo,...