【開発事例】ココナラの出品ランキングを自動収集&ダッシュボード化【GAS×LookerStudio】
- yuji fukami
- 7月16日
- 読了時間: 6分
概要
毎日更新されるココナラの各カテゴリーのランキングページの情報を自動的に取得して、その日々の変化などをダッシュボード化して誰でも見れるようにするシステムを構築したので、今回はその紹介です。
背景
まずココナラのランキングは下記リンクのようなものです。

このランキングが様々なカテゴリー別に掲載されていて、これが毎日更新されて変化します。
ココナラで出品している人にとっては
・自分の出品サービスがいまどの順位なのか?
・上位に上がるほど閲覧数が増えるので案件受注に繋がりやすい
ということで常に気になったりします。
今回開発したシステムでは、このランキングを毎日取得して、これをダッシュボード化して共有し誰でも閲覧できるようにしたものです。
本記事の末にも作成したダッシュボードのリンクを記載していますが、先に見たいという方は下記リンクを参照してください。
システム詳細
まずシステム全体の全体概要を説明すると次のようになります。
GoogleAppsScript(以下:GAS)を利用してランキングの情報を取得して、Googleスプレッドシート上に出力
Googleスプレッドシート上のランキングデータをCSVファイルとして出力(GASを利用)
1日1件ずつ溜まるCSVファイルを別のGoogleスプレッドシートに読み込んで、過去のデータと結合(GASを利用)
GoogleスプレッドシートとLookerStudioを接続してダッシュボードを構築
手順1「GoogleAppsScript(以下:GAS)を利用してランキングの情報を取得して、Googleスプレッドシート上に出力」
ランキングの取得はGoogleAppsScript(以下:GAS)を利用してGoogleスプレッドシート上に取得します。
GAS内のコードではUrlFetchApp.fetchを利用してランキングページの静的ページHTMLを取得し、Parserなどを利用した文字列処理でランキングに関する情報のみを取得する流れです。
具体的なコードの技術解説は割愛しますが、今時なので詳細はAIに聞いてください。
このランキングの取得の処理を毎日同じ時刻で自動実行できるようにトリガーを設定しておきます。ちなみにランキングの取得処理はGASの制限時間の6分を余裕で超えてしまうので、継続的に実行できるように関数内で次の処理をトリガーを設定するようにしています。

汎用性を持たせるために取得対象のカテゴリーは複数登録できるようにしておきます。

手順2:「Googleスプレッドシート上のランキングデータをCSVファイルとして出力(GASを利用)
各カテゴリーごとのランキングデータはスプレッドシート上にためていくとデータ量が膨大になるので、各カテゴリー別にフォルダを自動的に用意してその中に1日1件ずつCSVファイルとして出力します。


手順3:「1日1件ずつ溜まるCSVファイルを別のGoogleスプレッドシートに読み込んで、過去のデータと結合(GASを利用)」
フォルダ内のCSVは「CSV集計2」のスプレッドシート内に自動的に取り込まれます。こちらもデータ量が膨大になるのでランキングは上位10位にとどめております。
このCSV集計の処理もGASで構築して、ランキング取得と同様に毎日特定時刻で実行されるようにトリガーを設定しています。
また、LookerStudioに接続しやすくするため1行目はヘッダー、2行目以降にデータを入れるように整えています。

手順4:「GoogleスプレッドシートとLookerStudioを接続してダッシュボードを構築」
この「CSV集計2」をLookerStudioと接続します。

あとはLookerStudio上で好きなようにダッシュボードを接続します。
ダッシュボードには次のような情報を入れるようにしました。
1ページ目
最新日付のランキング表
ランキング上位者全体のお願い中の人数合計
ランキング上位者におけるお願い中人数の割合
直近2ヶ月の各出品者のお願い中人数の推移
直近2ヶ月の各出品サービスのランキング推移

2ページ目
データがある全期間のランキングの推移(2024年12月~2025年5月は管理者の怠慢のためデータ欠損)

3ページ目
各出品サービスの販売実績の推移(統計開始時点を0とする)

4ページ目
各出品者の販売実績の推移(統計開始時点を0とする)

4ページ目 出品者実績推移
詳細リンク
ダッシュボードを構築したカテゴリーは「IT」「Excel VBA」「デザイン」の3つです。
下記リンクから参照してください。
まとめ
今回ご紹介したシステムは、Google Apps Scriptを用いてWeb上のデータを定期取得し、Googleスプレッドシートに記録・集計し、Looker Studioで可視化するという仕組みです。
ランキング情報のように「日々更新される情報」を継続的に記録・分析したいケースにおいて、このような全自動の可視化ダッシュボードは非常に効果的です。
また今回使用した Looker Studio(旧Data Portal) は、他のBIツール(Power BI や Tableau など)と比較して以下のような特徴があります(chatGPT調べ):
これらの理由から、小~中規模の業務改善や外部共有を前提とした分析レポートには、Looker Studioは非常に優れた選択肢です。
本記事の事例は一例ですが、他のデータにも応用可能です。「特定のWeb情報を自動取得して可視化したい」「社内でランキングや実績を共有したい」といったご要望がありましたら、同様の仕組みで対応可能ですので、ぜひお気軽にご相談ください。

コメント