Python解析HTML定位元素(內容)HTMLParser demo
阿新 • • 發佈:2019-01-10
前情提要: 手上有個報告HTML,要抓取其中的資料內容。HTML檔案內容較多,相同標籤更多,不能更改。所以,選擇按內容定位,套用迴圈和判斷,將需要的資料放入列表list裡。
程式碼呈現:
from HTMLParser import HTMLParser import HTMLParser class TitleParser(HTMLParser.HTMLParser): def __init__(self): HTMLParser.HTMLParser.__init__(self) self.handledtags = ['title','body'] self.processing = None self.data = [] def handle_starttag(self,tag,attrs): if tag in self.handledtags: self.processing = tag def handle_data(self,data): if self.processing: self.data.append(data) def handle_endtag(self,tag): if tag == self.processing: self.processing = None if __name__ == '__main__': fd = open('index.html') tp = TitleParser() tp.feed(fd.read()) a =['none'] for each in tp.data: if each == 'Statistics:': #print each i = 0 a = [each] #print a if each == 'Parameters:': break if a[0] == 'Statistics:' and ('\n' not in each): a.append(each) #print each print a
結果
['Statistics:', 'Statistics:', 'Mean TTFF:', ' 37.048 ', 'Standard Deviation TTFF:', ' 19.634 ', 'CEP50:', ' 0.522 ', 'CEP95:', ' 1.515 ']