Author: STR
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
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