PythonでHTMLを解析する超入門
説明
全くPython超入門編です。コピペで動きます。HTMLを解析します。tagはhtmlのタグを受け取る、attrsはタグの中の(name, value)を受け取る。htmlを上から下に向かって解析していく。
実装
test.py
# -*- coding: utf-8 -*-
from HTMLParser import HTMLParser
# create a subclass and override the handler methods
class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
print "始まりのタグ:", attrs
def handle_endtag(self, tag):
print "終わりのタグ:", tag
def handle_data(self, data):
print "中身:", data
# instantiate the parser and fed it some HTML
parser = MyHTMLParser()
parser.feed(
'<html><head><title>Test</title></head>'
'<body><h1 name="test">Parse me!</h1></body></html>'
)
結果
$ python パス/test.py
始まりのタグとattrsを出力: html []
始まりのタグとattrsを出力: head []
始まりのタグとattrsを出力: title []
中身を出力: Test
終わりのタグを出力: title
終わりのタグを出力: head
始まりのタグとattrsを出力: body []
始まりのタグとattrsを出力: h1 [('name', 'test')]
中身を出力: Parse me!
終わりのタグを出力: h1
終わりのタグを出力: body
終わりのタグを出力: html