WindowsのWSHを使ってスクレイピングしてみる。

tags: scraping

先日の
ファイルメーカーでのWebビューワー自動処理 テキストリンククリック(Javascript使用) でも書いたのですが、ログインを伴うスクレイピングにはJScriptが便利だと書きました。(JScriptについてはこちら)

JScriptはJavaScriptでWindowsを操作しちゃおうとするものです。

これを利用してまずはIE(インターネットエクスプローラー)を操作してみようと思います。

用意するもの

  • エディタ

実験した環境

  • Windows7
  • インターネットエクスプローラー11

コードを以下に

/**
  * インターネットエクスプローラーを表示するかどうか?のフラグです。
  * falseなら画面にIEが表示されずに操作されます。
  */
var ieShow = true;

// アクセスするURL
var url   = "http://blogs.count6.net/";

// インターネットエクスプローラーの入れ物です
var ie;

// インターネットエクスプローラーオブジェクトを格納、以後これを使用します。
ie = WScript.CreateObject("InternetExplorer.Application");

// インターネットエクスプローラーを可視状態に
ie.Visible = ieShow;

// 変数urlへ移動する命令
ie.Navigate(url);

// 読み込み完了まで待機
waitIe(ie);

// 処理完了後プログラムを抜ける
WScript.Quit();

/**
 * インターネットエクスプローラーがページを読み込み完了するかフリーズするまで待つ関数です。
 * 以後この関数はよく使用するので関数化します。
 */
function waitIe( ie ){
	while( (ie.Busy) || (ie.readystate != 4)){
		WScript.Sleep(100);
	}
}

上記のコードをエディターに貼り付け、test.jsなどと保存しファイルをダブルクリックすると、このサイトのトップページに移動するはずです。
インターネットエクスプローラーが起動せず何も起きない人は、javascriptファイルをWScript.exeで実行する設定ができていないようですので、こちらのサイトを参照。

WScript.exeを使用してスクリプトを実行するには

をよく読んで設定してください。

今回はここまで。