crawl bs4 之遍歷文件樹

2022-06-15 11:00:14 字數 2277 閱讀 8711

概要

遍歷文件樹:即直接通過標籤名字選擇,特點是選擇速度快,但如果存在多個相同的標籤則只返回第乙個

#1、用法

#2、獲取標籤的名稱

#3、獲取標籤的屬性

#4、獲取標籤的內容

#5、巢狀選擇

#6、子節點、子孫節點

#7、父節點、祖先節點

#8、兄弟節點

總結:-soup.body.p

-取屬性 soup.body.p.attrs 或者 soup.body.p['

name']

-取文字soup.body.p.text 把子子孫孫的文字拼到一起

-取文字soup.body.p.string 只取當前p標籤的文字,如果還有子標籤,取出none

-取文字soup.body.p.strings 取出子子孫孫標籤的文字,放到乙個生成器中

**

#pip3 install beautifulsoup4
from bs4 import

beautifulsoup

html_doc = """

asdfasdfasdfas

once upon a time there were three little sisters; and their names were

elsie,

lacie and

tillie;

and they lived at the bottom of a well.

..."""

soup=beautifulsoup(html_doc,'

lxml')

#遍歷文件樹(速度快)

#1、用法

#head=soup.head

#print(head)

#print(type(head))

#p=soup.body.p

#p=soup.p

#print(p)

#2、獲取標籤的名稱

#p=soup.p.name # 物件.name 取到標籤的名字

#print(p)

#3、獲取標籤的屬性

#p=soup.p['class'] # class 是列表,可以有多個

#name=soup.p['name']

#attr=soup.p.attrs # 所有屬性放到字典中

#print(attr)

#4、獲取標籤的內容

#t=soup.p.text # 把p標籤文字+子標籤文字都拿出來

#print(soup.p.string) # p下的文字只有乙個時,取到,否則為none

#print(soup.p.strings) #拿到乙個生成器物件, 取到p下所有的文字內容

#print(list(soup.p.strings)) #拿到乙個生成器物件, 取到p下所有的文字內容

#5、巢狀選擇

#b=soup.body.p.b

#print(b)

#6、子節點、子孫節點

#print(soup.p.contents) #p下所有子節點

#print(soup.p.children) #得到乙個迭代器,包含p下所有子節點

#print(list(soup.p.children)) #得到乙個迭代器,包含p下所有子節點##

for i,child in enumerate(soup.p.children):

#print(i,child)##

print(soup.p.descendants) #獲取子孫節點,p下所有的標籤都會選擇出來

#for i,child in enumerate(soup.p.descendants):

#print(i,child)

#7、父節點、祖先節點

#print(soup.a.parent) #獲取a標籤的父節點

#print(soup.a.parents) #找到a標籤所有的祖先節點,父親的父親,父親的父親的父親...

#print(list(soup.a.parents)) #找到a標籤所有的祖先節點,父親的父親,父親的父親的父親...

#8、兄弟節點

#print(soup.a.next_sibling) #下乙個兄弟

#print(soup.a.previous_sibling) #上乙個兄弟##

print(list(soup.a.next_siblings)) #下面的兄弟們=>生成器物件

#print(list(soup.a.previous_siblings)) #上面的兄弟們=>生成器物件

bs4的用法之遍歷文件樹以及查詢文件樹

bs4的用法之遍歷文件樹以及查詢文件樹 bs4的使用 from bs4 import beautifulsoup html doc the dormouse s story once upon a time there were three little sisters and their name...

bs4 遍歷文件樹

from bs4 import beautifulsoup html first item second item third item soup beautifulsoup html,lxml ui soup.ui print ui.contents 返回列表 print ui.children ...

遍歷DOM文件樹

一 介紹 遍歷文件樹通過使用parentnode屬性 firstchild屬性 lastchild屬性 previoussibling屬性和nextsibling屬性來實現。1 parentnode屬性 該屬性返回當前節點的父節點。pnode obj.parentnode pnode 該引數用來儲存...