Cocolog_Pro_Analyzer:ココログプロ用アクセス解析補助 Greasemonkey
ココログの新しいアクセス解析が 2013年12月に導入され、2014年2月に完全に切り換わった。基本的には便利になって、要望の多いらしい生ログなども将来的に対応していくそうだから、私は大きな不満はない。
ただ、ココログプロを使っていて複数のブログを扱っていると、ブログを横断したデータの閲覧性が低下した点は気になる。そういうのは、前は Perl などで robot を書けば、なんとかなったんだが、今回のアクセス解析は JavaScript がメインの動的なページのため、それが難しい。そのあたりを補うための Greasemonkey スクリプトを書いてみた。
■ |
配布物
|
■ |
解説
|
機能は大きく三つ。
|
もうちょっと凝っても良かったのだが、これ以外は、別のスクリプトに分けたほうが見通しが良くなると考え、これだけの機能で公開してみることにした。
近い将来にココログのほうで対応するらしい自サイト内の自分のアクセスを除外する機能の代替として、自分がアクセスしたときにそれを localStorage に残しておいて、あとから、そのデータを JSON として取り出せるようにすれば、あとは Perl スクリプトなどで簡単に除外処理を書ける。これをこのスクリプトに統合するかちょっと迷ったが、いずれやりたいと思っている翻訳等のためのツールバーに統合しても良く、とりあえず、ココログの対応を見てからにしようと今回は見送った。
できた JSON の中身は、不親切で申し訳ないが、↓のようにすれば構造がわかると思う。ラベルが label に配列で入ってて、「タプル」=各行のデータが tuples に配列の配列として入っている。
$ cat 'ダウンロードしたファイル名.json' | \ perl -e 'use JSON; use Data::Dumper;'\ -e 'my $json = decode_json(join("", <STDIN>));'\ -e ' print Dumper($json);' | more
完成度は正直高くない。エラー処理等をかなり、はしょっている。ココログプロの人口は少なく、かつ、JSON を Perl 等で後処理ができるような人物となると、かなり限られて来て、そういう人なら、今回のようなプログラムは書けるだろう。その手間を少し省く程度の意味しかない。
その程度なので私は「パブリックドメイン」でいいのだが、ココログのアクセス解析の文法・機能にかなり依存していて、特にココログ外で転用するときは、注意が必要かもしれない。アーカイブを置いている場所はココログサーバー内でココログ側は割と自由にできるので、ここからダウンロードできる限りはココログで使用してもそれほど問題はないと思うが…。
■ |
無駄話
|
注意書き「数値の反映にはタイムラグが発生する場合があります。」は当初からあったかな?
リアルタイムに覗かれていると、アクセスしたあと失敗したなというとき消せない。それなら、いっそのこと最初からアクセスを隠す…みたいなことになりうる。ココログ側にしてみれば、これまでも「消せなかった」という主張ではあるんだろうが、「新規参入者」にやさしくあって欲しい。
今、そういう実装でなかったとしても、「アクセスしても2時間ぐらい反映されないことがある」と注記してあれば、今のネット上にはいなくてもいずれ「それぐらいだったら、クレカみたいに何かあったらあとから文句つけれればいいか」って大手企業IT担当者も出てくるかもしれない。
近い将来付けるそうだが、生ログはやっぱりあったほうがいい。私のような中小なところだと、生ログを全部見たって時間がかからない。ある意味、そこで直感を得られるのが中小サイトの有利点で、生ログをつぶすのは中小つぶし、ひいては技術者の独立可能性つぶしにつながる。
生ログは「少しわかりにくいけど探せばみつかる」ぐらいの形でいいので残しておいて欲しい。「オレが作りたいシステム」がある有能な技術者ほど、独立への憧れを持つもの。独立を突っぱねるよりその可能性を緩く認めてそういう技術者を周りに留めるほうが御社に新しい技術を持たらしますよ!…ってのは、安請け合い過ぎるか。
あと、今回のにはあまり関係がない要望だが、aboutme2cocologで付けたココログの記事 ID からココログのその記事に飛ぶ機能、先のは自分のブログ内でしか効かないが、ココログ全体で効くようにするのはコードとしてはむしろ先のものより簡単にでき、負荷もほぼないはずだから、公式にサポートして欲しい。
ココログのコードに依存しないように今回のコードを書くことは不可能ではないんだけど、一般化しすぎるとセキュリティの問題が怖い。このコードはサイト間を渡っていくループの側面を持っている。マインクラフトで学んだ(思い出した)面も大きいが、ループが存在するとリレー式計算機みたいなことができる。電脳侵食みたいなことがあったときに、まさかの方法として、そういう機構を使えるようにしておくのはサイバーパンク小説としてはおもしろそうだけど、今そこに凝っても大した意味はない。そういうのを本気で必要と考える人が現れた未来 に、それができる人材がいるというほうが大切で、それには「組織」がやっぱり必要で、この「個人サイト」の役割を越えてるかな…と。
ネットのアクセス数ってのはどうもおかしなことがあって、広告のリンクをクリックすると、なぜか、そのサイトから自分のブログへのアクセスが増えたりすることがある。「偶然」でしかないと強弁されれば証拠はなく放置するしかなかったが、今回のアクセス解析の改変はそのあたりの証拠をさらに得にくくするものという側面がある。わかってるはずなのに何も言ってこないから、皆それでいいってことにされて行政が介入できなかったのが、わかってないんだからインフラ側はもっと責任感を持てという話になるのかな?まぁ、普通、そうはならないよな…。
■ |
参考
|
初公開: | 2014年03月20日 03:46:54 |
最新版: | 2019年09月12日 21:34:46 |
2014-03-20 03:46:54 (JST) in ウェブログ・ココログ関連 JavaScript | 固定リンク | コメント (10) | トラックバック (0)
トラックバック
他サイトなどからこの記事に自薦された関連記事(トラックバック)はまだありません。
» JRF のソフトウェア Tips:Cocolog_Pro_Analyzer:ココログプロ用アクセス解析補助 Greasemonkey (この記事)
コメント
年度末のかなりの突貫工事。できたてホヤホヤだが、少しでも早く公開したほうが、3月末日までにバグが取れる可能性が広がるかと思って、まず公開してみた。
投稿: JRF | 2014-03-20 03:55:32 (JST)
初公開:count_access-20140321.pl。バージョン 0.01。
JSON ダウンロード後の後処理を行う Perl スクリプトの例として count_access.pl を公開し、そのほか、記事にいろいろ書き足した。count_access.pl に関しては「例題」レベルのコードなので「パブリックドメイン」でいいはず。
投稿: JRF | 2014-03-21 05:30:53 (JST)
数値にコンマ(,)が使われている場合にそれを除く処理を足した。うちはアクセス少ないから気付くのが遅くなった。orz
投稿: JRF | 2014-07-01 09:19:11 (JST)
JSON がどうもうまく取得できない。適当に wait を入れないとダメっぽい。しかたなく、JSON を諦めて、手でコピペしていったデータで count_access するスクリプトも書いておいた。
投稿: JRF | 2014-07-17 16:44:28 (JST)
@grant 文を足しただけで、内容的には何も変わってない。というか、初公開当時から、私のところの Greasemonkey のバージョンがかなり古かったため @grant 文が必要になってることに気付かなかっただけっぽい。
投稿: JRF | 2015-10-26 22:14:49 (JST)
Greasemonkey 4.0 に対応するための緊急リリース。ただし、「集計」「全集計」の機能はうまく動いていないようだ。以前からだいたいそうなのでもうその機能を使っている人はいないと判断しているが、…申し訳ない。
投稿: JRF | 2017-11-17 03:17:01 (JST)
Greasemonkey 4 にバグがあるのか、私のプログラムにバグがあるのかよくわからないが、バージョン 0.04 は iframe まわりで妖しい動作をしていた。iframe 内では処理をしないようにしておいた。
投稿: JRF | 2017-11-19 21:12:59 (JST)
「集計」「全集計」の機能も動くようにしてみた。「完璧」とは程遠いと思うが。
なお、Greasemonkey のバグなのか、ときどき Greasemonkey スクリプトの実行がされないことがあり、そのため集計の途中で止まることがあった。その場合は、落ち着いてその段階のページをリロードしてみると再度、途中から動き出すようだ。そうなったときはお試しあれ。
投稿: JRF | 2017-11-24 10:31:41 (JST)
2019年3月19日のココログ全面リニューアルのため使えなくなっていたのを、突貫工事で使えるようにした。
ただし、現在、ファイルのアップロードができないらしいので、SugarSync にアップロードしておく(↓)。
https://www.sugarsync.com/pf/D252372_79_6749281173
これは、ココログでアップロードができるようになったら、ココログにアップして、SugarSync のは消す予定。
投稿: JRF | 2019-03-20 22:18:19 (JST)
更新: Cocolog_Pro_Analyzer-20190912.user.js。バージョン 0.08。
ダウンロードは↓から。
https://www.sugarsync.com/pf/D252372_79_6464410999
サイレントに、ココログが ua.userlocal.jp に https でアクセスするようになったので、その対応をした。user.js のヘッダ部分しかいじってない。
投稿: JRF | 2019-09-12 21:37:24 (JST)