Qiita アドベントカレンダーとは、クリスマスまでの日数をカウントダウンするアドベントカレンダーの習慣にもとづいて毎年12月1日から25日までの期間限定で展開される記事投稿イベントです。毎年、Qiitaとクリスマスを最高に盛り上げる一大イベントとなっております。
Qiitaで投稿し始めてから1年以上の私も、今年は挑戦をしてみようかなと思います。ですから、会社の公式アカウントで「Octoparse」のアドベントカレンダーを作り、1人で更新しようと思います!今回はOctoparseの使い方を紹介しながら、アドベントカレンダーの情報をスクレイピングし、最も人気のあるカレンダーをまとめます。
Qiitaの公式サイトに詳細なランキングがありますが、やはり自分で作りたいです。実際は何か投稿するのかいいかな分からなくて、しょうがないです(笑)。
さて、始めましょう!
#ステップ1. 対象のWeb ページを設定する
Octoparseを起動して、ホーム画面の「カスタマイズモード」に表示されている「+ タスク」ボタンをクリックします。「Webサイト」に対象のURLを入力し、「URLを保存する」ボタンをクリックします。
下記のURLを使います。
https://qiita.com/advent-calendar/2019
#テップ2. 取得する項目を設定する
今回はカテゴリ、カレンダー名、参加者数、いいね数などを取得します。
まず、カテゴリの一番目「Sponser」(ログインしないと、ページが英語で表示される)をクリックすると、緑色に変わり、選択されたことを示します。残りのカテゴリは赤色に変わり、類似した要素として識別されたことを示します。すべてのカテゴリを選択するには、「操作ヒント」で「すべて選択」をクリックします。選択すると、すべてのカテゴリが緑色で強調表示されます。
各詳細ページからデータを取得するため、「操作ヒント」で「各URLをループクリップする」をクリックします。そうすると、Octoparseは一番目の詳細ページを開きます。
カテゴリ名をクリックし、「選択した要素のテキストを抽出する」を選択します。同じ手順を繰り返して、このページからカレンダー数、総参加者数の情報を抽出します。
各カレンダーの情報を抽出するには、カレンダーの詳細ページに移動する必要がります。
ここでは、各カテゴリページに移動する方法と同じです。まず、一番目のカレンダー名をクリックし、「操作ヒント」で「すべて選択」をクリックします。それから、「各URLをループクリップする」をクリックします。そうすると、Octoparseは一番目のカレンダーの詳細ページを開きます。
そうすると、カレンダーの詳細ページに入ります。また、カテゴリページの情報を抽出する方法と同じように、カレンダーの名前をクリックし、「選択した要素のテキストを抽出する」を選択します。同じ手順を繰り返して、このページから参加者数、総いいね数、購読者数、作成者の情報を抽出します。
#ステップ3. データ抽出を実行する
これで、スクレイピングのワークフローが完成しました。簡単でしょう!「抽出の開始」をクリックし、「ローカル抽出」を選択し、実行してみます。完成したら、好きな形式を選択し任意のフォルダにファイルをエクスポートします。
今回は12月16日まで、778件のカレンダーを取得しました。そこで一番人気のカレンダーはどれか、ランキングにしてみました。
#人気のカテゴリランキング
まずは人気のカテゴリを見てみましょう。
カレンダー数でランキングを見ると、トップ3は:第1位「企業・学校・団体」、第2位「その他」、第3位「プログラミング言語」となりました。
総参加者数でランキングを見ると、トップ3は:第1位「企業・学校・団体」、第2位「プログラミング言語」、第3位「サービス・アプリケーション」となりました。
#人気のカレンダーランキング
さて、人気のカレンダーを見てみましょう!
総いいね数でランキングを見ると、トップ3は:第1位「本番環境でやらかしちゃった人」、第2位「クソアプリ」、第3位「ABEJA」となりました。
購読者数でランキングを見ると、トップ3は:第1位「本番環境でやらかしちゃった人」、第2位「Visual Studio Code」、第3位「Vue」となりました。
今回は各カレンダーの作成者も取得しましたから、それでは一番多く作ったのは誰でしょうか?答えは@Gacchoさんです!7個のカレンダーを作ってくれました。それぞれのカレンダーは「C++」、「C言語」、「Unity」、「Unity #2」「Unity #3」、「Unreal Engine 4 (UE4)」、「Unreal Engine 4 (UE4) #2」です。
以上は2019アドベントカレンダーのランキングでした。いかがでしたか?プロのデータアナリストではないから、ただExcelで簡単な分析を行いました。興味がある方はぜひOctoparseというスクレイピングツールを使って、分析したいデータを取得しましょう!