get links of a website, vbs

‘————————————————————————————–

‘ Webページダウンロードスクリプト
‘ (指定したURLのHTMLをダウンロードする)

‘ 注意点 スクリプト実行前にすべてのInternet Explorerを終了してください。

‘ 動作確認環境 Windows XP SP2 ,Internet Explorer 6 SP2

‘————————————————————————————–

‘*********************************************************************

‘ メイン処理

‘*********************************************************************

‘ ダウンロードするページの URLの定義 (配列で複数のURLを指定できます)
Dim aURLList(256)

aURLList(0) = “http://d.hatena.ne.jp/haradago/?of=1”
aURLList(1) = “http://d.hatena.ne.jp/haradago/?of=2”
aURLList(2) = “http://d.hatena.ne.jp/haradago/?of=3”

‘ ファイルを保存するフォルダ名の定義(末尾に\を付ける事!!)
sSaveToFolder = “D:\download\”

Dim sURL
Dim bLoadComplete

Set Ie = WScript.CreateObject(“InternetExplorer.Application”, “IE_”)
Set oFS = WScript.CreateObject(“Scripting.FileSystemObject”)

‘定義したURLの終端までループ
For Each sURL In aURLList

If sURL = “” Then
Exit For
End If

bLoadComplete = False

‘ ページの取得と保存
GetWebDocument (sURL)

‘IEよりHTMLを取得
sSrcHTML = Ie.Document.all.tags(“HTML”)(0).innerHTML

‘取得したHTMLを名前を付けて保存する
SaveToFile GetFileNameToSave(sSaveToFolder,sURL), sSrcHTML

Next

Wscript.Echo “DownLoad完了”

‘*********************************************************************

‘ サブルーチン

‘*********************************************************************
‘ 保存するファイル名を編集する
Function GetFileNameToSave(sFolderName, sFileName)

‘ ファイル名に使用しない文字を除去
sFileName = Replace(sFileName, “?http://”, “”)
sFileName = Replace(sFileName, “/”, “_”)
sFileName = Replace(sFileName, “:”, “_”)
sFileName = Replace(sFileName, “?”, “_”)

GetFileNameToSave = sFolderName & sFileName & “.html”

End Function

‘ HTMLをテキストをファイルに保存する
Sub SaveToFile(sFileName, sHTMLSrc)

On Error Resum Next ‘ページがなかった場合、ErrNumber=5が発生するため追加

Set oTF = oFS.CreateTextFile(sFileName, True)
oTF.Write sHTMLSrc
oTF.Close
End Sub

‘ 指定したURLをロード
Sub GetWebDocument(sURL)

bLoadComplete = False

‘指定したページを読み込む
Ie.Navigate (sURL)

‘ロードが完了するまでWait
Do
WScript.Sleep 10
Loop While bLoadComplete = False

End Sub
‘*********************************************************************

‘ IEのイベント

‘*********************************************************************
‘ロード完了イベント
Sub IE_DocumentComplete(pdisp,surl)
bLoadComplete = True
End Sub

‘IEの終了イベント
Sub IE_OnQuit
Set Ie = Nothing
WScript.Quit
End Sub

download file using vbs

# パラメータとして、ファイルを保存するパス、ダウンロードファイル・リストのファイル名を宣言
Param([String]$path=’C:\Scripts’, [String]$file=’list.dat’)
# ファイルをダウンロードするためのWebClientオブジェクトを生成
$cli = New-Object System.Net.WebClient
# ファイルリストから順にURLを抽出
# Get-Contentコマンドレットはファイルの内容を改行単位に読み込み、結果を文字列配列として返す。つまり、ここではGet-Contentコマンドレットによって得られた読み込み内容(=list.datで定義されたURLの配列)を、foreachループで順番に取得/処理しているというわけだ。
foreach($url in Get-Content $file){
# 取り出したURLからファイル名を取り出し、変数$fileにセット
$uri = New-Object System.Uri($url)
$file = Split-Path $uri.AbsolutePath -Leaf
# 指定されたURLからファイルをダウンロードし、同名のファイル名で保存
$cli.DownloadFile($uri, (Join-Path $path $file))
$file + “をダウンロード完了しました。”
}

02.ウィンドウ情報表示

//
PASSWD = INPUT(“パスワードを入れてください”,””,1)
IFB PASSWD <> “s”
EXITEXIT
ENDIF
while true
id = GETID(GET_FROMPOINT_WIN)
if id = GETID(GET_BALLOON_WIN) then continue
moji = STATUS(id, ST_TITLE) + ” , ” + STATUS(id, ST_CLASS)
Balloon(moji, G_MOUSE_X+8, G_MOUSE_Y, 3)
Sleep(0.2)
Wend