カウンタから bot をはじく

tDiary のカウンタから bot をはじくには,@options['bot'] に追加すればよい.このオプションはもともと,リンク元を隠してキーワードの連鎖ヒットを防ぐという役割があるのだが,counter.rb はこいつ「も」見てカウントすべきか判断するとのこと.

というわけで,いろいろ加えてみた.とりあえず生ログのあるディレクトリで

grep GET * | cut -d " " -f 12- | sort | uniq -c | sort -nr 

して (一部,うまくパースできず referer が混ざってしまうところがあったけど無視),適当に bot らしいもの,正規のアクセスでなさげなものを除外してみた.


@options['bot'] = ['^(Naverbot|Cowbot)-','^BlogLines/','^blogmap','^FAST-WebCrawler/','^Hatena Antenna/','MI[CK]AN/','^msnbot/','^NG/','^Openbot/','^samidare','^TAMATEBAKO/','^TomSoftAntenna','^1\.0$','Ask Jeeves/Teoma','^ConveraCrawler','Slurp','^Googlebot','^SharpReader','Comaneci_bot','^ia_archiver','^BlogRanking/RSS checker','^Mediapartners-Google','^Bulkfeeds','ZyBorg','^\-$','^Technoratibot','^Pockey-GetHTML','^psbot','^Infoseek SideWinder','^CaptainNAMAAN','^ParabolicMini','^Jigsaw','^Blogpeople','^BlogWatcher_Spider','^tDiary RSS recent plugin','^Wget','^ndl-japan-research-robot','^libwww-perl','^gazz','^Swooglebot','^CreativeCommons','^ping\.blogger\.jp/RSSdiscovery','^lwp-trivial','^W3C_Validator','MSIECrawler','^Microsoft URL Control']
いろんな UA があるんやなー.学術目的とかの bot もけっこうあって面白い.blog ランキングサイトの bot は一体どうやってかぎつけてくるんだか? リンクをたどってるのか.