人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ダウンロードソフト/スクリプトを教えてください。

たとえば、nigitama.com/download.php?id=xxxというURLをリクエストすると、2?3ページほどのPDFファイルが返ってくるとします。
id=xxxのxxxの部分には001?100までの数字がはいります。
数字が異なると違うPDFが返されます。

この100種類のPDFファイルをすべてダウンロードし、それぞれのPDFにクエリのxxxの個所と同じ名前を付けて保存したいと思います。つまり、id=123で返されるPDFファイルを123.pdfという名前で保存するという意味です。

こうした動きを実現するスクリプトやソフトはあるでしょうか?

環境/ソフトは以下の通りです。
Win XP Home
Chrome 1.0、Firefox 3.0、IE 7、Safari 3.2、Sleipnir 2.8

●質問者: にぎたま
●カテゴリ:インターネット ウェブ制作
✍キーワード:chrome Download firefox HOME IE
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Yoshiya
●35ポイント

ダウンローダー雨をお勧めします。

このソフトを利用すれば、連番のファイルを一括でダウンロードできます。

実際の使い方はソフトのヘルプを見てもらえればわかると思いますが、質問者さんがおやりになりたい事をスクリーンショットにするとこんな感じです。

f:id:Yoshiya:20090418160333j:image

◎質問者からの返答

ありがとうございます。

試してみましたが、対象ページはログインが必要なサイトだったためできませんでした。Invine (みたいな名前) のソフトも試しましたがやはりダメでした。

最終的に VBA で IE を操作して「名前を付けて保存」するスクリプトを作って解決しました。

またよろしくお願いします。


2 ● fester
●35ポイント

VBScriptでWebからファイルダウンロード

を参考に手を加えてみました。


call getHTTPasync("http://www.sio.no-ip.com/mt/shio/DSC_0188.jpg?id=123")

Sub getHTTPasync(strURL)
on error resume next
Dim objweb
Dim arwork
Dim objADO
Dim ret,res
'arwork = split(strURL,"/")
'strFname = Replace(Wscript.ScriptFullName,Wscript.ScriptName,"") & arwork(Ubound(arwork))
arwork = split(strURL,"id=")
strFname = Replace(Wscript.ScriptFullName,Wscript.ScriptName,"") & arwork(Ubound(arwork)) & ".jpg"

err.clear
Set objweb = CreateObject("MSXML2.ServerXMLHTTP.6.0")

'MSXML環境依存なるべく排除
if err.number <> 0 then
err.clear
Set objweb = CreateObject("MSXML2.ServerXMLHTTP")
end if
if err.number <> 0 then
err.clear
Set objweb = CreateObject("MSXML2.XMLHTTP")
end if

if err.number = 0 then
'objweb.Open "GET",strURL,False,"ユーザーID", "パスワード"
objweb.Open "GET", strURL, False
objweb.Send
res = objweb.responseBody

set objADO = CreateObject("ADODB.Stream")
objADO.Type = 1 'BINARY
objADO.Open()
objADO.Write(res)
objADO.SaveToFile strFname,2 ' SAVE CREATE OVERWRITE
objADO.Close

wscript.echo "接続ステータス : " & objweb.Status & " (" & objweb.statusText & ")" & _
vbCrLf & strFname & " に保存しました"
Set objADO = Nothing
Set objweb = Nothing
else ' err
wscript.echo "CreateObject失敗."
end if
 End Sub

◎質問者からの返答

ありがとうございます。

このスクリプトをどのように修正すればよいのかわからずにあきらめました。結局 VBA でダウンロードするスクリプトを作って解決しました。

またお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ