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