python內建HTMLParser模組

2021-06-13 09:12:42 字數 2198 閱讀 9250

htmlparser是處理html/xhtml檔案最基本的工具

採用的是一種事件驅動的模式,在遇到標籤、注釋等時自動呼叫已經使用者自定義的函式處理。

ps:不會檢查標籤是否閉合o(╯□╰)o

一些方法:

htmlparser.

feed

(data

) 將文字傳入解析器,data為unicode或str

htmlparser.

close()

htmlparser.

reset()

其他的就是一些handle開頭的處理函式

具體看**吧

# coding=gbk

'''created on 2013-3-29

@author: yoda

'''from htmlparser import htmlparser

class myhtmlparser(htmlparser):

#e.g.

#decl = 'doctype html'

def handle_decl(self, decl):

print "處理頭文件: ", decl

#e.g. #tag = 'div'

#attrs = [('id','test'),('class','testc')]

def handle_starttag(self, tag, attrs):

print "遇到標籤開始時處理:", tag

for attr in attrs:

print " attr:", attr

#e.g.

#tag = 'div'

def handle_endtag(self, tag):

print "遇到標籤結束時處理 :", tag

#e.g.

def handle_startendtag(self, tag, attrs):

print "處理自閉合的標記: ", tag

for attr in attrs:

print " attr:", attr

#data = text

def handle_data(self, data):

print "遇到普通文字時處理:", data

#data = comment

def handle_comment(self, data):

print "遇到注釋時處理:", data

#e.g. >

#name = 'gt'

def handle_entityref(self,name):

print "處理實體字元", name

#e.g. > is >/>

#name = '62' or 'x3e'

def handle_charref(self,name):

print "處理十進位制或十六進製制的字串", name

if __name__ == '__main__':

parser = myhtmlparser()

parser.feed(''

'>parse me!>>''''

'')

結果:

處理頭文件:  doctype html public "-//w3c//dtd html 4.01//en" 

遇到標籤開始時處理: head

遇到標籤開始時處理: title

attr: ('id', 'titleid')

遇到普通文字時處理: 標題

遇到標籤結束時處理 : title

遇到標籤結束時處理 : head

遇到標籤開始時處理: body

遇到標籤開始時處理: h1

處理實體字元 gt

遇到普通文字時處理: parse me!

處理十進位制或十六進製制的字串 62

處理十進位制或十六進製制的字串 x3e

處理自閉合的標記:  img

attr: ('src', 'python-logo.png')

attr: ('alt', 'the python logo')

遇到注釋時處理:  注釋文字 

處理自閉合的標記:  br

遇到標籤結束時處理 : body

遇到標籤結束時處理 : html

python內建型別 python列表內建型別方法

列表操作方法 對列表l操作 例如list range 1,5 即 list 1,2,3,4 不含最後乙個元素 list range 1,10,2 即 list 1,3,5,7,9 在列表末尾新增新的物件 2 list.count obj 統計某個元素在列表 現的次數 3 list.extend se...

python內建模組 Python 內建模組

內建模組 python有一套很有用的標準庫 standard library 標準庫會隨著python直譯器,一起安裝在你的電腦中的。它是python的 乙個組成部分。這些標準庫是python為你準備好的利器,可以讓程式設計事半功倍。常用標準庫 標準庫 說明 builtins 內建函式預設載入 os...

python重寫內建函式 python 內建函式

說明 zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 號操作符,可以將元組解壓為列表。語法 zip iterable1,iterable2,引數 iterable 乙個或多...