StackExchangeには同様の質問がたくさんありますが、それらのどれもこの問題を解決しません。
pdf
ディレクトリ内のすべてのファイルをダウンロードしたい2007
http://www3.cs.stonybrook.edu/~algorith/video-lectures/。
wget
だから、上記のリンクで提供されているhtmlファイルを解析し、そのディレクトリpdf
のファイルに移動するリンクだけに従いたいのです2007
。
私は成功せず、次を使用しました。
wget -r -A pdf -I /2007 'http://www3.cs.stonybrook.edu/~algorith/video-lectures/'
上記の方法がうまくいかない理由を説明できますか?
答え1
Anthonが指摘したように、この-I
オプションは機能しません。そのように。ただし、参照ポイント、つまり~algorith/video-lectures/
ファイルのリストがあるため、いくつかのオプションがあります。 1つは、別のツールを使用してインデックスを解析し、wgetを再実行することです。もう一つは使用することです--accept-regex
:それはacceptと一致します完全なURL。
男性の場合:
--accept-regex urlregex
--reject-regex urlregex
Specify a regular expression to accept or reject the complete URL.
これにより、目的のタスクが実行されます。
wget -r -nd -A pdf --accept-regex "2007/.*\.pdf" 'http://www3.cs.stonybrook.edu/~algorith/video-lectures/'
-nd
本当にこれらのディレクトリが必要な場合は削除してください。
編集(コメント処理のため)
正規表現の受け入れと受け入れ
説明するのは少し面倒ですが、試してみましょう。
まず、本当にマニュアルを読みたい場合はを使用してくださいinfo
。man
(GNU wgetから) - (簡単に見落とされます):
SEE ALSO This is not the complete manual for GNU Wget. For more complete information, including more detailed explanations of some of the options, and a number of commands available for use with .wgetrc files and the -e option, see the GNU Info entry for wget.
この場合:
$ info wget "Following Links" "Types of Files"
またはオンライン。
ここで私たちは強調点を見つけます:
最後に、受け入れ/拒否リストが一致することは注目に値します。二重ダウンロードしたファイルの場合:一度URLのファイル名部分に基づいてファイルを最初にダウンロードする必要があるかどうかを決定します。それから、承認、ダウンロードが成功したときにローカルファイル名を承認/拒否リストと比較して、削除するかどうかを決定します。
また、その根拠については次のように説明します。
.htm
そして.html
ファイルはいつも承諾/拒否規則に関係なくダウンロードします。- 削除する必要があります後ろにリンクがダウンロードされ検査されます(承認/拒否リストと一致する場合)。
したがって、HTMLファイルは常にダウンロードされます。ダウンロード後はファイル名のみに基づいてマッチングが行われます。
これがどれほど役に立つのかよくわかりません。情報ページを読むと、より明確になります。ここで鶏と卵のようなものを混ぜるのは少し複雑です。
答え2
この-I
オプションは以下に説明されています man wget
。
-I list
--include-directories=list
Specify a comma-separated list of directories you wish to follow
when downloading. Elements of list may contain wildcards.
(理解できるように)これを元のページのURLのフィルタとして解釈できますが、これは希望です。サブディレクトリのフィルタで、サブディレクトリにwget
移動するとどのサブディレクトリを見つけることができますindex.html
。あなたが気づいたようにindex.html
、http://www3.cs.stonybrook.edu/~algorith/video-lectures/2007/