去年の作業を参考にしつつ。
2008年声優言及数 作業メモ(2) 言及数グラフデータを取得 - XXXannex
前に書いた通り、キーワードのエンコーディング方式を指定できるので、その辺はちょっと楽になってるかも。まあ、コーディング上は大して変わってないけど・・・。統一したエンコーディングで作業できる、ってのは結構楽なものなのです。
use strict; use warnings; use FindBin; use lib "$FindBin::RealBin/../lib"; use EEncode; # $end must be YYYY-MM-DD # e.g. http://d.hatena.ne.jp/keywordstats/%b9%e2%b3%c0%ba%cc%cd%db?mode=graph&type=refcount&date=2008-12-25&range=400 my $end = shift; ## e.g. 2008-12-25 my $range = shift; ## e.g. 400 my $list = shift; open my $fh, '<', $list or die("open $list failed"); while(<$fh>){ tr/\x0A\x0D//d; my $ky = (split(/\t/))[0]; my $escaped_name = convert_s2e($ky); print "wget -O ${escaped_name}_${end}_${range}.png 'http://d.hatena.ne.jp/keywordstats/$escaped_name?ie=utf8&mode=graph&type=refcount&date=$end&range=$range'; sleep 1;\n"; } close $fh;
で、サイズ0のファイルは削除します。
$ find ./ -size 0 -type f | xargs rm
$ ls | wc -l 1081
去年より結構増えてるなあ・・・。
あ
そうか、去年のデータも取ってこなきゃなんだ。
というわけで、昔のログを取得してみた
去年のログでも書いたけど、「情報を取得できません」という画像が表示されることがある。
2008年声優言及数 作業メモ(3) 言及数グラフデータを集計 - XXXannex
wgetのログをみると、200、302、404の場合があって
$ grep ^HTTP wget.log | sort | uniq -c 1081 HTTP request sent, awaiting response... 200 OK 95 HTTP request sent, awaiting response... 302 Moved 972 HTTP request sent, awaiting response... 404 Not Found
- 200:キーワードあり
- 302:キーワードはあるが、「情報を取得できません」状態
- 404:キーワードなし
という具合になるようです。
- http://d.hatena.ne.jp/keywordstats/%E4%BA%94%E8%A1%8C%E3%81%AA%E3%81%9A%E3%81%AA?ie=utf8&mode=graph&type=refcount&date=2008-12-31&range=365
- http://d.hatena.ne.jp/keywordstats/%E4%BA%94%E8%A1%8C%E3%81%AA%E3%81%9A%E3%81%AA?ie=utf8
キーワード「五行なずな」の編集ページから、作成日は2009/09/03のようです。したがって、2008年1月〜12月のデータを取ってこようとすると302で http://d.hatena.ne.jp/images/graph.png に飛ばされてしまいます。
+ wget -O %E4%BA%94%E8%A1%8C%E3%81%AA%E3%81%9A%E3%81%AA_2008-12-31_365.png 'http://d.hatena.ne.jp/keywordstats/%E4%BA%94%E8%A1%8C%E3%81%AA%E3%81%9A%E3%81%AA?ie=utf8&mode=graph&type=refcount&date=2008-12-31&range=365' --2010-01-04 23:19:07-- http://d.hatena.ne.jp/keywordstats/%E4%BA%94%E8%A1%8C%E3%81%AA%E3%81%9A%E3%81%AA?ie=utf8&mode=graph&type=refcount&date=2008-12-31&range=365 Resolving d.hatena.ne.jp... 59.106.108.77 Connecting to d.hatena.ne.jp|59.106.108.77|:80... connected. HTTP request sent, awaiting response... 302 Moved Location: /images/graph.png [following] --2010-01-04 23:19:07-- http://d.hatena.ne.jp/images/graph.png Connecting to d.hatena.ne.jp|59.106.108.77|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 2187 (2.1K) [image/png] Saving to: `%E4%BA%94%E8%A1%8C%E3%81%AA%E3%81%9A%E3%81%AA_2008-12-31_365.png' 0K .. 100% 19.8M=0s 2010-01-04 23:19:07 (19.8 MB/s) - `%E4%BA%94%E8%A1%8C%E3%81%AA%E3%81%9A%E3%81%AA_2008-12-31_365.png' saved [2187/2187]
そんなに新人でもないと思うんですけどね。疎い俺が言えることではないですが。
とりあえず、やっつけ的ですがこんな感じで消しておく。
$ ls | while read f; do pngcheck -pv $f | grep 'PLTE chunk: 4 palette entries' > /dev/null if [ $? -eq 0 ]; then echo $f fi done | xargs rm