たつをの ChangeLog : 2005-05-26

ルールにのっとり、amazon の商品写真は amazon のサイトへ直接リンクしていますが、10年後20年後を考えるとローカルに保存しておいた方が良い気がします。

amazon のサービスが終わってるかもしれませんし、リンクが変更されてるかもしれませんし。
画像がなくても現物があればいいのですが、現在持っている本がそのころに手元にあるかどうか分からないですしね。

もちろん現在の商品紹介でローカルに保存した画像を使うことはありません。
あくまで未来へ向けての保存用です。

というわけで、Linux で以下のような手順で全画像を保存しておきました。
perl と wget が必要です。

1. まず amazon 画像の URL を取り出し重複を削ったうえで、wget のコマンドを生成します。Blog のファイルは *.html で指定しています。コマンドラインで以下を実行:
% perl -F"<" -ane 'for(@F){$hash{$1}++
if(m|(http://.+?/images/P/.+?.jpg)|)}
END{for(keys%hash){print"wget $_\n"}}' *.html > a.sh
出力結果 (a.sh) はこんな感じ:
wget https://images-jp.amazon.com/images/P/4274065979.09.THUMBZZZ.jpg
wget https://images-jp.amazon.com/images/P/B0007V1SSA.09.THUMBZZZ.jpg
wget https://images-jp.amazon.com/images/P/489100455X.01.MZZZZZZZ.jpg
...

2. 生成した wget のコマンドを一気に実行します。これで勝手に次々とダウンロードされます。
% sh a.sh

日々更新するサイトならば、定期的に差分を取りながらダウンロードするように改造すると良いですね。

あと、楽天の商品写真も保存用にローカルに取って来ておいた方が良いかもしれません。というか、こちらの画像の方が早く消えそう。

(ちなみに今回のように「コマンドを生成するスクリプトを書いて作業を自動化する」というのは「その場しのぎプログラミング」[2003-12-09-3]でよく使っている手法です。)

追記050527: より良い方法が紹介されていました。wget の -i, -N オプション。これで行こっと。
- clmemo@aka: Amazon の画像をローカルに保存
<http://at-aka.blogspot.com/2005/05/amazon-amazonchangelogperlwget.html>
% perl -F"<" -ane 'for(@F){$hash{$1}++
if(m|(http://.+?/images/P/.+?.jpg)|)}
END{for(keys%hash){print"$_\n"}}' *.html > a.txt
% wget -N -i a.txt

ウイルスよりもゾンビPC--「サイバー攻撃の戦術に変化」と専門家
<http://headlines.yahoo.co.jp/hl?a=20050526-00000009-cnet-sci>
ゾンビネットワーク とは、マルウェアに感染して攻撃者に乗っ取られて
しまったコンピュータがつくるネットワークを指す。マルウェア作者はこ
のネットワークを利用して、スパムを送信したりDDoS攻撃を仕掛けたりす
る。
目立たないように、流行させないようにする。例えば、5000台くらいで感
染をストップし、その5000台でスパムメールを送信する。などなど。
「スパムを送るのに100万台のコンピュータが必要だろうか。答えはノー
だ。分散サービス拒否(DDoS)攻撃を行うには、5000台ないし1万台のPC
で十分すぎるほどだ。ウイルス作者やハッカーらが感染方法を変更したの
もそのためだ。彼らには世界的な流行は必要ない」(Kaspersky)
ますますやっかいな世の中に…。

レッサーパンダが気を付け 千葉市動物公園の「風太」
<http://headlines.yahoo.co.jp/hl?a=20050519-00000125-kyodo-soci>
風太
中に人が入ってる?
かわいいような、そうでないような。微妙。

たつをの ChangeLog
Powered by chalow