LoginSignup
7
7

More than 5 years have passed since last update.

Qiitaのデータを眺めてみる

Posted at

数週間前にQUANON氏がQiitaレジェンドになりたいと言っていました。
そこで何かの役に立たないかと、とりま2017/03/01 〜 2017/04/30のQiitaの投稿データを集計してみました。

できたもの: https://y-takey.github.io/qiitaros

(キタロスと言いたかっただけなのかもしれない…)

1. データ収集

使用API

指標として「いいね」の数を取得したかったのですが、Qiita API v2では提供されていないようでした。記事ごとのHTMLページを取得してスクレイプすることも考えましたが、記事数が多くAPIの利用制限に引っかかるために断念しました。
Qiita API v1ではストック数が提供されていたので、これを代わりに用いました。「いいね」と「ストック数」にある程度の相関があるかなという前提です。(未検証)

収集範囲

本当は少なくとも過去1年分くらいのデータが欲しかったのですが、利用制限を超えるし、サーバに負荷をかけるのも躊躇われたので2ヶ月分に絞りました。

収集方法

Qiita API v1では1回の取得件数(per_page)が100、最大ページ番号(page)が50という制約があります。
その為、数カ月分のデータをそのまま取得しようとすると、ページ数が超過してしまいます。これを回避するために範囲内を10日ずつに区切りながら取得しました。
またレスポンスヘッダ内にlink情報が入っているので、パースし最終ページ番号を取得しました。
つまり日付とページの2重ループです。

ちなみに、検索条件の日付はUTCだけどレスポンス内の日付はJSTのようで、結果に5/1 09:00(JST)までのデータが含まれていました。

ちゃちゃっと実装したかったので馴染みのあるRubyで書きました。
コードはこんな感じです。
なお、取得したデータは加工してdata配下においています。

2. 集計表示

主な使用ライブラリ等は以下です。(詳細は省略)

7
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7