wgetはディレクトリ内のすべてのファイルを取得し、index.htmlのみを返します。

wgetはディレクトリ内のすべてのファイルを取得し、index.htmlのみを返します。

wget私はbashに初めてアクセスし、ウェブサイトのすべてのファイルを私が作業しているサーバーに転送しようとしました。しかし、私が得るのはファイルだけですindex.html。 15分間実行しましたが、index.htmlファイルはまだダウンロード中で終了しました。ファイルの後に私のファイルをindex.htmlダウンロードできますか?

これは私が試したコードです。

$ wget --no-parent -R index.html -A "Sample" -nd --random-wait \
   -r -p -e robots=off -U Mozilla --no-check-certificate \
   http://somewebsite.com/hasSamples/Sample0

Sampleで始まるサブディレクトリ内のすべてのファイルをダウンロードしようとしています。私は解決策を見つけるためにインターネット上でたくさんの検索をして、この時点で私はパニックになりました。まだ正しいオプションの組み合わせが見つからないかもしれませんが、助けてくれてありがとう。コードの私の理解は次のとおりです。

  • --no-parent親ディレクトリを検索しないことを意味します。
  • -R index.htmlindex.html ファイルのダウンロードが拒否されたことを意味します。 「index.html*」も試しましたが、まだダウンロードされました。
  • -A "Sample"BashのSample*と少し似ています。
  • -ndディレクトリの代わりにファイルをダウンロードすることを意味します。
  • --random-waitウェブサイトがブラックリストに入らないようにしてください
  • -r再帰ダウンロード
  • -p本当に分からない
  • -e robots=offrobots.txt ファイルを無視
  • U MozillaユーザーをMozillaのように見せると思います。
  • これは--no-check-certificateウェブサイトに必要です。

ベストアンサー1

- "example"はbashの例のように動作します*

私の読書に基づくものではありませんman wget

  • -A acclist --accept acclist
  • -R拒否リスト - 拒否リスト拒否

許可または拒否するファイル名のサフィックスまたはパターンのカンマ区切りリストを指定します。ワイルドカード文字*、?、[または]のいずれかがacclistまたはrejlistの要素に表示される場合、パターンと見なされます。サフィックスの代わりに

したがって、ワイルドカードなしの使用法はbash globと同じです*.Sample

Wgetはリンクをスキャンして動作します。これがおそらくファイルをダウンロードしようとする理由ですindex.html(内容が何であるかを言っていませんが、時間がかかります)。どこかで始める必要があります。詳しく説明するには:URLは次のとおりです。いいえファイルパス。あなたできないWebサーバーをディレクトリ階層のように検索して、「ディレクトリ内のすべてのファイルを提供してくださいfoobar」と言います。実際のディレクトリに対応する場合、Webサーバーfoobar(もちろんファイルパスではなくURLの一部なので、必ずしもそうではありません)可能自動的に生成されたindex.htmlリストファイルを提供するように構成されており、ファイルシステムを閲覧できるという錯覚を提供します。ただし、これはHTTPプロトコルの一部ではなく、Apacheなどのサーバーがデフォルトで使用するルールにすぎません。したがって、wget実行された作業は、背中を検索してリンクをたどり、index.html同じ操作を<a href=再帰<img src=的に実行することです。これはwgetの「再帰的」動作を意味します。 (繰り返し)リンクを再帰的に検索します。サーバー上のファイルシステムへのアクセス権がなく、サーバーはそのようなファイルシステムに関する情報を提供する必要はありません。

.html読み込んでクリックして必要なすべてのアイテムにアクセスできる実際のWebページがある場合は、そのアドレスから始めてを使用してください-r -np -k -p

おすすめ記事