検索語ランキング

最近"アースソフト"とか"PT1"を検索して飛んでくる人が多いみたいだ。

google検索:アースソフト PT1

googleで’アースソフト PT1’を検索

googleで"アースソフト PT1"を検索してみると、本家に続く6番目に表示されていたよ。

8月に発売情報を書いただけなのに、申し訳ない事だ。この夏、“名古屋港花火大会"絡みでショボイ携帯投稿ページに1000/日以上のアクセスが集中したのを思い出したよ。

騙された人、ご愁傷様です。

そういえば、Analogの検索語句レポートは大文字小文字を同一視できないのを思い出したので、その辺をごにょごにょする事に。

awkAnalogの吐き出したHTMLページから「検索語句レポート」を抽出し、sedで"検索語"と"数"をピックアップ。perlのuc関数で"検索語"を大文字に揃えて連想配列で集計し、降順に出力するという処理がこれだ。

# 検索語ランキング抽出
$AWK '
        /検索語<\/th>/ {on=1;next;}
        /その他/ {on=0;}
        { if (on) {print;}
 }'     /usr/share/analog/index.html \
 | $SED -e 's/<\/td><td class="xl">/\t/g' -e 's/.*"R">//g' -e 's/<\/td>.*//g' \
 | $PERL -e '
        my @n;
        while ( <STDIN> ) {
                chomp;
                @a=split(/\t/);
                $word = uc $a[1];
                $n{$word} += $a[0];
        }
        foreach (sort { $n{$b} <=> $n{$a} } keys %n){
                print "$_\t$n{$_}\n";
        }
 ' > $TMPFILE
# 上位10傑
head -10 $TMPFILE       \
 | $SED -e 's/^\([^\t]*\)\t\(.*\)$/<li>\1 \(\2\)<\/li>/' > $RANKLIST
rm -f $TMPFILE

headでTop10だけ取り出し、sedを使って行としてHTMLを吐き出す後処理を加え、Analog起動のcronシェルに追加。

吐き出したファイルはrNoteでskinとして取り込むようにしといたので、今後はカウンタの下あたりに先週~前日の検索語ランキングが表示されるはずだ。