ダウンロードを選択する前に、Webサイト/Webページからファイルのリストを取得してください(「ls」と同様の方法)。

ダウンロードを選択する前に、Webサイト/Webページからファイルのリストを取得してください(「ls」と同様の方法)。

複数のPDF文書へのハイパーリンクがあるWebページにあるとします。そのPDFをダウンロードしたいです。これらの文書のリストを(とにかくls)入手してから、またはwgetを使用してダウンロードする文書をよりよく選択する方法はありますかcurl

ベストアンサー1

lynxまたは、(テキストモードのWebブラウザ)を使用してlinksWebページからリンクリストをダウンロードして表示し、それをパイプしてgrepPDFリンクのみを抽出することもできます。たとえば、

URL='https://www.example.com/files/'
lynx -dump -listonly -nonumbers "$URL" | grep -i '\.pdf$'

"$URL"注:特にURLにスペースまたはシェルメタ文字(URLでよく使用される文字やなど;)が含まれる場合は、二重引用符が重要です。&頭痛を和らげてくださいいつもURLを含むURL文字列と変数を使用するときに引用します。実際には、URLを含めるかどうかにかかわらず、変数を使用するときに二重引用符を使用することはほとんど常に良い考えです。スペースやその他の特殊文字が原因でシェルスクリプトが停止するのはなぜですか?)。

その後、grep出力をファイルにリダイレクトし、テキストエディタで編集して興味のないPDFファイルを削除し、wget-i--input-file=fileオプションを使用してファイルのすべてのURLをダウンロードできます。または、wget一度にすべてを使用するか、手動でダウンロードすることもできますcurl


ところで、wgetサイトミラーリングのための()オプションも-mあり、ダウンロードされるコンテンツを正確に制御するためのさまざまなオプションもあります(例えば、サフィックスやいくつかのglobに似たパターンに一致するファイルを許可または拒否し、--mirror-A-R-A pdf-A '*.pdf'--accept-regex--reject-regex正規表現をペアで連結する)など)。同じもの) wget が他のサイトへのリンクをたどるかどうかを制御します。どの他のサイト)、親ディレクトリ、またはサブディレクトリへのリンクをたどるかどうか(およびいくつかのレベルの深さ)など、多くのオプションがあり、オプションの組み合わせ間でより多くの対話があるため、すぐにマスターできることを期待しないでください。

おすすめ記事