VBScript : 手書きブログAPIで画像ダウンロード

  種別毎に最大50ダウンロードします



API としては、まだまだ使い道がはっきりしないものですが、種別毎に最大50枚の URL を取得できる
ので最近の画像をダウンロードするという目的にならば使えるとと思います。上書き操作ですから、バック
アップとしてここ最近の更新したものをダウンロードするのであれば、手書きブログ側でいったん下書き
にして公開すれば最新でダウンロードできます。

Call ImgDoenload(1,"日記")

は、最初の引数が種別で、二つ目はダウンロードするディレクトリです。
無ければ作成します。

API の都合で、API を一度呼ぶと次は60秒後にするよう pipa が取りきめているので、Popup で
停止しています。( 60秒経つと、自動的に閉じるので OK はクリックしないで下さい

api_img_download.vbs
' ***********************************************************
' 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



















   SQLの窓    create:2010/05/23  update:2018/02/18   管理者用(要ログイン)





フリーフォントWEBサービス

SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ