web-dev-qa-db-ja.com

ブラウザの代わりにWgetを使用するのはなぜですか?

どのような場合に、ブラウザではなく Wget を使用したほうがよいでしょうか?

Richard Stallman は、匿名性の理由でブラウザの代わりにそれを使用すると聞きました。 Wgetを使用してファイルを取得すると、サーバーは何を確認しますか?

15
R S

通常、「ブラウザの代わりに」使用することはありません。ブラウザはHTMLをレンダリングし、リンクをクリック可能にします(URLを別のwgetコマンドに手動でコピーするのとは対照的に)など。wgetを人間として使用することには文字通り利点がありません。プライバシーを心配している場合、ブラウザをクリーンアップする方法は数百通りあります(または、人間のユーザーインターフェイスのすべての外観を破壊することなくベアボーンを取得したい場合は、Lynxなどの機能の少ないブラウザを使用できます)。

Wgetは主に、ファイルをダウンロードするための、迅速で安価なスクリプト可能なコマンドラインの方法が必要な場合に使用されます。そのため、たとえば、wgetをスクリプトに挿入して、新しいデータで頻繁に更新されるWebページをダウンロードできます。これは、ブラウザーを実際に使用することはできません。 wgetのさまざまなオプションを使用してWebサイトをクロールし、自動的に保存することができます。ほとんどのブラウザーは、少なくとも拡張機能なしでは実行できません。

要するに、ブラウザはインターネットを見る人間のためのアプリケーションであり、wgetはHTTPを介してデータを移動するマシンとパワーユーザーのためのツールです。彼らが何をするか(ウェブサイトからファイルをプルする)は非常に似ていますが、その使用方法はまったく異なります。

Wgetで物事を取得したときに「見る」サーバーについて:すべてのHTTPクライアント(ブラウザー、wget、curl、その他の類似のアプリケーション)は、「ユーザーエージェント」と呼ばれるものを送信します。ブラウザの機能について説明しています)。これは、ユーザーのブラウザに応じて異なるコンテンツを表示するために使用できます(つまり、GoogleはChromeを既にChromeを使用しているユーザーに宣伝しないようにします)。一部の愚か者は、wgetのユーザーエージェント文字列をブロックすることにより、パワーユーザーシェナンガンをブロックしようとしますが、Chromeユーザーエージェント文字列を偽造してそれを回避することができます。多くの場合、単純に統計に使用されるため、さまざまなブラウザの人気を把握しているため、どのブラウザを最も徹底的にテストするかがわかります。

Wgetのクロール機能を使用すると、サーバーは多くの高速リクエストをアルファベット順に表示します。あなたが彼らのサイトをスクレイピングしているのは、死んだ景品です。ユーザーのブラウジングとはまったく異なって見えます。ブラウザーで人間のユーザーがリクエストを行うと、すべてのページリクエストの後にそのページのすべての画像が続き、その後多少の遅延があり、その後、別のランダムページ(または場合によっては明確な目的を持つ一連のページ)がリクエストされます。

25
Benny Mackney

他の人が述べたように、wgetには、アドオン、Cookie、およびキャッシュがバンドルされていないという利点があり、これにより潜在的に安定性と安全性が向上します。しかし、ブラウザとwgetは実際には非常に異なるnormalの用途を持っています。

wgetは、コンテンツを表示するためではなく、コンテンツを取得するためのコマンドラインユーティリティです。 FTP、HTTP、およびHTTPSを介して、あらゆる種類のファイル(HTML、画像、バイナリなど)を含むすべてのものを取得およびダウンロードするために使用できます。

サーバーの場合、user agent引数を使用してブラウザーを指定しない限り、異なる--user-agentのみが表示されます。その場合、サーバーは違いを認識しません。

16
Julie Pelletier

1)人間ではなくスクリプトによって開始されたダウンロード

2)個別のページではなく、サイト全体(またはサイトのフラグメント)をダウンロードする。 (Wgetは自動的にリンクをたどることができます。)

Wgetには、サーバーが表示し、考えることができるものを制御するためのいくつかのコマンドラインオプションがあります。これには、ページのダウンロード要求間の任意の遅延が含まれます。ただし、サイトサーバーにアンチボットポリシーがある場合、許容できる結果が得られるまでに多くの時間とトラフィックを浪費することがよくあります。

ブラウザーを使用する場合、望ましくないアドオンやマルウェアも含めて、ブラウザー内のすべてがアクティブになりますが、wgetは、ものをダウンロードして他に何も実行しない単純なコマンドです。

ブラウザは必ずしも安全ではありませんが、潜在的に安全です。

サーバーは、通常どおり、ダウンロード要求を「認識」します。

4
user589808

ブラウザは、アクティビティを履歴とキャッシュファイルに記録できます。

wgetにはメモリ保持がありません。

つまり、ブラウザはより便利であり、NSAが先週ダウンロードした4.7.2-040702-genericであるかどうかは気にしません。私はブラウザをオンラインバンキングとPaypalに使用しています。これは、wgetでダウンロードできるファイルの大部分よりも間違いなく重要です。

4

Ubuntuのリモートインストールを使用する開発者として、OS GUIをインストールする意味はほとんどありません。この「コマンドライン」環境では、wgetはWebからファイルをダウンロードするための不可欠なツールです。

私は、もしあれば、どのブラウザをターミナルから実行できるかさえわかりません。

2
beterthanlife