あらかじめ日記

雑記とかブログで使えるスクリプトとかテクニックとか。その他、音楽やアニメ、漫画の話題とかも。

【C#】Google Analytics APIを使って人気ページランキングを作成する【ブログパーツいらず】

人気ページランキングのブログパーツを前から探していたのですが、定番はACR WEBとかのサービスでしょうか。

でもやっぱりサムネイルとかも表示させたい… あとこれ以上解析用のスクリプトを埋め込むのもどうかと言うことで、悩んだ挙句今まではGoogle Analyticsの結果を見て毎回手でリンクを作成していました。。

もちろん自前で作るので、当然自由度も十分広告も無し。タグのベタ書きなら解析のスクリプトも実行させません
デメリットはタイムリーに更新されないことくらいですが、週間くらいで更新でよければこれは問題ないでしょう。

ただ、ご想像の通り非常に面倒です(笑)

その時からAPIを使って自動化できないかと思っていたので、今回挑戦してみました。

 

以下を参考にさせてもらいました。

blog.shibayan.jp


 基本的にこの通りにやればできてしまうのですが、少しわからなかったところを折角なので補足したいと思います。


これくらいでしょうか。

URLが取得できるのですがフルパスではないので、対象ページ(ビュー)のURLも取りたかったのですが、結局分からず。。
(まぁここは一先ず自分のサイトのURLなので固定にしてしまえば問題はありません)

URLが分かったので、ここで前回作った機能が活きてきます

allthewayfrom.hatenablog.com


HTMLを構文解析できれば早いかもしれませんが、最初の画像をサムネイルとしますのでここも正規表現で引っ張ってきます。

ただし、記事本文の中は特定しないといけないので、まずは簡単に特定できる文字列(id属性とか)をキーにして、その文字列が最初に見つかった位置から、最初に見つかるimgタグのsrcのパスを取得するようにしてみました。

あとはテンプレートを用意しておいて、目的の文字を置換して完了。


画面はこんな感じです。

f:id:allthewayfrom:20150712180543p:plain

※「除外文字」欄はタイトルに入ってくる不要な文字を削除する用です。


作成したタグはクリップボードへコピーして終了。後は貼り付けるだけ。

ボタン1つなのでこれはかなり楽になりました!
これでもうブログパーツいらずです。