別にPHPでもRubyでもPerlでも出来るのだけれど、折角Pythonを勉強してみたので、Pythonでやってみることにしました。
と、探せば沢山出てきますが、今回対象となるドキュメントは、正確なXMLというよりはタグエラーも混ざってそうな昔のHTMLだったりしますので、最終的に残ったのがBeautifulSoupでした。
BeautifulSoup自体はtarボールを解凍するとsetup.pyがありますので、普通に
python setup.py install (--record install-files.txt)
でOKです。ファイル自体は本体とテストコードで計2つしかありません。今回は最新版(3.1.x)ではなくて一つ前の3.0.7aを使いました。
ローカルファイルに落としてきたfoo.htmlを解析して、<img>タグのsrc属性値をリストで抜き出すのはこんな感じになります。
from BeautifulSoup import BeautifulSoup lines = open("foo.html", "r").readlines() data = ''.join(lines) soup = BeautifulSoup(data) elements = soup.findAll('img') for e in elements: print e['src']