python中的標(biāo)準(zhǔn)庫(kù)html
python之標(biāo)準(zhǔn)庫(kù)html
html庫(kù)是用于解析HTML的一個(gè)工具,是python自帶的標(biāo)準(zhǔn)庫(kù)之一。
html庫(kù)位置:
__init__.py文件提供兩個(gè)函數(shù):
__all__ = ['escape', 'unescape']
介紹 escape 和 unescape:
escape(s, quote=True) #用來(lái)將特殊字符進(jìn)行轉(zhuǎn)義成實(shí)體字符 """ 參數(shù)介紹: s 指定要轉(zhuǎn)義的特殊字符 quote 默認(rèn)為True,表示要將 " 或者 ' 也要轉(zhuǎn)義成實(shí)體字符,F(xiàn)alse反之不用轉(zhuǎn)義成實(shí)體字符 """ unescape(s) #用來(lái)將實(shí)體字符進(jìn)行還原到特殊字符
escape 和 unescape 的使用:
import html s = '<div id="box">div</div>' res = html.escape(s) print(res) print(html.escape(s,quote=False)) print(html.unescape(res)) #理解還原即可
輸出結(jié)果:
escape源碼的實(shí)現(xiàn):
html庫(kù)中的 entities 模塊
該模塊定義: HTML字符實(shí)體引用。
該模塊提供四個(gè)字典對(duì)象:
__all__ = ['html5', 'name2codepoint', 'codepoint2name', 'entitydefs']
導(dǎo)入:
from html import entities html = entities.html5 name2codep = entities.name2codepoint codep = entities.codepoint2name ent = entities.entitydefs print(html) print(name2codep) print(codep) print(ent)
輸出結(jié)果:
html庫(kù)中的 parser 模塊
該模塊是HTML和XHTML的解析器。
該模塊提供一個(gè)類:
__all__ = ['HTMLParser']
導(dǎo)入:
from html import parser htmlParser=parser.HTMLParser()
介紹該類的常用屬性和常用方法:
常用屬性:
lasttag #保存上一個(gè)解析的標(biāo)簽名,返回字符串。
已實(shí)現(xiàn)的常用方法:
feed(data) #將數(shù)據(jù)饋送到解析器。無(wú)返回值 unescape(s) #往上看,前面有介紹的 get_starttag_text() #返回開始標(biāo)記的完整來(lái)源 close() #關(guān)閉
未實(shí)現(xiàn)的常用方法:
注意:這些方法在源碼中都沒(méi)有具體實(shí)現(xiàn),需要我們定義一個(gè)子類繼承自HTMLParser類,在子類中重寫這些方法,實(shí)現(xiàn)自己邏輯
handle_starttag(tag, attrs) #處理開始標(biāo)簽,如 <div>;這里的attrs獲取到的是屬性列表,屬性以元組的方式展示 handle_endtag(tag) #處理結(jié)束標(biāo)簽, 如 </div> handle_data(data) #處理數(shù)據(jù),標(biāo)簽之間的文本 handle_comment(data) #處理注釋,<!-- - -> 之間的文本 handle_startendtag(tag, attrs) #處理自己結(jié)束的標(biāo)簽,如 <img />
以上方法在源碼中是這樣的:
到此這篇關(guān)于python之標(biāo)準(zhǔn)庫(kù)html的文章就介紹到這了,更多相關(guān)python標(biāo)準(zhǔn)庫(kù)html內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python可視化分析繪制帶趨勢(shì)線的散點(diǎn)圖和邊緣直方圖
這篇文章主要介紹了python可視化分析繪制帶趨勢(shì)線的散點(diǎn)圖和邊緣直方圖,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06python3模擬百度登錄并實(shí)現(xiàn)百度貼吧簽到示例分享(百度貼吧自動(dòng)簽到)
這篇文章主要介紹了python3模擬百度登錄并實(shí)現(xiàn)百度貼吧簽到示例,需要的朋友可以參考下2014-02-02pytorch中torch.max和Tensor.view函數(shù)用法詳解
今天小編就為大家分享一篇pytorch中torch.max和Tensor.view函數(shù)用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01PaddleNLP ppdiffusers 自動(dòng)生成兔了個(gè)兔海報(bào)
這篇文章主要為大家介紹了PaddleNLP ppdiffusers 自動(dòng)生成兔了個(gè)兔海報(bào)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01Python安裝xarray庫(kù)讀取.nc文件的詳細(xì)步驟
大家應(yīng)該都知道庫(kù)xarray可以幫我們讀取出nc文件的內(nèi)容,所以下面這篇文章主要給大家介紹了關(guān)于Python安裝xarray讀取.nc文件的詳細(xì)步驟,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Python開發(fā)必備知識(shí)內(nèi)存管理與垃圾回收
Python是一種高級(jí)編程語(yǔ)言,因其簡(jiǎn)潔而強(qiáng)大而備受歡迎,然而如其他編程語(yǔ)言一樣,Python也面臨著內(nèi)存管理的挑戰(zhàn),在Python中,垃圾回收是一項(xiàng)關(guān)鍵任務(wù),用于自動(dòng)釋放不再使用的內(nèi)存,以避免內(nèi)存泄漏,本文將介紹Python中的垃圾回收機(jī)制,以及如何通過(guò)優(yōu)化代碼來(lái)提高性能2023-11-11Python實(shí)現(xiàn)自動(dòng)駕駛訓(xùn)練模型
這篇文章主要為大家介紹了Python實(shí)現(xiàn)自動(dòng)駕駛訓(xùn)練模型,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06