Blogger の概要ページで表示されるページビューのチャート。
前から微妙に気になっていたのだがどうやって作っているのだろう・・・
調べてみた。
チャートの描画
Chrome のデベロッパーツールで探ってみると、このチャートを描いている部分は、
<div> <img class="gwt-Image" style="width: 460px; height: 200px;" src="//chart.googleapis.com/chart?chf=bg,s,FFFFFF00&chxl=1:|2013%2F03%2F02|2013%2F03%2F04|2013%2F03%2F06|2013%2F03%2F08|%E4%BB%8A%E6%97%A5&chxp=0,100,200|1,0,25,50,75,100&chxr=0,0,200&chxs=0,676767,11.5,0,t,676767|1,6AA9E6,12,0,l,676767&chxt=y,x&chs=460x200&cht=lc&chco=6AA9E6&chd=s:TbocnghD&chls=3&chm=B,6AA9E664,0,0,0|h,E7E7E7,0,0.5,1,-1|h,AAAAAA,0,0,1,1|h,AAAAAA,0,1,1,1|V,E7E7E7,0,0,1,-1|V,E7E7E7,0,2,1,-1|V,E7E7E7,0,4,1,-1|V,E7E7E7,0,6,1,-1|V,E7E7E7,0,8,1,-1" border="0" alt="Blogger ページ ビューのグラフ" usemap="#__gwt_chart_map1"> <map name="__gwt_chart_map1" id="__gwt_chart_map1"> <area shape="RECT" coords="2,189,64,198" href="#"> <area shape="RECT" coords="105,189,167,198" href="#"> <area shape="RECT" coords="209,189,271,198" href="#"> <area shape="RECT" coords="312,189,374,198" href="#"> <area shape="RECT" coords="435,189,459,198" href="#"> <area shape="RECT" coords="9,92,27,101" href="#"> <area shape="RECT" coords="9,1,27,10" href="#"> <area shape="POLY" coords="31,129,90,105,149,66,208,102,267,68,326,90,385,86,445,177,449,181,389,90,330,94,271,72,212,106,153,70,94,109,35,133" href="#"> </map> </div>となっている。
イメージマップになっていて、チャートイメージは、「chart.googleapis.com/chart」で作成している。
だが「... has been officially deprecated」。Image Charts は すでに decrecated になっている。
- Googleイメージチャートが廃止 – stabuckyのブログ
チャート作成には、Google Chart Tools があり、そちらを使えということのようだ。
インタラクティブにチャートを作成できるアプリケーションとして Google Image Chart Editor がある。
Lifehacker に簡単な紹介記事があった。
Overview データの取得
チャート作成はデータを与えてチャートを描画するだけなので、データは別のところで取得している。
Blogger のページは Script だらけで読解困難なのだが、デベロッパーツールの Network ビューで見ると、
Request URL:http://www.blogger.com/blogger_rpc?blogID=XXXXXXXXX Request Method:POST ... Content-Type:application/json; charset=UTF-8 .... blogID:... Request Payload {"method":"getOverview","params":{"1":{"1":3}},"xsrf":"......"}このリクエストに対してこのようなレスポンスが返ってきている(改行は適宜入れてある)。
{"result":[null,[null,0, ["99","36","34","75","80","196","81","75","30","34","119","90","84","100","74","54","59","77","97","105","135","110","61","87","130","91","129","104","109","14"] ,[null,"14","109","2569","9010"] ,[[null,"ツェラーの公式:曜日を計算する",null,"http://xawa99.blogspot.com/2012/11/Zellers-Congruence.html","2012/11/05","ページビュー","258"] ..... ,[null,"[Scala] JSON の扱い",null,"http://xawa99.blogspot.com/2012/10/Scala-JSON.html","2012/10/14","ページビュー","32"] ] ,[[null,"カテゴリー別記事一覧",null,"http://xawa99.blogspot.com/p/blog-page_1.html","2012/08/01","ページビュー","5"] ,[null,"リンク集",null,"http://xawa99.blogspot.com/p/blog-page.html","2012/09/30","ページビュー","3"] ] ,[[null,"ツェラーの公式",null,null,null,null,"11"] ..... ,[null,"bluetooth イヤホン android 切り替え",null,null,null,null,"1"] ] ,[[null,"www.google.co.jp",null,"http://www.google.co.jp",null,null,"1540"] ..... ,[null,"blog.goo.ne.jp",null,"http://blog.goo.ne.jp",null,null,"5"] ] ,[[null,"https://www.google.co.jp/",null,"https://www.google.co.jp/",null,null,"668"] ..... ] ,[[null,"日本","JP",null,null,null,"2348"] ..... ,[null,"ウクライナ","UA",null,null,null,"2"] ] ,[[null,"Chrome",null,null,null,null,"1091"] ..... ] ,[[null,"Windows",null,null,null,null,"1730"] ..... ,[null,"Android 4.0.4",null,null,null,null,"2"] ] ] .....
日ごとのページビュー、累積ページビュー、記事毎やstaticページごとのページ数、国別ページビュー、OS別ページビューといった、
Blogger と統計概要ページに表示される情報が入っている。
http://www.blogger.com/blogger_rpc に JSON形式のデータ( 上の例では「
{"method":"getOverview","params":{"1":{"1":3}},"xsrf":"......"}
」) をポストするとこのような結果が返ってくるらしい。
Blogger には、 Google Blogger API というものがある。
Blogger で使っているような、blogger_rpc による呼び出しは非公開の機能なのだろうか・・・
0 件のコメント:
コメントを投稿