私がアクセスできるオンラインのHTTPディレクトリがあります。私はすべてのサブディレクトリとファイルをwget
経由でダウンロードしようとしました。しかし、問題は、wget
がサブディレクトリをダウンロードするとき、ファイル自体をダウンロードせずにそのディレクトリ内のファイルのリストを含むindex.html
ファイルをダウンロードすることです。
サブディレクトリとファイルを制限なくダウンロードする方法はありますか(ダウンロードしたいディレクトリが自分のコンピュータにコピーしたいフォルダであるかのように)。
溶液:
wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/
説明:
-r
:再帰的-np
: ccc /…のように上のディレクトリには行きません-nH
:ホスト名フォルダにファイルを保存していません--cut-dirs=3
:しかし、最初の3つのフォルダを省略して ddd に保存する aaa 、 bbb 、 ccc -R index.html
:index.htmlファイルを除外これをうまく動作させることができました。 を利用して VisualWGet それは私にとって素晴らしい仕事でした。重要な部分は、-recursive
フラグをチェックすることです(画像を参照)。
また、-no-parent
フラグが重要であることがわかりました、そうでなければそれはすべてをダウンロードしようとします。
wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/
man wget
から
‘ - r’ ‘ - recursive’再帰検索を有効にします。詳細は再帰的ダウンロードを見てください。デフォルトの最大深度は5です。
‘ - np’ ‘--no-parent’再帰的に取得するときに、親ディレクトリに移動しません。特定の階層以下のファイルだけがダウンロードされることを保証するので、これは便利なオプションです。詳細については、ディレクトリベースの制限を参照してください。
' - nH' '--no-Host-directories'ホスト接頭辞付きディレクトリの生成を無効にします。デフォルトでは、 ' - r http://fly.srk.fer.hr/ 'を指定してWgetを呼び出すと、flyで始まるディレクトリ構造が作成されます。 srk.fer.hr/このオプションはそのような振る舞いを無効にします。
' - cut-dirs = number'number個のディレクトリコンポーネントを無視します。これは再帰的検索が保存されるディレクトリをきめ細かく制御するのに役立ちます。
たとえば、「 ftp://ftp.xemacs.org/pub/xemacs/ 」のディレクトリに移動します。 「-r」で検索すると、ローカルにftp.xemacs.org/pub/xemacs/の下に保存されます。 '-nH'オプションはftp.xemacs.org/部分を削除することができますが、あなたはまだpub/xemacsで立ち往生しています。これが「--cut-dirs」が役に立つところです。これにより、Wgetはリモートディレクトリコンポーネントを「見る」ことができなくなります。以下は '--cut-dirs'オプションがどのように機能するかのいくつかの例です。
オプションなし - > ftp.xemacs.org/pub/xemacs/ -nH - > pub/xemacs/-nH --cut-dirs = 1 - > xemacs/-nH --cut-dirs = 2 - >.
--cut-dirs = 1 - > ftp.xemacs.org/xemacs/...ディレクトリ構造を削除するだけの場合は、このオプションは-ndと-Pの組み合わせに似ています。しかし、-ndとは異なり、 - cut-dirsはサブディレクトリでは失われません。たとえば、-nH --cut-dirs = 1では、beta /サブディレクトリはxemacs/betaに配置されます。誰かが期待するだろう。
ブックマークレットを使用してください。ブックマーク内で this link をドラッグしてから、次のコードを編集して貼り付けます。
(function(){ var arr=[], l=document.links; var ext=Prompt("select extension for download (all links containing that, will be downloaded.", ".mp3"); for(var i=0; i<l.length; i++) { if(l[i].href.indexOf(ext) !== false){ l[i].setAttribute("download",l[i].text); l[i].click(); } } })();
そして(あなたがファイルをダウンロードしたい場所から)ページに行き、そしてそのブックマークレットをクリックする。
wget
は非常に貴重な資料であり、私は自分で使います。ただし、wget
が構文エラーとして識別する文字がアドレスに含まれることがあります。私はそれに対する修正があると確信しています、しかしこの質問が特にwget
について尋ねなかったので私は間違いなく学習曲線を必要としないで迅速な修正を探すこのページでつまずくそれらの人々のための代替案を提供すると思いました。
これを行うことができるブラウザ拡張機能がいくつかありますが、ほとんどはダウンロードマネージャのインストールを必要とします。これは常に無料ではなく、目障りになりがちで、多くのリソースを使用する傾向があります。これらの欠点のどれも持っていないものがいます:
「ダウンロードマスター」はGoogle Chromeの拡張機能で、ディレクトリからのダウンロードに最適です。どのファイルタイプをダウンロードするか、またはディレクトリ全体をダウンロードするかを選択できます。
https://chrome.google.com/webstore/detail/download-master/dljdacfojgikogldjffnkdcielnklkce
最新の機能リストやその他の情報については、開発者のブログのプロジェクトページにアクセスしてください。
あなたは この Firefoxアドオンを使ってHTTPディレクトリ内のすべてのファイルをダウンロードすることができます。
https://addons.mozilla.org/en-US/firefox/addon/http-directory-downloader/