• ベストアンサー

指定したURLを1分ごとにダウンロードし日付を付加するソフト

画像なしの単なるページなのですが、 わけあって、1分~5分程度にチェックしなくてはならなくなりました。 最初は、画像キャプチャーしようと思っていたのですが、 かなりのサイズになるので諦めました。 例えば、 指定したURLを1分ごとにダウンロードし、 200601060335.html のような形で保存するソフトまたは、方法をご存知 ないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

VBScriptで作ってみました。 以下の部分のURL部分を変更してファイル名を適当な名前(GetHTML.vbs)で保存して、 ダブルクリックすると指定したURLをダウンロードします。 1分毎にダウンロードできるとは限らない(ダウンロードに1分以上かかる場合もあるかも・)ので、ダウンロードして書き込み後、1分間終了指示を待つようにしてあります。終了させない場合次回のダウンロードを始めます。 問題点としては、IEを使ってダウンロードしているので、 IEでキャッシュを使うように設定してあると、新しいモノをダウンロードしない可能性があります。 そのような場合は、保存してあるページのバージョンを確認する設定に変更する必要があります。 また、ダウンロードしたファイルは文字コードがシフトJISになりますので、ページに記述してあるcharsetと異なってしまう可能性があります。 ---------------------------------------------------------------- Dim IE, D, filename, fso, sho, outFile, order Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set sho = WScript.CreateObject("WScript.Shell") do while true Set IE = WScript.CreateObject("InternetExplorer.Application") IE.Navigate ("http://www.sample.ne.jp/hogehoge.html") While IE.busy: Wend While IE.Document.readyState <> "complete": Wend D=now filename = ""&year(D)&right("00"&month(D),2)&right("00"&day(D),2)&right("00"&hour(D),2)&right("00"&minute(D),2)&".html" Set outFile = fso.CreateTextFile(filename) '元のページの文字コードではなくシフトJISで書き込まれる outFile.Write IE.Document.documentElement.outerHTML IE.quit '60秒終了指示を待つ order=sho.Popup("終了しますか?", 60, "GetHTML", 0) if order=1 then Exit Do loop

mudai
質問者

お礼

解決しました! どうもありがとうございます!

関連するQ&A