python的lxml庫簡介 lxml庫

2021-10-21 06:53:16 字數 1400 閱讀 9769

lxml 是 乙個html/xml的解析器,主要的功能是如何解析和提取 html/xml 資料。

lxml和正則一樣,也是用 c 實現的,是一款高效能的 python html/xml 解析器,我們可以利用之前學習的xpath語法,來快速的定位特定元素以及節點資訊。

需要安裝c語言庫,可使用 pip 安裝:pip install lxml

基本使用:

我們可以利用他來解析html**,並且在解析html**的時候,如果html**不規範,他會自動的進行補全。示例**如下:# 使用 lxml 的 etree 庫

from lxml import etree

text = '''

'''#利用etree.html,將字串解析為html文件

html = etree.html(text)

# 按字串序列化html文件

result = etree.tostring(html)

print(result)

輸入結果如下:

可以看到。lxml會自動修改html**。例子中不僅補全了li標籤,還新增了body,html標籤。

從檔案中讀取html**:

除了直接使用字串進行解析,lxml還支援從檔案中讀取內容。我們新建乙個hello.html檔案:

然後利用etree.parse()方法來讀取檔案。示例**如下:from lxml import etree# 讀取外部檔案 hello.htmlhtml = etree.parse('hello.html')

result = etree.tostring(html, pretty_print=true)

print(result)

總結:解析html字串:使用lxml.etree.html進行解析。示例**如下:htmlelement = etree.html(text)

print(etree.tostring(htmlelement,encoding='utf-8').decode("utf-8"))

解析html檔案:使用lxml.etree.parse進行解析。示例**如下:htmlelement = etree.parse("tencent.html")

print(etree.tostring(htmlelement, encoding='utf-8').decode('utf-8'))

這個函式預設使用的是xml解析器,所以如果碰到一些不規範的html**的時候就會解析錯誤,這時候就要自己建立html解析器。parser = etree.htmlparser(encoding='utf-8')

htmlelement = etree.parse("lagou.html",parser=parser)

print(etree.tostring(htmlelement, encoding='utf-8').decode('utf-8'))

python的lxml庫簡介 爬蟲三大庫簡介

爬蟲三大庫簡介 requests庫 requests 讓 http 服務人類。requests庫的作用就是請求 獲取網頁資料。簡單的使用示例 部分結果如下圖 開啟瀏覽器,進入在空白處右鍵,在如下所示的彈出選單中,選擇 檢視網頁原始碼 選項。我們在新彈出的頁面中看到,先前 print res.text...

Python 之lxml解析庫

一 xpath常用規則 二 解析html檔案 from lxml import etree 讀取html檔案進行解析 defparse html file html etree.parse test.html parser etree.htmlparser print etree.tostring ...

python常見庫的安裝(填lxml庫安裝的坑)

lxml庫 如果使用 pip3 install lxml windows系統安裝時10個最少8個會出錯,因為lxml庫是c語言實現的,即使安裝了visual c 2015,還是會有新的錯誤出現。pipinstall lxml 3 6.0 cp35 cp35m win32 whl 如果是直接用cmd命...