yanbe.diff このページをアンテナに追加 RSSフィード

2010-11-27

MalformedなHTMLと戦わずして勝利しテキストを抜き出す方法

14:54 |  MalformedなHTMLと戦わずして勝利しテキストを抜き出す方法 - yanbe.diff を含むブックマーク はてなブックマーク -  MalformedなHTMLと戦わずして勝利しテキストを抜き出す方法 - yanbe.diff  MalformedなHTMLと戦わずして勝利しテキストを抜き出す方法 - yanbe.diff のブックマークコメント

BeautifulSoupというPythonのスクレイピング用ライブラリで不特定多数のWebサイトのHTMLを相手にしていたら、壊れたHTMLのパターンの多さとそのエラー対策に心が折れそうになった。

そしてDOM構造が要らずテキストのみ欲しい場合、大抵のケースはこれで間に合うことに気づいた。

2010-11-30 14:42 補足

ブックマークコメントで「この例だとw3mに直接URLを渡せばいいのでwgetは不要なのではないか」という趣旨のご指摘があったので補足します。

本当は、「事前にクローラーで大量のページのテキストデータをデータベースに保存しておいて、あとでそれをスクリプト言語で取り出して一気に処理する」みたいな用途を想定してました。そういったときはこの例のようにパイプで処理できると、スクリプト言語からプロセス間通信で処理出来たりと、汎用性が高くて便利です。

ただコード例として示すにはそれだけで完結したものしたかったため、wgetでWWWから直接データを取り込む方法をとったのが余計な混乱を招いてしまったようです。

zfaruurdvzfaruurdv2011/03/23 09:39B1clQs <a href="http://yphtfmsagxjh.com/">yphtfmsagxjh</a>, [url=http://pijtqxwaocta.com/]pijtqxwaocta[/url], [link=http://rrrrpqbzbstl.com/]rrrrpqbzbstl[/link], http://ctlptehuhnsr.com/

トラックバック - http://subtech.g.hatena.ne.jp/y_yanbe/20101127