ひよっこ。

I want to…

BeautifulSoupが素敵

Posted by hikaruworld : 2010 3月 11

BeatuifulSoupはPythonのHTMLパーサです。
「びゅーてぃふるすーぷ」と読むらしい。おいしいスープ…

HTML形式(XMLも)のファイルを読み込んで、スクレイピングとか簡単にできます。
ちょっとツールを作るときに使ってみたらなかなか便利だったので簡単に紹介しておきます。

たとえばaタグの【href】だけ抜き出したいような場合。
これでできます

from BeatuifulSoup import BeatifulSoup
html = r"<html><body><a href="abc">test</a></body></html>"

soup = BeautifulSoup(html)
print soup.findAll("a");
>>>  <a href="abc">test</a>
# hrefだけ抜きます
soup.find("a").get("href")

以上。
findAllがキモです。大体これで必要なタグをまとめてとることができます。

余談。

今回TracのWikiの情報から不要なリンクや装飾を取っ払った形でHTML構造情報がほしかったんですが、
WikiとHTMLパーサの組み合わせはなかなか強力です。

実はBeautifulSoupも完全ではなく、不適切なHTMLになっていると失敗することがあります
(案外解釈してくれたりもしますが)。

ところがWikiを利用した場合は、
ユーザはWiki文法を利用して書き、Wiki内部のWikiパーサがHTMLへと変換するので、
適切なHTMLが生成されるので、BeautifulSoupの弱点を補うことができるわけです。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。