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

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

第2步

第3步

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

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

