wget
プログラムを使用していますが、ダウンロードしているhtmlファイルを保存しないでください。受け取ったら捨てて欲しいです。それ、どうやったら出来るの?
Wgetの出力を/ dev/null(WindowsではNUL)にリダイレクトできます。
wget http://www.example.com -O /dev/null
ファイルはディスクに書き込まれませんが、ダウンロードされます。
ファイルを保存したくない場合で、/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
も参照してください。
$ wget http://www.somewebsite.com -O foo.html --delete-after
コンソールでも結果を印刷したい場合は、次のようにします。
wget -qO- http://www.example.com
もう1つの方法は、curl
のようなツールを使用することです。デフォルトでは、リモートコンテンツをファイルに保存する代わりにstdout
に出力します。
「-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
* 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/*
ダウンロード後にファイルを削除する--delete-afterオプションを使用します。
編集:おっと、私はすでに答えられていることに気づきました。
ヘルプdoc(wget -h)によると、-spiderオプションを使用してダウンロードをスキップできます(バージョン1.14)。
Download:
-S, --server-response print server response.
--spider don't download anything.