Wgetを使用してサイトを再帰的にクロールし、画像をダウンロードする


13

Webサイトを再帰的にクロールし、特定の種類の画像のみをダウンロードするようにwgetにどのように指示しますか?

これを使用してサイトをクロールし、Jpeg画像のみをダウンロードしてみました。

wget --no-parent --wait=10 --limit-rate=100K --recursive --accept=jpg,jpeg --no-directories http://somedomain/images/page1.html

ただし、page1.htmlにはサブページへの数百のリンクが含まれていますが、サブページには画像への直接リンクがありますが、wgetは "subpage13.htmlを削除する必要があるため削除します"などのメッセージを報告し、直接リンクされているものがないため、画像をダウンロードしません。開始ページから。

これは、-acceptがクロールとコンテンツのダウンロードの両方を指示するために使用されているのに対し、コンテンツのダウンロードを指示するためだけに使用したいためだと思います。wgetにすべてのリンクをクロールさせ、*。jpegなどの特定の拡張子を持つファイルのみをダウンロードさせるにはどうすればよいですか?

編集:また、一部のページは動的で、CGIスクリプト(img.cgi?fo9s0f989wefw90eなど)を介して生成されます。受け入れリストにcgiを追加しても(例--accept = jpg、jpeg、html、cgi)、これらは常に拒否されます。これを回避する方法はありますか?

回答:


5

使ってみませんwget -A jpg,jpeg -r http://example.comか?


この質問では、一部の画像の形式が/url/path.cgi?queryであるため、提案ではそれらを取得しません。
Charles Stewart

1

ダウンロードが許可されていない場合、wgetがsubpage13.htmlのコンテンツ(およびリンク先のjpg)を知っていることをどのように期待しますか。htmlを許可し、必要なものを取得して、不要なものを削除することをお勧めします。


私のcgiが拒否されている理由がよくわかりません... wgetによるエラー出力はありますか?おそらくwgetを冗長(-v)にして見てください。別の質問としては最適かもしれません。

とは言っても、帯域幅とダウンロードロットを気にしない場合は、後で不要なものを削除してもかまいません。


こちらもチェック --html-extension

manページから:

-E

--html-extension

タイプapplication / xhtml + xmlまたはtext / htmlのファイルがダウンロードされ、URLがregexp。[Hh] [Tt] [Mm] [Ll]?で終わっていない場合、このオプションは.htmlのサフィックスをローカルファイル名に追加されます。これは、たとえば、.aspページを使用するリモートサイトをミラーリングしているが、ミラーリングされたページを在庫のApacheサーバーで表示できるようにする場合に便利です。これのもう1つの有効な使用法は、CGIが生成した資料をダウンロードする場合です。http://site.com/article.cgi?25のようなURLは、article.cgi?25.htmlとして保存されます。

この方法で変更されたファイル名は、サイトを再ミラーリングするたびに再ダウンロードされます。これは、WgetがローカルX.htmlファイルがリモートURL Xに対応していることを認識できないためです(URLがタイプの出力を生成することをまだ認識していないため) text / htmlまたはapplication / xhtml + xml。この再ダウンロードを防ぐには、-kおよび-Kを使用して、ファイルの元のバージョンがX.origとして保存されるようにする必要があります。


--restrict-file-names=unix これらのcgiのURLが原因で役立つ場合もあります...


私はwgetオプションのリンクを停止する必要があります..指摘しようとして--no-parentいましたが、そこで停止します。
高価な

0

プログラミングせずにMetaProducts Offline Explorerを使用することもできます


-1

--page-requisitesオプションを追加してみてください


リンクされているすべてのメディアがダウンロードされます。wgetを使用して画像をダウンロードする唯一の方法は、ページ上のすべてのコンテンツをダウンロードすることですか?
Cerin、2011年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.