Python lxml庫(kù)的簡(jiǎn)單介紹及基本使用講解
1.lxml庫(kù)介紹
lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的數(shù)據(jù);lxml和正則一樣,也是用C語言實(shí)現(xiàn)的,是一款高性能的python HTML、XML解析器,也可以利用XPath語法,來定位特定的元素及節(jié)點(diǎn)信息
HTML是超文本標(biāo)記語言,主要用于顯示數(shù)據(jù),他的焦點(diǎn)是數(shù)據(jù)的外觀
XML是可擴(kuò)展標(biāo)記語言,主要用于傳輸和存儲(chǔ)數(shù)據(jù),他的焦點(diǎn)是數(shù)據(jù)的內(nèi)容
2.安裝lxml方法
方法1:
在cmd運(yùn)行窗口中輸入:pip install lxml

方法2:
在Pycharm中下載
File–Setting–Project–Project Interpreter–點(diǎn)擊右上角的“+”—
第1步

第2步

第3步

方法3:
進(jìn)入這個(gè)網(wǎng)站進(jìn)行下載:https://lxml.de/index.html

3.基本使用
我們可以利用他解析HTML代碼,并且在解析HTML代碼的時(shí)候,如果HTML代碼不規(guī)范或者不完整,lxml解析器會(huì)自動(dòng)修復(fù)或補(bǔ)全代碼,從而提高效率
實(shí)例1:
解析HTML代碼塊
#提取html中的數(shù)據(jù)
from lxml import etree
text = '''
<html>
<div class="clearfix">
<div class="nav_com">
<ul>
<li class="active"><a href="/" rel="external nofollow" >推薦</a></li>
<li class=""><a href="/nav/python" rel="external nofollow" >Python</a></li>
<li class=""><a href="/nav/java" rel="external nofollow" >Java</a></li>
<li class=""><a href="/nav/web" rel="external nofollow" >前端</a></li>
<li class=""><a href="/nav/arch" rel="external nofollow" >架構(gòu)</a></li>
<li class=""><a href="/nav/db" rel="external nofollow" >數(shù)據(jù)庫(kù)</a></li>
<li class=""><a href="/nav/5g" rel="external nofollow" >5G</a></li>
<li class=""><a href="/nav/game" rel="external nofollow" >游戲開發(fā)</a></li>
<li class=""><a href="/nav/mobile" rel="external nofollow" >移動(dòng)開發(fā)</a></li>
<li class=""><a href="/nav/ops" rel="external nofollow" >運(yùn)維</a></li>
</ul>
</div>
</div>
</html>>
</html>>
'''
#將字符串解析為html文檔
html = etree.HTML(text)
#print(html)
#將字符串序列化為html
result = etree.tostring(html).decode('utf-8')
print(result)
實(shí)例2:
讀取并解析html文件
#將html文件進(jìn)行解析
from lxml import etree
#將html文件進(jìn)行讀取
html = etree.parse('data.html')
#將html內(nèi)容序列化
result = etree.tostring(html).decode('utf-8')
print(result)
到此這篇關(guān)于Python lxml庫(kù)的簡(jiǎn)單介紹及基本使用講解的文章就介紹到這了,更多相關(guān)Python lxml庫(kù)使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
舉例詳解Python中的split()函數(shù)的使用方法
這篇文章主要介紹了舉例詳解Python中的split()函數(shù)的使用方法,split()函數(shù)的使用是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),通常用于將字符串切片并轉(zhuǎn)換為列表,需要的朋友可以參考下2015-04-04
利用python3 的pygame模塊實(shí)現(xiàn)塔防游戲
這篇文章主要介紹了利用python3 的pygame模塊實(shí)現(xiàn)塔防游戲,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
Python threading Local()函數(shù)用法案例詳解
這篇文章主要介紹了Python threading Local()函數(shù)用法案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
pytorch中獲取模型input/output shape實(shí)例
今天小編就為大家分享一篇pytorch中獲取模型input/output shape實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
利用Python實(shí)現(xiàn)手機(jī)短信監(jiān)控通知的方法
今天小編就為大家分享一篇利用Python實(shí)現(xiàn)手機(jī)短信監(jiān)控通知的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明
這篇文章主要介紹了tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
python中squeeze的超詳細(xì)解釋(附代碼示例)
這篇文章主要介紹了python中squeeze的超詳細(xì)解釋,squeeze操作用于去除張量或數(shù)組中大小為1的維度,簡(jiǎn)化數(shù)據(jù)結(jié)構(gòu),在PyTorch和NumPy中都有類似的功能,需要的朋友可以參考下2025-03-03
python編程培訓(xùn) python培訓(xùn)靠譜嗎
現(xiàn)在大家都知道,比較火的編程語言就是python了,很多朋友都想學(xué)習(xí)python編程,想上一個(gè)好的python培訓(xùn)班,小編今天給大家全面分析一下關(guān)于python編程培訓(xùn)方面的問題,希望能給你答疑解惑。2018-01-01
python 實(shí)現(xiàn)在Excel末尾增加新行
下面小編就為大家分享一篇python 實(shí)現(xiàn)在Excel末尾增加新行,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05

