home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

日記/2009/05/01/Pythonで<img>タグのsrc属性の値だけを抽出

作成日: 2009-05-01 22:48:51   /   last updated at: 2009-05-01 22:59:00
カテゴリ: Python 

別に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']
original url: https://www.glamenv-septzen.net/view/375