HTMLParser類中有針對HTML標籤的相應的函數,通過自訂,重載類中的函數來處理一些標籤,函數如下:
HTMLParser.anchor_bgn(href, name, type):#a標籤開始的時候被調用,參數是A標籤的屬性值
HTMLParser.anchor_end() #錨點標籤結束的時候處理
HTMLParser.save_bgn():#開始在緩衝區中儲存字元資料,通過save_end()檢索儲存的資料。save_bgn()/ save_end()對可能不能嵌套使用。
HTMLParser.save_end():#結束緩衝字元資料,並返回自前調用save_bgn()儲存所有資料。一個沒有前面的調用save_bgn()調用此方法將引發TypeError異常。
HTMLParser.handle_image(source, alt[, ismap[, align[, width[, height]]]]):調用此方法來處理映像。預設實現只是簡單地傳遞到handle_data()方法的alt值。
HTMLParser.reset() #重設執行個體.所有未處理的資料都會丟失.在初始化時自動調用.
HTMLParser.feed(data) #給分析器餵食.在由完整元素構成的情況下工作;不完整資料情況下,會進行緩衝知道更多資料加進來或者 close() 被調用.
HTMLParser.close() #處理所有緩衝資料.這個方法可以被衍生類別重定義,以便在輸入結束後處理額外的事情,重定義的版本也要調用 HTMLParser 基類的 close() 方法.
HTMLParser.getpos() #返回當前行數和列數
HTMLParser.get_starttag_text() #返回最近開啟過得開始標記處的文本.通常不會用到
HTMLParser.handle_starttag(tag, attrs) #該方法用來處理一個標記的開始.tag參數是tag的名字的小寫化.attrs參數是一個list,由(name,value)組成,反映了<>裡面的屬性. name會被翻譯成小寫字母,在value中的引號也被移除了,字元實體引用也會被替換.例如,有個 tag ,那麼使用該方法就該這麼做: handle_starttag('a', [('href','http://www.cwi.nl/')])
HTMLParser.handle_startendtag(tag, attrs) #和handle_starttag()類似,用來處理XHTML風格的空標籤().可能被子類重載
HTMLParser.handle_endtag(tag) #該方法用來處理元素結束標記.可以被衍生類別重載;基類什麼也不做. tag參數是tag的name轉化來的小寫字母.
HTMLParser.handle_data(data) #該方法用來處理隨機的資料.
HTMLParser.handle_charref(name) #
//-------------------------------------------------
引用於:http://www.cyrec.org/posts/python-HTMLParser-A-href