2012-06-23 Enliveでスクレイピング
ClojureでEnliveを用いたスクレイピングを試した。ソースコードはbouzuya/clj-eklibを参照すること。現状では実用的な例ではなく、何ができるのかを確認するための例である。
動作としては次のようになる。clj-httpを用いてWebサイトからHTMLをダウンロードしてEnliveに食わせる。あとはEnliveのセレクタを活かして、ほしい情報を取り出す。Enliveはテンプレートエンジンであると同時に優秀なセレクタを持つHTMLパーサーであることを活かしている。
Amazonのトップページから「サインイン」リンクをたどり、input要素を取得してPOSTしている。いい加減な実装ではあるが、きちんとログインできる。
コードはさほど綺麗なものではないが、比較的簡単に実現できた。次回はもうすこし複雑な動作を試したいと思う。
20 min.