昨晩なかなか眠れなかったので、QiitaAPIv2で遊んでみたまとめです。
(API周りについて誤りがありましたらご指摘ください。)
QiitaAPIv2について
まずAPIがv1とv2で情報取得に関しては、以下の様な違いがあります。
v2になって、2倍の範囲から、1時間あたり多くの回数取得出来るようになっています。
v1 | v2 | |
---|---|---|
1リクエストで取得可能な件数 | 100件 | 100件 |
1リクエストで取得可能な範囲 | 5000件 | 10000件 |
利用制限(認証時) | 150リクエスト/h | 300リクエスト/h |
タグデータの全体像
上記を踏まえて、今回取得するタグ情報について考えてみます。
まず、Qiitaで登録されているタグの数を調べてみると、**「8987」**です(2014-10-01時点)。
タグ数の調べ方は、Total-Count レスポンスヘッダから確認出来ます(公式ドキュメント参照)。
Chromeであれば、デベロッパーツールを出した状態でAPIをブラウザで叩けば確認出来ます(下図)。
また、取得可能な範囲が10000件であるので、v2であれば、今なら全てのタグ情報を取得可能です。
###データ取得
簡単にPHPで以下のように取得してみました。リクエストごとにJSONファイルを出力しています。取得出来た後は自由に加工して分析します。
YourAccessTokenにアクセストークンを取得して代入してください。
<?php
$context = stream_context_create(array(
'http' => array('ignore_errors' => true,
'header' => "Authorization:Bearer YourAccessToken")
));
for($i = 1; $i <= 100; $i++){
$url = 'https://qiita.com/api/v2/tags?page='.$i.'&per_page=100';
$res = file_get_contents($url, false, $context);
$filename = './json'.$i.'.txt';
file_put_contents($filename, $res);
}
分析(タグが付いている記事の数の比較)
タグが付与されている記事の数が多い順にグラフ化してみました。また、TOP20が全体に占める割合を表にまとめてみました。
普段は自分がフォローしているタグしか見てなかったりするので、上位に食い込んでいるタグが意外なものがあったりして面白かったです。
タグ | 全体に占める割合(%) |
---|---|
Ruby | 4.97 |
JavaScript | 3.57 |
Rails | 2.72 |
PHP | 2.61 |
iOS | 2.54 |
Objective-C | 2.20 |
Python | 1.93 |
Android | 1.79 |
Git | 1.66 |
Java | 1.65 |
Linux | 1.42 |
Mac | 1.38 |
Vim | 1.04 |
Xcode | 0.96 |
Node.js | 0.94 |
iPhone | 0.91 |
AWS | 0.81 |
MySQL | 0.81 |
vagrant | 0.78 |
CentOS | 0.77 |
その他 | 64.53 |