ほぼ、完成しているソースコードはこちらへどうぞ。
手書きブログ用カスタムパレットツールの為に作って実装済みのものです。
ちょっと慣れればだれでもできます。これでも解ると思いますが、プログラマ
として目覚めると、インターネット上でかなり特殊な事が、いともかんたんにできてしまいます(笑)
冗談はさておき。
やれ、スクリプトだ、プログラムだと言っても、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 上のファイルの処理です。
つまり、このスクリプトはブラウザがやっている処理の不要な部分を全てはしょってる
だけなので、決してダウンロードそのものは早くないです。ふつうに、ブラウザがかかる
時間とおなじだけ必要です。
|
- 16進数と2進数の表変換
- AN HTTP Server Home Page( AN HTTPD / www.st.rim.or.jp/~nakata) のルートの HTML ファイルが全て消えている件
- Google検索は、ドメイン内ディレクトリ指定ができる
- The Twitter REST API v1 will soon stop functioning.
- Opera Next にて。WebGL が惜しくてもうちょっと
- DVD-Rがダメなので、HDDに乗り換えようと思ったら、500GBより下は皆ポータブルでした・・・
- DVD-Rで大事なデータは保存しちゃだめなんですね・・・
- XP+IE7で制限を解除していってますが・・・
- フォルダオプションに設定を追加する
- 窓の杜でも紹介されているPATH環境変数エディタ:RedmondPath
- PATH環境変数エディタ
- クリップボードの内容でマウスカーソル下のリンクを作成
- 「送る」に入れるツール3つ
- 単品ですが、それなりに時間かけて裏を取ってます
- Microsoftサポート技術情報
- さくらのブログとSeesaaブログで同一フォーマットでブログを追加
- seesaaで、パノラマパーツのテスト完了です
- SyntaxHighlighter2.0を少し運用してみると
- SyntaxHighlighter2.0のすすめ
- インターネットメール(送信してメモを取る)をうまく使うには