新番組調査@2chアニメ板・・・計画

こないだやった新番組調査、色々とリンクしていただいたようで。アクセスがあるっていいものですね・・・

と、それはおいといて。なんかNANA銀魂が上位なのが納得行かない人が多いようで。まあ俺もその一人ではありますが、そもそも調査の母集団がアニオタに特化してないからしょうがない。逆にそこがいいところという気もしないではないし。一般人にはどういうアニメが受けてるのか、その辺も含めて調査したかった。

しかし、あの結果を見るとはてな内での感想サイト数がおおむね把握できてしまったような気も。大体100〜150サイトくらいかな?

とか、その辺もそのうちまとめて表に書きたいのですが、それはともかく。

やっぱり結果に納得行かない人もいるようなので、じゃあ調査の母集団をアニオタに特化しようじゃないか!と思ってよさげなサンプルを考えてみたんだけど・・・。どうみても2chしかありません。

でようやく本題。それにしても人に見せることを考えないとこれほど支離滅裂になるのかっていうのを思い知らされますね。まあいいけど。表もそれほど人に見せることを意識してるわけじゃないけど、それでもやっぱりあまりみにくい文章は書かないようにしようとか考えるし。丁寧語だし。

全然本題に入らないな。まあ夜だし。

で、2chですよ。具体的には

http://anime.2ch.net/anime/subback.html

からアニメ一覧を取ってきて、レスの数を数える。アンチスレも混じってるから「糞アニメ」とかでgrep -vすればそれなりにフィルタリングできそう。あとは漢数字とか全角数字を半角に変換して、スレ数っぽいものを抽出。最後に行末の(***)を足してレス数がでる!というかんじ。幸いキーワード調査で新番組の名前は把握してるので、あとは正規表現のキーを作るだけかな。

口で言うのは簡単だけど、実際は結構難しそうな気もするけど・・・どうなんだろ。

こんなもんでどうでしょ。

use strict;

my $url    = 'http://anime.2ch.net/anime/subback.html';
my $f_unti = '糞|駄|アンチ|変態|ウンコ|黒歴史|パクリ';

my @list; # = `wget -qO - $url | nkf -e | grep -Ev '$f_unti'`;
my @patterns = map{tr/\x0A\x0D//d;$_;} <>;

my @n1 = qw(零 一 二 三 四 五 六 七 八 九);
my @n2 = qw(0 1 2 3 4 5 6 7 8 9);

open(F, '2ch.out');
@list = <F>;
foreach my $l (@list){
    foreach my $ptn (@patterns){
        if($l =~ /$ptn/){
            $l = convn($l);
            $l =~ s/.+($ptn.+)/$1/;
            if($l =~ /(\d+)[^\d]+\((\d+)\)/){
                print "$1 $2 $l";
            }
            else{
                print "**** $l";
            }
        }
    }
}
close F;
print "\n";

sub convn{
    my $str = shift;
    for(my $i=0; $i<10; $i++){
        my $ptn = "$n1[$i]|$n2[$i]";
        $str =~ s/$ptn/$i/g;
    }
    return $str;
}

あとは微調整&手動でカウントかなー