' ***********************************************************
' API を取得して、ユーザー番号とをそれぞれ設定して下さい
'
' ※ 仕様なので、タイプ毎に際出す50しか画像を取得できません
' ※ それ以上が必要な場合は、タグで分類するしかありませんが
' ※ ソースコードを多少変更する必要があります
' ***********************************************************
strAPI = "APIキー"
strUSER = "ユーザー番号"
' ***********************************************************
' ( 連続実行を想定しているので、クライアント用オブジェクト )
' ***********************************************************
Set objHTTP = Wscript.CreateObject("MSXML2.XMLHTTP")
Set objHTTPDownload = Wscript.CreateObject("MSXML2.XMLHTTP")
' ***********************************************************
' 画像保存用
' ***********************************************************
Set Stream = Wscript.CreateObject("ADODB.Stream")
' ***********************************************************
' Popup wait 用
' ***********************************************************
Set WshShell = WScript.CreateObject("WScript.Shell")
' ***********************************************************
' フォルダ作成 用
' ***********************************************************
Set Fso = CreateObject( "Scripting.FileSystemObject" )
' ***********************************************************
' ダウンロード
' ***********************************************************
Call ImgDoenload(1,"日記")
Call Wait60("1/6")
Call ImgDoenload(2,"イラスト")
Call Wait60("2/6")
Call ImgDoenload(3,"企画")
Call Wait60("3/6")
Call ImgDoenload(4,"告知")
Call Wait60("4/6")
Call ImgDoenload(5,"漫画")
Call Wait60("5/6")
Call ImgDoenload(99,"その他")
Wscript.Echo "処理が終了しました"
' ***********************************************************
' 関数
' ***********************************************************
Function Wait60(message)
Call WshShell.Popup(message & " : 次のAPI実行まで60秒間お待ち下さい(OKはクリックしないで下さい)",60)
End Function
Function ImgDoenload( strNo, DirPath )
strUrl = "http://tegaki.pipa.jp/GetBlogList.jsp?AK="&strAPI&"&UD="&strUSER&"&NM=50&TD="&strNo
Call objHTTP.open("GET",strUrl,False)
Call objHTTP.send( )
Set xml = objHTTP.responseXML
Set objList = xml.getElementsByTagName("file")
length = objList.length
if length <> 0 then
if not Fso.FolderExists( DirPath ) then
Fso.CreateFolder(DirPath)
end if
end if
For I = 0 to length - 1
' API 内の サムネイルの URL
strUrlPath1 = objList(I).firstChild.nodeValue
' 大きい画像の URL
strUrlPath2 = Replace(strUrlPath1, "_S.jpg" ,"")
' 保存ファイル名
aPath = Split(strUrlPath2,"/")
strLocalName = aPath(UBound(aPath))
aPath = Split(strUrlPath1,"/")
strLocalNameS = aPath(UBound(aPath))
Call objHTTPDownload.Open("GET", strUrlPath2, False )
objHTTPDownload.Send
Stream.Open
Stream.Type = 1 ' バイナリ
Stream.Write objHTTPDownload.responseBody
Stream.SaveToFile DirPath & "\" & strLocalName, 2
Stream.Close
Wscript.Sleep 10
Call objHTTPDownload.Open("GET", strUrlPath1, False )
objHTTPDownload.Send
Stream.Open
Stream.Type = 1 ' バイナリ
Stream.Write objHTTPDownload.responseBody
Stream.SaveToFile DirPath & "\" & strLocalNameS, 2
Stream.Close
Wscript.Sleep 10
Next
End Function