Date:
2005-03-23
pythonでHTML解析¶
会社の同僚が
「Webサイトに定期的にアクセスして内容を解析して○○××を自動的に実行するプログラムを作りたい。 Perlで作ろうと思うんだけど……」
という話をしていたので、Pythonを勧めてみた。ついでにサンプルコードを作ってみた。
myparser.py:
from HTMLParser import HTMLParser
class MyHTMLParser(HTMLParser):
def handle_data(self, data):
data = data.strip(" \t\r\n")
if data:
print 'Data: "%s"' % data
def handle_starttag(self, tag, attrs):
pass
#print 'TagStart: "%s"' % tag
def handle_endtag(self, tag):
pass
#print 'TagEnd: "%s"' % tag
def main(url):
import urllib
data = urllib.urlopen( url )
mp = MyHTMLParser()
mp.feed( data.read() )
if __name__ == "__main__":
import sys
url = "http://python.jp/"
if len( sys.argv ) > 1:
url = sys.argv[1]
main(url)
これを引数無しで実行すると、python.jpのページが取れてきて以下のように表示される:
Data: "Click"
Data: "here"
Data: "to get to the FrontPage."
超適当に作った割にはちゃんと動いたなぁ。