2008-12-23

WebTestでも使っているBeautifulSoupは便利な感じ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
WebTestを使ってテストを書いているのですが、htmlのパースにBeautifulSoupというものが使われていてこれがいろいろ出来る感じで便利です。
以下、いくつかメモです。

以下は、WebTestを利用しているときのケースです。
res = app.get("/")
soup = res.html
と事前にやっていると思ってください。

classがaaaなdivタグをすべて探す
aaa = soup.findAll('div',{'class':'aaa'})
print aaa[0]
とかで内容が見れます。
タグをはずしたものを見るには、
print aaa[0].string
な感じで見れるようです。

aタグのhrefの値が欲しいときは、
aaa = soup.findAll('a')
ahref = aaa[0]['href']

タグを探すときに正規表現を利用する
lists = soup.findAll('a',{'href':re.compile('^/list')})

これぐらいを使うだけでも結構いろいろなテストがかけちゃう感じです。

BeautifulSoupはWebTest専用のものではなく単独でも利用できるので、これを使ってhtmlのパースとかをしている人もいっぱいるようです。