Python lxml庫(kù)的簡(jiǎn)單介紹及基本使用講解
1.lxml庫(kù)介紹
lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的數(shù)據(jù);lxml和正則一樣,也是用C語(yǔ)言實(shí)現(xiàn)的,是一款高性能的python HTML、XML解析器,也可以利用XPath語(yǔ)法,來(lái)定位特定的元素及節(jié)點(diǎn)信息
HTML是超文本標(biāo)記語(yǔ)言,主要用于顯示數(shù)據(jù),他的焦點(diǎn)是數(shù)據(jù)的外觀
XML是可擴(kuò)展標(biāo)記語(yǔ)言,主要用于傳輸和存儲(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" >游戲開(kāi)發(fā)</a></li> <li class=""><a href="/nav/mobile" rel="external nofollow" >移動(dòng)開(kāi)發(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使用wxpython開(kāi)發(fā)簡(jiǎn)單記事本的方法
這篇文章主要介紹了python使用wxpython開(kāi)發(fā)簡(jiǎn)單記事本的方法,涉及Python使用wxPython實(shí)現(xiàn)桌面圖形應(yīng)用程序的技巧,需要的朋友可以參考下2015-05-05Python中的多行注釋文檔編寫(xiě)風(fēng)格匯總
在Python中利用多行注釋編寫(xiě)小型的程序文檔說(shuō)明非常方便,而約定俗成的格式也多種多樣,這里我們就進(jìn)行一下最常見(jiàn)的Python中的多行注釋文檔編寫(xiě)風(fēng)格匯總:2016-06-06tensorflow 中對(duì)數(shù)組元素的操作方法
今天小編就為大家分享一篇tensorflow 中對(duì)數(shù)組元素的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07pandas如何統(tǒng)計(jì)某一列或某一行的缺失值數(shù)目
這篇文章主要介紹了pandas如何統(tǒng)計(jì)某一列或某一行的缺失值數(shù)目,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05Python+OpenCV實(shí)現(xiàn)實(shí)時(shí)眼動(dòng)追蹤的示例代碼
這篇文章主要介紹了Python+OpenCV實(shí)現(xiàn)實(shí)時(shí)眼動(dòng)追蹤的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11