web-dev-qa-db-ja.com

`wget`がページを保存しないようにする

wgetプログラムを使用していますが、ダウンロードしているhtmlファイルを保存しないでください。受け取ったら捨てて欲しいです。それ、どうやったら出来るの?

69
Ram Rachum

Wgetの出力を/ dev/null(WindowsではNUL)にリダイレクトできます。

wget http://www.example.com -O /dev/null

ファイルはディスクに書き込まれませんが、ダウンロードされます。

85
Evan Anderson

ファイルを保存したくない場合で、/dev/nullでページをダウンロードするという解決策を受け入れた場合は、wgetを使用してページを取得および解析しないと思います内容

リモートアクションをトリガーすることが本当に必要な場合は、ページが存在することを確認してください。HTMLの本文ページをダウンロードしないことをお勧めします。

wgetオプションを使用して、httpヘッダー、リクエストステータスなど、本当に必要なものだけを取得します

  • ページに問題がないことを確認する必要がある(つまり、返されるステータスが200である)と仮定すると、次のことができます。

    wget --no-cache --spider http://your.server.tld/your/page.html
    
  • サーバーから返されたヘッダーを解析する場合は、次のようにします。

    wget --no-cache -S http://your.server.tld/your/page.html
    

その他の操作オプションについては、 wgetのマニュアルページ を参照してください。
wgetの代わりに lynx も参照してください。

33
drAlberT

$ wget http://www.somewebsite.com -O foo.html --delete-after

17
al.

コンソールでも結果を印刷したい場合は、次のようにします。

wget -qO- http://www.example.com
15
SCL

もう1つの方法は、curlのようなツールを使用することです。デフォルトでは、リモートコンテンツをファイルに保存する代わりにstdoutに出力します。

9
natacado

「-spider」オプションを確認してください。私はそれを使用して自分のWebサイトが稼働していることを確認し、稼働していない場合はメールを送信します。これは私のcrontabからの典型的なエントリです:

46 */2 * * * if ! wget -q --spider http://www.rochesterflyingclub.com/ >/dev/null 2>&1; then echo "Rochester Flying Club site is down" ; fi
4
Paul Tomblin

Wgetを使用してWebサイトをクロールする必要があり、ディスクチャーンを最小限にしたい場合...

* NIXボックスでwgetを使用する場合は、ファイルへの書き込みをスキップすることをお勧めします。 Ubuntu 10.04のボックスで、最初のダウンロード後にwget -O /dev/nullが原因でwgetがダウンロードを中止することに気付きました。
また、wget -O real-fileにより、wgetがページ上の実際のリンクを忘れてしまうことにも気付きました。各ページに存在するindex.htmlを主張します。そのようなページは常に存在するとは限らず、wgetは以前に見たリンクを記憶しません。

ディスクに書き込まずにクロールするために、私が思いついた最高のものは次のとおりです

 mkdir /dev/shm/1   
 cd /dev/shm/1
 wget --recursive --relative --no-parent ...

-O fileオプションがないことに注意してください。 wgetは$ PWDディレクトリに書き込みます。この場合、それはRAMのみ tmpfs ファイルシステムです。ここでの書き込みは、ディスクチャーンを回避し(スワップ領域に応じて)、すべてのリンクを追跡する必要があります。これにより、Webサイト全体が正常にクロールされます。

その後、もちろん、

 rm --recursive --force /dev/shm/1/*
3

ダウンロード後にファイルを削除する--delete-afterオプションを使用します。

編集:おっと、私はすでに答えられていることに気づきました。

2
John Gardeniers

ヘルプdoc(wget -h)によると、-spiderオプションを使用してダウンロードをスキップできます(バージョン1.14)。

Download:
  -S,  --server-response         print server response.
       --spider                  don't download anything.

0
rocky qi