Spookyjsを使ったWEBクロール時のイベント調査

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

最近仕事で使う機会が多いクローリングシステムを作っていて、非常に困ったことが「formからのボタンを押してダウンロードの仕組みが、クローリングでうまくダウンロードできない」というモノ。
 

blobなどの機能を使ってデータ保存処理をやるという方向性もあるかもしれないが、spookyjsを使ったクローリングでもう少しうまくできないものかとcasperjsのリファレンスを読んでいたら、イベント処理をきちんと理解しないといけないということがわかってきました。
 

要するに、WEBページのレスポンス情報や、html以外のbodyデータなどをちゃんと監視してコントロールできれば、ダウンロードファイルもちゃんと処理できるのではないかということで、今回はイベント操作をまとめてプログラミングしてみました。

環境設定

基本的なspookyjsの環境設定は、過去記事を参照ください。
 

http://wordpress.ideacompo.com/?p=8649
 

今回はTDnetのXBRLのzipファイルをダウンロードする為の処理だったので、サイト内エレメント操作と基本スクレイピング処理をする2つのソースコードだけで実現します。

ソースコード

 

実行