ほぼ、完成しているソースコードはこちらへどうぞ。
手書きブログ用カスタムパレットツールの為に作って実装済みのものです。
ちょっと慣れればだれでもできます。これでも解ると思いますが、プログラマ
として目覚めると、インターネット上でかなり特殊な事が、いともかんたんにできてしまいます(笑)
冗談はさておき。
やれ、スクリプトだ、プログラムだと言っても、JavaScript と基本変わりません。
そもそも「プロマミング言語に必要な要素」というのはわりとしれています。
1) 変数定義( 保存場所 ) 2) 代入( 保存場所の変更 ) 3) 繰り返し処理 4) 既存機能の呼び出し 5) 条件分岐
この5つあれば良いです。みんな同じです。
で、この処理のキモは、4) で、これがあるおかげで出来ていますので、
プログラマとしてはたいした事はやっていません。
Set objSrvHTTP = Wscript.CreateObject("MSXML2.XMLHTTP")
Set Stream = Wscript.CreateObject("ADODB.Stream")
Set IEDocument = Wscript.CreateObject( "InternetExplorer.Application" )
Set Fso = CreateObject( "Scripting.FileSystemObject" )
しかも、このうちダウンロードに必要なのは、上の二つです。
IEDocument は、HTML 内の IMG を探す為の入り口ですし、基本 JavaScript でやってる事を
するだけ、Fso は、単に、スクリプトが存在しているフォルダのフルパスを取得する為
に使っていますが、今回に関しては別の方法でも取得できます。
on error resume next
Call objSrvHTTP.Open("GET", strUrl, False )
if Err.Number <> 0 then
Wscript.Echo Err.Description
Wscript.Quit
end if
on error goto 0
objSrvHTTP.Send
ダウンロード部分なんかこれだけです。
objSrvHTTP.Send でうまく行ったら、objSrvHTTP.responseBody
にデータが格納されるので、変数定義すらいりません。
そのまま、 Stream 使って、ディスクに保存します。
つまり、1つのファイルで URL が解っておれば、ここで目的は達成して終わりです。
注意しないといけないのは、あまり大きなファイルはやめたほうがいいです。
3メガぐらいまでにしましょう。( 推奨は 1メガまで )
ですから、画像のダウンロードなら特に問題は起きないはずです。
このプログラムでは、必要な画像の URL のリストをダウンロードしたHTML
の情報から加工して作成して、ループ処理で繰り返しダウンロードしています。
プログラミング的に気をつけるのは、このような連続処理では
間に休憩を入れてやっておくという事です。
( Wscript.Sleep 10 )
根拠はさすがに技術的になるので・・・
また機会があれば。
欲しい画像の URL が解っている場合、HTML に IMG タグを書いて
ブラウザで表示させれば、ブラウザが全部キャッシュというディスクのある場所
にダウンロードしてくれて表示します。
そのキャッシュからコピーするか、ブラウザを右クリックして保存するかしたとしても、
それはダウンロード済みの自分の PC 上のファイルの処理です。
つまり、このスクリプトはブラウザがやっている処理の不要な部分を全てはしょってる
だけなので、決してダウンロードそのものは早くないです。ふつうに、ブラウザがかかる
時間とおなじだけ必要です。













※ エキスパートモードで表示しています
アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります


















