1. 程式人生 > >Python3 HTML 解析器

Python3 HTML 解析器

作為爬蟲比較重要的一部分HTML解析器:

Python3 自己有一個,使用了一下,還不是很好用

第三方的有:

 目前還不支援Python3 , Python3 的資料還不是很多

 BeautifulSoup -- 支援版本2.x 很不錯,我不想退版本,以後他有了我再用

Chilkat Spider component -==-- 專門支援爬蟲的庫, 看了一下還行,

使用庫,失去的這個專案原有的初衷,所以放棄把,

剩下的就是慢慢的分析包結構和邏輯了

急需努力把

本週末釋出c# 第一個版本 給予2的升級

Python 2版本,打算重寫, 不用過去的升級 

希望這輪的升級可以對Python有一個新的認識

###解析超文字這個思路過於難,以後在考慮

###目前沒有好用的庫
from html.parser import HTMLParser


class MyHTMLParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        #print("Encountered a {} 測試".format(tag))
        #print(format(attrs))


        #當前資源田的級別和位置連線
        # if tag=='area':
        #     print("Encountered a {} start tag".format(tag))
        #     #print(format(attrs))


        # if tag == 'res':
        #     print(format(attrs))


        # if tag == 'tbody':
        #     print(format(tag))
        #     print(format(attrs))


        if tag == 'l1':
            print(format(tag))
            print(format(attrs))


        #每小時產量
        if tag == 'li':
            print(format(tag))
            print(format(attrs))
       
    def handle_endtag(self, tag):
        if tag=='area':
            print("Encountered a {} end tag".format(tag))            
        if tag == 'res':
            print(format(attrs))


#1 page = """<html><h1>Title</h1><p>I'm a paragraph!</p></html>"""


#2-==============test code start======================--
file=open('temp.html',encoding='utf-8')
p=file.read()
#2 test code end-=====================================--


myparser = MyHTMLParser()
myparser.feed(p)