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
藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

未整理記事