« SQLAutocode | メイン | scipyの統計関数が爆速なことについて »

PythonでHTMLのスクレイピング:scrapemark

一個前のエントリと関連して、PythonでWebサーバ上のHTMLをスクレイピングしてくるべーということをやろうとしたのですが、これはScrapemark : http://arshaw.com/scrapemark/docs/examples/というのを使うと大変簡単にできました。

使い方はまあ簡単で


>>> scrape("""
<div id='content'>
{{ before_table }}
<table />
</div>
""",
url="http://example.com")

>>> {'before_table': 'Look at these data points'}

みたいなかんじです。
HTMLの繰り返しになっているところの中身をリスト化してとってくることもできます。これは


>>> scrape("""
<body>
{*
<div class='section' id='{{ [section_ids] }}' />
*}
</body>
""",
html)

>>> {'section_ids': ['nav', 'content', 'footer']}

というかんじで大変使い勝手が良いですねー。開発元のexampleを見ると、もっと構造化したデータも取ってこれるようです。
RubyでNokogiriとかするより楽な気が致しますねえ。

あと、スーパー便利な事に結果にはユニコード化された文字列が入ってきますので扱いも楽ちんです。

トラックバック

このエントリーのトラックバックURL:
http://antas.jp/mtsys/mt-tb.cgi/776

この一覧は、次のエントリーを参照しています: PythonでHTMLのスクレイピング:scrapemark:

» HTMLを解析(スクレイピング)する 送信元 Python パイソン Tips
HTML解析に使用するライブラリ ・BeautifulSoup.py Pure-Python で書かれている。速度は遅い。 ・HTMLの解析は、やは... [詳しくはこちら]

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)