BeautifulSoup的几种遍历方式

1.下行遍历

(1).contents :子节点的列表,将所有儿子节点存入列表
(2).children :子节点的迭代类型,与.contents类似,用于循环遍历儿子节点
(3).descendants :子孙节点的迭代类型,包含所有子孙节点,用于循环遍历

for child in soup.body.children: 
	print(child) # 遍历儿子节点
 for child in soup.body.descendants: 
 	print(child) # 遍历子孙节点

2.上行遍历

(1).parent :节点的父亲标签
(2).parents :节点先辈标签的迭代类型,用于循环遍历先辈节点

soup = BeautifulSoup(demo, "html.parser") 
for parent in soup.a.parents: # 遍历soup的a标签的先辈标签 
	if parent is None:
	 	print(parent) 
	 else:
	 	print(parent.name) 

3.平行遍历

(1).next_sibling :返回按照HTML文本顺序的下一个平行节点标签
(2).previous_sibling: 返回按照HTML文本顺序的上一个平行节点标签
(3).next_siblings :迭代类型,返回按照HTML文本顺序的后续所有平行结点标签
(4).previous_siblings: 迭代类型,返回按照HTML文本顺序的前续所有平行节点标签

for sibling in soup.a.next_siblings: # 遍历后续节点
	print(sibling) 
 for sibling in soup.a.previous_siblings: # 遍历前续节点 
 	print(sibling) 

你可能感兴趣的:(爬虫,beautifulsoup)