03網頁解析器

2021-08-02 05:41:09 字數 1750 閱讀 9685

網頁解析器

從網頁中提取有價值資料的工具,也會提取到網頁中所有的url,用於後續的訪問。
python網頁解析器

1.正規表示式(最直觀,將網頁當作是乙個字串,進行模糊匹配但如果對於較為複雜的文件,會相當複雜)

2.html.parser(python自帶)

3.beautifulsoup(第三方外掛程式)

4.lxml

其中,beautifulsoup既可以使用html.parser又可以使用lxml作為它的解析器。

正則是通過模糊匹配來進行爬取資料,而2,3,4則是結構化解析進行爬取資料。

什麼是結構化解析

dom(document object model)樹,以樹的形式進行上下級的遍歷和訪問

會將整個網頁當作是乙個document物件

python第三方庫,用於html或xml中提取資料

官網 網頁解析器-beautiful soup語法

①根據html網頁可以建立乙個beautifulsoup物件,建立這個物件的同時,就把這個文件載入為乙個dom樹

②然後根據dom樹,就可以進行各種節點的搜尋

這裡面有兩個方法

find_all方法:會搜尋到所有滿足條件的節點

find方法:會搜尋到第乙個滿足條件的節點

其中find方法和find_all方法的引數是完全一致的。節點搜尋,也可根據節點的屬性,名稱和文字進行搜尋。

③得到節點後,我們就可以進行節點的訪問。如節點的名稱,節點的屬性,節點的文字。

舉個栗子

python

節點名稱:a

節點屬性:href=」123.html」

class=」artical_link」

節點內容:python

from bs4 import beautifulsoup

根據html網頁字串建立beautifulsoup物件

soup = beautifulsoup(

『html_cont』,#html文件字串

『html.parser』, #html解析器

from_encoding=』utf-8』 #html文件編碼

)搜尋節點(find_all,find)

方法:find_all(name,attrs,string)

查詢所有標籤為a的節點

soup.find_all(『a』)

查詢所有標籤為a,鏈結符合/view/123.html形式的節點

查詢所有標籤為div ,class為abc,文字為python的節點

soup.find_all(『div』,class_=』abc』,string=』python』)

訪問節點的資訊

獲取查詢到的節點的標籤名字

node.name

獲取查詢到的a節點的href屬性

node[『href』]

獲取查詢到的a節點的鏈結文字

node.get_text()

1 6 網頁解析器beautifulsoup

beautifulsoup介紹 beautifulsoup實戰 為了實現解析器,可以選擇使用 1.正規表示式 2.html.parser 3.beautifulsoup 4.lxml等,這裡我們選擇beautifulsoup。其中,正規表示式基於模糊匹配,而另外三種則是基於dom結構化解析。而且be...

python爬蟲 五 網頁解析器

網頁解析器 是從網頁中提取有價值資料的工具 python 有四種網頁解析器 1 正規表示式 模糊匹配解析 2 html.parser 結構化解析 3 beautiful soup 結構化解析 4 lxml 結構化解析 其中 beautiful soup 功能很強大,有html.parse和 lxml...

網頁解析器

學習任務 1.認識網頁解析器 學習目標 知識目標 1.熟悉網頁解析器 能力目標 1.能夠自主編寫網頁解析器 獲取新url函式 獲取新的url def get new urls self,page url,soup 儲存url new urls set 獲取所有的url 獲取每乙個url new ur...