Web用のクローラーを作りたいと思っていろいろ調べてみたところ VBS + IE + DOM を使ったサンプルを発見した。

やりたいことは以下。
  1. タスクトレイに常駐
  2. 定期的にWebからデータを取ってくる
  3. 更新データがあれば通知
  4. 取ってきたデータをウィンドウに表示
  5. データをファイルに保存
ウィンドウ表示とか、イベント処理とかを考えるとVBSでは無理そうなのでAutoItで書くことに。

とりあえず、サンプルのコードをAutoItで書き直してみた。

#include <IE.au3>

; googleをIEで開く
$oIE = _IECreate("http://www.google.co.jp/")
_IELoadWait($oIE)

; 検索ボックスに「AutoIt」と入力
$q = _IEGetObjById($oIE, "q")
$q.value = "AutoIt"

; 「google 検索」ボタンを押す
$search = _IEGetObjById($oIE, "btnG")
$search.click
_IELoadWait($oIE)

; 検索結果の1件目のタイトルを取得
$result = _IEGetObjById($oIE, "res")
$first = _IETagNameGetCollection( $result, "li", 0)
$title = _IETagNameGetCollection( $first, "h3", 0)

; 取得結果を表示
MsgBox(0,"AutoIt",$title.innerText)

; IEの終了
_IEQuit($oIE)

UDFのIE用ライブラリを使用。

この応用でクロールの処理を書いた後、モニター用ウィンドウ、イベント処理、タスクトレイ常駐を書けばいいかなと。

関連:
AutoItを使ったキーカスタマイズの方法
AutoIt アプリ操作 10のサンプルスクリプト
AutoItでURLEncode
AutoIt チュートリアル
AutoIt v3 UDFs ドキュメント 日本語訳プロジェクト