Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

QiitaAPIv2でQiitaの全タグ情報を取得して内訳を分析してみた

More than 5 years have passed since last update.

昨晩なかなか眠れなかったので、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をブラウザで叩けば確認出来ます(下図)。

ScreenClip.png

また、取得可能な範囲が10000件であるので、v2であれば、今なら全てのタグ情報を取得可能です。

データ取得

簡単にPHPで以下のように取得してみました。リクエストごとにJSONファイルを出力しています。取得出来た後は自由に加工して分析します。
YourAccessTokenにアクセストークンを取得して代入してください。

get.php
<?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が全体に占める割合を表にまとめてみました。
普段は自分がフォローしているタグしか見てなかったりするので、上位に食い込んでいるタグが意外なものがあったりして面白かったです。
タグ分析.png

タグ 全体に占める割合(%)
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
kure
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away