みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

wgetのオプション

いつもお世話になります。
wgetを使ってサイトの取得を色々試しています。

例:あるブログを取得。ブログは毎日更新されている。
昨日wgetでブログを取得。今日もブログを取得した場合、更新又は新規ファイルだけを取得したい。

条件で言えば『取得済みのファイルは取得しないが、タイムスタンプが変更している場合は取得する。勿論新規ファイルも取得』

オプションの-nc(取得済みファイルは取得しない)、-N(タイムスタンプを見る)を同時に指定すると以下のエラーが出ます。
「-Nと-ncとを同時には指定できません。」

何か方法はないのでしょうか?
宜しくお願いします。

投稿日時 - 2009-02-27 14:23:47

QNo.4753609

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

> 何故、Last-modifiedが取れないのでしょうか。。。

wget側の問題でなく、アクセス先のhoge.jp側からの戻ってくる
httpヘッダに存在していないのが問題です。

CGIとかで、静的コンテンツじゃないってことでは?

投稿日時 - 2009-02-27 20:53:31

ANo.1

-Nだけで、
新規ファイルや 取得済みだがタイムスタンプが変わったファイルはダウンロードするとなります。

(つまり、取得済みでタイムスタンプも変わらないファイルはダウンロードしない)

-ncとちがって、HTTPヘッダだけは取得しに行きますので速度的には不利ですが。

投稿日時 - 2009-02-27 14:55:09

補足

-Nだけで実行をしてみましたが、以下のメッセージが出ます。
hoge.jp をDNSに問いあわせています... 完了しました。
hoge.jp[***.*.***.***]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 13,158 [text/html]
Last-modified ヘッダがありません -- 日付を無効にします。

-Nの説明で、『Last-modified』とありますが、これがないので、上書きされてしまうようです。
----説明--ここから-------
タイムスタンプを比較し、ファイルが変更されたと判断されたなら上書きダウンロードを行う。ただし、対象ファイルが Last-Modified ヘッダもたない場合(CGIなどやサーバーが自動で生成するディレクトリリストなど)、とりあえず上書きダウンロードする。
----説明--ここまで-------

何故、Last-modifiedが取れないのでしょうか。。。

投稿日時 - 2009-02-27 18:58:36

あなたにオススメの質問