重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

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

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

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

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

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

A 回答 (2件)

-Nだけで、


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

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

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

この回答への補足

-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
    • good
    • 0

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

。。

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

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!