html.parser — Python 中的簡單 HTML 和 XHTML 解析器
本模組中定義的 HTMLParser 類提供瞭解析 HTML 和 XHMTL 文件的功能。此類包含可以識別標籤、資料、註釋和其他 HTML 元素的處理程式方法。
我們必須定義一個繼承 HTMLParser 類的新的類,並使用 feed() 方法提交 HTML 文字。
from html.parser import HTMLParser
class parser(HTMLParser):
pass
p = parser()
p.feed('<a href = "www.tutorialspoint.com"></a>')我們必須覆蓋其以下方法
handle_starttag(tag, attrs):
HTML 標籤通常成對出現,即開始標籤和結束標籤。例如 <head> 和 </head>。此方法用於處理標籤的開始。
轉換為小寫的標籤名稱。attrs 引數代表在標籤的 <> 括號內找到的屬性。
例如,對於標籤 <a href = "www.tutorialspoint.com"></a>,被饋送到解析器物件。
from html.parser import HTMLParser
class parser(HTMLParser):
def handle_starttag(self, tag, attrs):
print("Start tag:", tag)
for attr in attrs:
print(" attr:", attr)
p = parser()
p.feed('<a href = "www.tutorialspoint.com">')輸出
Start tag: a
attr: ('href', 'www.tutorialspoint.com')
handle_endtag(tag):此方法用於處理元素的結束標籤。
def handle_endtag(self, tag):
print ("end tag",tag)
handle_data(data):此方法用於處理標籤之間任意資料。例如
def handle_data(self, data): print (data) p = parser() html = ''' <html> <body> <h1>Tutorialspoint</h1> <b>Python standard library</b> <p>HTML module</p> </body> </html>''' p.feed(html)
輸出
Start tag: h1 Tutorialspoint end tag h1 Start tag: b Python standard library end tag b Start tag: p HTML module end tag p
HTMLParser 類中的其他方法如下
get_starttag_text()
返回最近開啟的開始標籤的文字。
getpos()
返回當前行號和偏移量。
handle_startendtag(tag, attrs)
類似於 handle_starttag(),但在解析器遇到 XHTML 樣式的空標籤 (<img ... />) 時呼叫。
handle_comment(data)
當遇到註釋時呼叫此方法(例如 <!--comment-->)。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP