基於python中BS庫的Html原始碼整理

2021-10-05 16:05:05 字數 2078 閱讀 4977

我們使用urllib模組進行http請求獲取到的是整個網頁的html,但是我們往往只需要其中一部分對我們有用的內容。這時我們就可以使用htmlparser模組來幫助我們處理html。

htmlparser是python內建的專門用來解析html的模組。利用htmlparser,我們可以分析出一段html裡面的標籤、資料等,是一種處理html的簡便途徑。

假設我們在網上爬取了下列原始碼

html_doc = """

>

>

>

the dormouse's storytitle

>

head

>

>

class

="title"

>

>

the dormouse's storyb

>

p>

class

="story"

>

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

href

=""class

="sister"

id="link1"

>

elsiea

>

,href

=""class

="sister"

id="link2"

>

laciea

>

andhref

=""class

="sister"

id="link3"

>

tilliea

>

;and they lived at the bottom of a well.p

>

class

="story"

>

...p

>

"""

我們想要繼續對其中的資料進行分析,但爬取後的html**段格式較為混亂,那麼我們可以使用beautifulsoup中的 preettitf()函式進行 對所爬取的**進行初步的分行整理。

from bs4 import beautifulsoup

soup = beautifulsoup(html_doc,

'html.parser'

)print

(soup.prettify(

))

>

>

>

the dormouse's story

title

>

head

>

>

class

="title"

>

>

the dormouse's story

b>

p>

class

="story"

>

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

class

="sister"

href

=""id=

"link1"

>

elsie

a>

,class

="sister"

href

=""id=

"link2"

>

lacie

a>

andclass

="sister"

href

=""id=

"link3"

>

tillie

a>

;and they lived at the bottom of a well.

p>

class

="story"

>

...p>

body

>

html

>

整理後可以更清楚的看到原始碼的每層結構和片段歸屬。

基於bs4庫的HTML查詢方法

find all name,attrs,recursive,string,kwargs 返回乙個列表型別,內部儲存查詢的結果 對標籤名稱的檢索字串 import requests from bs4 import beautifulsoup r requests.get demo r.text sou...

基於bs4庫的HTML標籤遍歷方法

html可以看做一棵標籤樹 屬性說明 contents 將該標籤所有的兒子節點存入列表 children 子節點的迭代型別,和contents類似,用於遍歷兒子節點 descendants 子孫節點的迭代型別,包含所有的子孫跌點,用於迴圈遍歷 import requests from bs4 imp...

基於bs4庫的HTML內容遍歷方法

html基本格式 樹型格式 遍歷方式 下行遍歷 根節點到葉節點 上行遍歷 葉節點到根節點 平行遍歷 標籤樹的下行遍歷 屬性說明 contents 子節點的列表,將所有兒子節點存入列表 children 子節點的迭代型別,與.contents類似,用於迴圈遍歷兒子節點 descendants 子孫節點...