內建模組 HTMLParser

2021-07-11 14:29:01 字數 1011 閱讀 2715

假設第一步已經完成了,第二步應該如何解析html呢?

html本質上是xml的子集,但是html的語法沒有xml那麼嚴格,所以不能用標準的dom或sax來解析html。

好在python提供了htmlparser來非常方便地解析html,只需簡單幾行**:

from html.parser import htmlparser

from html.entities import name2codepoint

class myhtmlparser(htmlparser):

def handle_starttag(self, tag, attrs):

print('<%s>' % tag)

def handle_endtag(self, tag):

print('' % tag)

def handle_startendtag(self, tag, attrs):

print('<%s/>' % tag)

def handle_data(self, data):

print(data)

def handle_comment(self, data):

print('')

def handle_entityref(self, name):

print('&%s;' % name)

def handle_charref(self, name):

print('&#%s;' % name)

parser = myhtmlparser()

parser.feed('''

some html html tutorial...

end''')

feed()方法可以多次呼叫,也就是不一定一次把整個html字串都塞進去,可以一部分一部分塞進去。

特殊字元有兩種,一種是英文表示的 ,一種是數字表示的ӓ,這兩種字元都可以通過parser解析出來。

小結利用htmlparser,可以把網頁中的文字、影象等解析出來。

python內建HTMLParser模組

htmlparser是處理html xhtml檔案最基本的工具 採用的是一種事件驅動的模式,在遇到標籤 注釋等時自動呼叫已經使用者自定義的函式處理。ps 不會檢查標籤是否閉合o o 一些方法 htmlparser.feed data 將文字傳入解析器,data為unicode或str htmlpar...

python內建模組 Python 內建模組

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

url內建模組和http內建模組

url let url require url 用來解析url中每一部分資訊的 如果第二個引數傳true,會自動把問號引數解析成鍵值對的形式,儲存在query屬性中 pathname 請求路徑名稱 伺服器端要做的常規任務 2.接受客戶端的請求資訊 請求靜態資源檔案 請求資料 3.查詢到對應的資源檔案...