2010-11-27
MalformedなHTMLと戦わずして勝利しテキストを抜き出す方法
BeautifulSoupというPythonのスクレイピング用ライブラリで不特定多数のWebサイトのHTMLを相手にしていたら、壊れたHTMLのパターンの多さとそのエラー対策に心が折れそうになった。
そしてDOM構造が要らずテキストのみ欲しい場合、大抵のケースはこれで間に合うことに気づいた。
2010-11-30 14:42 補足
ブックマークコメントで「この例だとw3mに直接URLを渡せばいいのでwgetは不要なのではないか」という趣旨のご指摘があったので補足します。
本当は、「事前にクローラーで大量のページのテキストデータをデータベースに保存しておいて、あとでそれをスクリプト言語で取り出して一気に処理する」みたいな用途を想定してました。そういったときはこの例のようにパイプで処理できると、スクリプト言語からプロセス間通信で処理出来たりと、汎用性が高くて便利です。
ただコード例として示すにはそれだけで完結したものしたかったため、wgetでWWWから直接データを取り込む方法をとったのが余計な混乱を招いてしまったようです。
コメントを書く
zfaruurdv2011/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