wgetを使用してWebサイトからすべてのファイル(HTMLではない)をダウンロードする方法


162

wgetウェブサイトからすべてのファイルを使用して取得する方法は?

HTML、PHP、ASPなどのWebページファイルを除くすべてのファイルが必要です。


phpをダウンロードしたい場合でも、wgetを使用することはできません。wgetを使用して取得できるのは未加工のHTMLのみです。理由はわかると思います
Venkateshwaran Selvaraj

注意:他の人のサーバーをあふれさせないようwget --spiderに、常に最初に確認し、常に-w 1(またはそれ以上-w 5)追加してください。
同型写像

1
このページのすべてのPDFファイルをダウンロードするにはどうすればよいですか?pualib.com/collection/pua-titles-a.html

Stack Overflowは、プログラミングと開発に関する質問のためのサイトです。この質問はプログラミングや開発に関するものではないため、トピックから外れているようです。ヘルプセンターのここ質問できるトピックを参照してください。おそらく、スーパーユーザーまたはUnix&Linux Stack Exchangeのほうがよいでしょう。また、Dev Opsに関する質問
jww

回答:


262

特定のファイル拡張子をフィルタリングするには:

wget -A pdf,jpg -m -p -E -k -K -np http://site/path/

または、長いオプション名を使用する場合:

wget --accept pdf,jpg --mirror --page-requisites --adjust-extension --convert-links --backup-converted --no-parent http://site/path/

これは、サイトをミラーリングしますが、なしのファイルjpgpdf拡張子は自動的に削除されます。


17
ディレクトリ全体のアーキテクチャなしでファイルをダウンロードするだけの場合は、-ndオプションを使用できます。
diabloneo 2014

4
各フラグはどういう意味ですか?
ユルゲンポール

--acceptは大文字と小文字を区別すると思うので、あなたはそうしなければならないでしょう--accept pdf,jpg,PDF,JPG
Flimm '21

8
これは、新しいバージョンであるかどうかわからないwgetが、あなたが指定する必要--progressのタイプを、例えば--progress=dot
jamis

@Flimm --ignore-caseフラグを使用して、--accept大文字と小文字を区別しないようにすることもできます。
厳しい

84

これは私のためにウェブサイト全体をダウンロードしました:

wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://site/path/

20
+1 -e robots=off!これでようやく問題が解決しました!:)ありがとう
NHDaly

12
--random-waitオプションは天才です;)
poitroae

2
@izilottiこの方法でサイトのファイルをWGETしたかどうかをサイトの所有者が確認できますか?
エリアス7 14

1
@whatIsperfect間違いなく可能です。
ジャック14

1
@JackNicholsonnサイトの所有者はどうやって知るのですか?使用されたエージェントはMozillaでした。つまり、すべてのヘッダーがMozillaブラウザーとして挿入されるため、使用されたwgetを検出することはできません。間違えたら訂正してください。ありがとう
KhoPhi 2014年

63
wget -m -p -E -k -K -np http://site/path/

マニュアルページはそれらのオプションが何をするかを教えてくれます。

wgetインデックスページからのファイルへのリンクがない場合、リンクのみをたどります。ファイルのwget存在を認識しないため、ファイルをダウンロードしません。すなわち。すべてのファイルがWebページまたはディレクトリインデックスにリンクされている場合に役立ちます。


返信ありがとうございます:)サイト全体をコピーし、ウェブサイトにあるファイル(txt、pdf、画像など)のみが必要です
Aniruddhsinh

25

Omekaのテーマページからリンクされたzipファイルをダウンロードしようとしていた-かなり似たようなタスク。これは私のために働きました:

wget -A zip -r -l 1 -nd http://omeka.org/add-ons/themes/
  • -A:zipファイルのみを受け入れる
  • -r:再帰
  • -l 1:1レベルの深さ(つまり、このページから直接リンクされているファイルのみ)
  • -nd:ディレクトリ構造を作成せず、すべてのファイルをこのディレクトリにダウンロードしてください。

すべての答えは-k-K-Eなどのオプションは、おそらく実際に、局所構造を作るためのHTMLページを書き換えるためのリネームなどもののような質問を理解していない.phpファイルをというように。関係ありません。

文字通り等を除く すべてのファイル取得するには.html

wget -R html,htm,php,asp,jsp,js,py,css -r -l 1 -nd http://yoursite.com

2
-A大文字と小文字が区別されるので、そうする必要があると思います-A zip,ZIP
Flimm '21

7

あなたは試すことができます:

wget --user-agent=Mozilla --content-disposition --mirror --convert-links -E -K -p http://example.com/

また、以下を追加できます。

-A pdf,ps,djvu,tex,doc,docx,xls,xlsx,gz,ppt,mp4,avi,zip,rar

特定の拡張子を受け入れる、または特定の拡張子のみを拒否するには:

-R html,htm,asp,php

または特定の領域を除外するには:

-X "search*,forum*"

ロボット(検索エンジンなど)でファイルが無視される場合は、以下も追加する必要があります。 -e robots=off



5
wget -m -A * -pk -e robots=off www.mysite.com/

これはすべてのタイプのファイルをローカルにダウンロードし、htmlファイルからそれらをポイントし、ロボットファイルを無視します


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.