Irvineで保存ファイル名を指定しDL
「Irvineにダウンロードを行わせる」というと「引数でファイルURLを渡して落とさせれば良いのかな」と考えるのが自然な発想ですが、この方法では保存ファイル名を指定できない。何故わざわざファイル名を変えねばならないのか、というのは、まぁ、例えばYouTube。「get_video」とかいうファイル名で動画を落として後から手動リネーム、は面倒なので、ダウンロード段階で「○○.flv」として保存したい訳だ。
このように、ファイル名・URLを指定してIrvineにダウンロードを行わせるには、ダウンロードリストを使います。スクリプトで制御を行う方法に関するメモ(従ってJSでもUWSCでも何でもいいですが何かスクリプト組める人向け記事です)。
ネットランナー用に、削除済みYouTube動画を各データサーバーからブルートフォースでIrvineに落とさせる、ただしファイル名はユニークになるよう「動画ID(鯖アドレス).flv」、というUWSCスクリプトを組んだので「何をしているか」という解説なんですが、単純に手順を書くと、以下のような方法で「保存ファイル名を指定したダウンロード」を行わせることが可能です。
- ファイルURLとファイル名を記載したダウンロードリストファイルを生成
- そのファイルを引数としてIrvineに渡し「このリストを使ってダウンロード」を行わせる
リストファイル(irvファイル)は以下のような形式です。
要点をまとめると
- 1行1ファイル
- Tabで情報を区切っていく
- 最初がURL、2個目が保存フォルダパス、3個目が保存ファイル名、4番目がリファラー、13個目がコメント、全部で22個(残りの意味を未確認)
- 個数が足りないと正常にダウンロードが始まらない模様(例えば「最初の三個だけ」とかのリストは読み込めない)
と、いうことで、スクリプトの処理的には
- 既にリストファイルが存在している場合は消す
- リストファイルに、落としたいファイルを上の形式で書き込んでいく(僕の書いたUWSCスクリプトだと最下部の「// irvファイルへの出力」以下で行ってます)
- 作成したリストファイルを「"C:\Program Files\Irvine\irvine.exe" "C:\Program Files\Irvine\list.irv"」みたいな形式で引数として渡して実行(僕の書いたUWSCスクリプトだと下の方の「// 生成されたリストをIrvineに渡して起動」で行ってます)
を行えば、「Irvineで保存ファイル名を指定しつつダウンロードを行わせる」を実現することが可能です。Wgetはコマンドラインオプションで保存ファイル名を指定できるんですが
Irvineではできないので、このように変則的な手を使う、と。
・・・いや、既にどこかにまとまってそうな話なんですが、見つけられなかったので一応。


TrackBack
この記事へのトラックバック