次の記事では、Wgetを見ていきます。 GNUWgetは 無料ツール これにより、Webサーバーからコンテンツをダウンロードできます シンプルかつ迅速な方法で。 その名前はワールドワイドウェブ(w)と単語get(英語) 取得する)。 この名前は次のことを意味します。 WWWから取得.
今日、ファイルを非常に効率的にダウンロードするためのアプリケーションは数十あります。 それらのほとんどはWebおよびデスクトップインターフェイスに基づいており、すべてのオペレーティングシステム用に開発されています。 ただし、Gnu / Linuxでは(Windows用のバージョンもあります) そこには 強力なダウンロードマネージャー wgetファイルの。 これは、存在する中で最も強力なダウンローダーと見なされています。 http、https、などのプロトコルをサポートします FTP.
wgetでファイルをダウンロードする
ファイルをダウンロードする
このツールを使用する最も簡単な方法は、ダウンロードすることです ファイルを示す 私たちが欲しいもの:
wget http://sitioweb.com/programa.tar.gz
さまざまなプロトコルを使用してダウンロード
優れたダウンロードマネージャーとして、それは可能です 一度に複数のダウンロードをリクエストする。 同じ順序で異なるプロトコルを使用することもできます。
wget http://sitioweb.com/programa.tar.gz ftp://otrositio.com/descargas/videos/archivo-video.mpg
拡張機能でダウンロード
複数をダウンロードする別の方法 同じ拡張子を使用するファイル、ワイルドカードアスタリスクを使用します。
wget<code class="language-bash" data-lang="bash">-r -A.pdf</code>http://sitioweb.com/*.pdf
一部のサーバーがへのアクセスをブロックしている可能性があるため、このコマンドは常に機能するとは限りません。 wgetの.
ファイルリストをダウンロードする
見つけたファイルをダウンロードするだけの場合は、ファイルを保存するだけで済みます。 ファイル内のURL。 というリストを作成します files.txt リストの名前をコマンドに示します。 必要 XNUMX行にXNUMXつのURLのみを配置します files.txt内。
作成したリストをダウンロードし、.txtファイルに保存するために使用するコマンドは次のとおりです。
wget -i archivos.txt
ダウンロードを再開します
何らかの理由でダウンロードが中断された場合、私たちはできるようになります 中断したところからダウンロードを続行します を使用して オプションc wgetコマンドで:
wget -i -c archivos.txt
ダウンロードに関するログを追加する
ダウンロードに関するログを取得したい場合は、 インシデントを管理する その上に、を追加する必要があります -oオプション 次のようになります。
wget -o reporte.txt http://ejemplo.com/programa.tar.gz
ダウンロード帯域幅を制限する
非常に長いダウンロードでは、 ダウンロード帯域幅を制限する。 これにより、ダウンロード中にダウンロードがすべての帯域幅を占有するのを防ぎます。
wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso
ユーザー名とパスワードでダウンロード
ユーザー名/パスワードが必要なサイトからダウンロードする場合は、次のオプションのみを使用する必要があります。
wget --http-user=admin --http-password=12345 http://ejemplo.com/archivo.mp3
ダウンロードの試み
デフォルトでは、 このプログラムは、接続の確立を20回試行します ダウンロードを開始します。非常に飽和状態のサイトでは、20回試行しても達成されなかった可能性があります。 とともに オプションt より多くの試行に増加します。
wget -t 50 http://ejemplo.com/pelicula.mpg
wgetでウェブサイトをダウンロードする
Wgetはファイルのダウンロードだけに限定されません全ページをダウンロードできるようになります。 次のように書く必要があります。
wget www.ejemplo.com
ウェブサイトとその追加要素をダウンロードする
とともに オプションp また、すべてをダウンロードします ページに必要な追加要素 スタイルシート、インライン画像など。
追加すると オプションr se 最大5レベルまで再帰的にダウンロードします サイトから:
wget -r www.ejemplo.com -o reporte.log
リンクをローカルに変換する
デフォルトでは、サイト内のリンクはドメイン全体のアドレスを指しています。 サイトを再帰的にダウンロードしてからオフラインで調べると、 変換リンクオプション それはそれらをに変えます ローカルリンク:
wget --convert-links -r http://www.sitio.com/
サイトの完全なコピーを入手する
サイトの完全なコピーを入手する可能性があります。 ザ・ –ミラーオプション を使用するのと同じです オプション-r-l inf -N これは、無限レベルでの再帰と、ダウンロードされた各ファイルの元のタイムスタンプの取得を示します。
wget --mirror http://www.sitio.com/
拡張機能を変換する
サイト全体をダウンロードしてオフラインで表示すると、.cgi、.asp、.phpなどの拡張子が原因で、ダウンロードしたいくつかのファイルが開かない場合があります。 次に、で示すことが可能です –html-拡張オプション すべてのファイルは.html拡張子に変換されます。
wget --mirror --convert-links --html-extension http://www.ejemplo.com
これらは単なる一般的なガイドラインです Wgetでできるよりも。 欲しい人は相談することができます オンラインマニュアル この素晴らしいダウンロードマネージャーが私たちに提供するすべての可能性を相談します。
「拡張によるダウンロード」については、読むのをやめました。 知らないものはダウンロードできません。 要求されたディレクトリがファイルのリストを許可し、インデックスがない場合(そして両方が同時に発生する必要がある場合)を除いて、あなたが言うことはできません。 なんというレベルでしょう。
こんにちはルベン、無知は少し大胆です。
あなたがコメントすることはグーグルへの簡単なコマンドで行うことができます:
ファイルタイプ:pdf サイト:ubunlog.COM
この例では、このブログにPDFはありませんが、最後のドメインを好みのWebに変更すると、あるタイプのWebのすべてのファイルを簡単に表示できることがわかります。
良い一日を。
しかし、wgetはURLでPDFを見つけるためにグーグルに接続しません。 RubénCardenalが言うように、Webディレクトリが開いていて、mod_autoindexなどによって生成されたインデックスページが存在する必要があります。
「一部のサーバーがwgetへのアクセスをブロックしている可能性があるため、このコマンドは常に機能するとは限りません。」
この記事に加えられたこの修正は、私が同意しないためです(ただし、技術的には、httpヘッダー要求に対して特定のWebエージェントをブロックし、403「許可されていません」メッセージを返すことは可能です)。その理由を説明します。
すべてのApacheWebサーバー(およびサーバーのかなりの割合について話している)は、デフォルトでグロブを許可します(優れたウィキペディアの記事、以下を読んでください: https://es.wikipedia.org/wiki/Glob_(inform%C3%A1tica) .
これは実際には、氏によって指定されたように意味します。 Rubén(そして彼は正しい)、「index.php」または「index.html」(または単に「index」と呼ばれる)と呼ばれるファイルがない場合、サーバーはファイルとディレクトリのリストを静かに返します(もちろん形式で)各ファイルのWebリンクとしての情報を含むhtmlページの)。 ほとんどのWebサーバーは、セキュリティ上の理由から、.htaccesファイル(厳密に言えばApache2)を介してこの機能を無効にします。
これがwgetの多様性です(ウィキペディアでそのストーリーを参照してください。あなたが最もよく知っているものです: https://es.wikipedia.org/wiki/GNU_Wget )上記の情報を分析または「解析」し、必要な拡張機能のみを抽出します。
さて、これがうまくいかない場合は、何らかの理由で、他の高度なwget関数を試すことができます。英語で直接引用します。
HTTPサーバー上のディレクトリからすべてのGIFをダウンロードしたいとします。 'wgetを試しました http://www.example.com/dir/*.gif’、しかし、HTTP検索はGLOBBINGをサポートしていないため(大文字を使用)、それは機能しませんでした。 その場合は、次を使用します。
wget -r -l1 -no-parent -A.gif http://www.example.com/dir/
より冗長ですが、効果は同じです。 '-r -l1'は、最大深度1で再帰的に取得することを意味します(再帰的ダウンロードを参照)。'– no-parent 'は、親ディレクトリへの参照が無視されることを意味します(ディレクトリベースの制限を参照)。 gif 'は、GIFファイルのみをダウンロードすることを意味します。 '-«*。gif»'も機能します。
この最後の方法で実行すると、wgetは、要求されたWebアドレスを使用して、作業中のデフォルトフォルダーにフォルダーを作成し、必要に応じてサブディレクトリを作成します。たとえば、.gif画像を配置します。リクエスト。
--------
ただし、それでも特定の種類のファイル(* .jpgなど)のみを取得できない場合は、HTMLページのすべての内部要素(画像、音声、 cssなど)をhtmlページ自体(「–page-requisites」は「-p」と省略できます)と一緒に使用すると、「mhtml」のようなものをダウンロードするのと同じになります。 https://tools.ietf.org/html/rfc2557
この情報がお役に立てば幸いです。
メモをありがとう。 Salu2。
エラーがあると思います。最初のXNUMX行は同じコマンドです。
とても良いチュートリアルをありがとうございました!