WindowsのWSHを使ってスクレイピングしてみる。
先日の
ファイルメーカーでの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を使用してスクリプトを実行するには
をよく読んで設定してください。
今回はここまで。