- 締切済み
wgetのオプション
いつもお世話になります。 wgetを使ってサイトの取得を色々試しています。 例:あるブログを取得。ブログは毎日更新されている。 昨日wgetでブログを取得。今日もブログを取得した場合、更新又は新規ファイルだけを取得したい。 条件で言えば『取得済みのファイルは取得しないが、タイムスタンプが変更している場合は取得する。勿論新規ファイルも取得』 オプションの-nc(取得済みファイルは取得しない)、-N(タイムスタンプを見る)を同時に指定すると以下のエラーが出ます。 「-Nと-ncとを同時には指定できません。」 何か方法はないのでしょうか? 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- superside0
- ベストアンサー率64% (461/711)
回答No.2
> 何故、Last-modifiedが取れないのでしょうか。。。 wget側の問題でなく、アクセス先のhoge.jp側からの戻ってくる httpヘッダに存在していないのが問題です。 CGIとかで、静的コンテンツじゃないってことでは?
- superside0
- ベストアンサー率64% (461/711)
回答No.1
-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が取れないのでしょうか。。。