見出し画像

[シェア歓迎] noteのアクセス解析ツールを作ってみた

できた!

以前の記事でnoteのアクセス解析ができんかなーと,悩んでました。

これ,できました。

作った目的はnoteのダッシュボードでもうちょっと高度にアクセスの分析したいということから,下記のように定めました。一部完成し,一部は今のところまだ実装していないです。

noteの全期間の全体ビュー,コメント,スキ数を記事ごとに集計して,4時間おきにCSV形式でエクスポート。エクスポートしたものからPower BIなんかを使いながら集計したグラフを更新する。できれば一連の作業は自動化。

できたのはこんな感じ。

画像3

まだまだページビュー数は少ないですがここでは置いておきましょう。
(まだまだ頑張ります。いつも読んでくださってる皆様,本当にありがとうございます。)


行ったのは次のような流れです。

1. pythonでnoteをスクレイピング
2. PV数などを抜き出してGoogle Sheetsに出力
3. Google Data Studioで可視化

画像1

簡単に解説をしておくと,
pythonというプログラミング言語を用いて,noteのWebページから必要なデータを抽出する。(これをWebスクレイピングなんかと呼んでます。)
Google SheetはGoogleが提供するExcelみたいなサービスです。
Google Data Studioはデータの可視化サービス。Power BIとかTableauのGoogle版です。綺麗なグラフ,表が作れます。

もともとはPythonのBeautiful Soupとurllibのライブラリでなんとかしようとしてましたが,むずかった。

そこで方針をガラッと変えて,
Seleniumのライブラリを使うことにしました。
ユーザーの操作を記録しWebブラウザを操作できるというツールです。

まずはSeleniumを使いながら,
noteのダッシュボードページで必要なデータのみ抜き出していきます。
今回私が対象にしたのは,
noteごとの全期間の全体ビュー,コメント,スキ数,取得日時です。
定期的にこれらを記録することで,日ごとの伸び率や全てのnoteの全体ビュー数なども簡単な和算で求められるというわけです。

画像2

これらをPythonのライブラリPandasを用いながら抜き出します。
さらっと書いてますが,noteのhtml読まないといけないので実は結構大変。
一度,htmlを読み切ればあとのプロセスは楽です。

画像4

抜き出したデータを,
Googleが提供しているAPIを使い,
Sheetsに直接データを書き込みます。
この辺は認証キーの設定などがちょい手間です。

画像5

画像6

最後に,Google Data StudioのデータソースとしてSheetsを連携すれば,自分が見たい形式でデータを可視化できます。初めてData Studio使いましたが可視化のテンプレが豊富で,さくっとかっこいい図が出せます。

画像7

これで簡単なPV数,スキ数の時間変化は描画できました。
また自分で作った指標,例えばスキ率(スキ数 / PV数)なんかも簡単に描画できます。ちなみに私の例だと,13%くらい。
というのがパッと分かります。

今回の記事では完成したpythonのスクリプトを公開しようかと考え中です。
これ欲しい方いるのかな。いります?

声をヨイショと上げていただけると嬉しいです。

(twitterなどでシェアしていただけると泣きます。)
どなたかのお役に立てればという気持ちでいっぱいです。
設定のアドバイス等もできればと思っておりますのでぜひです。


追記:
こちらからソースコードが手に入ります!


この記事が参加している募集

noteのつづけ方

こつこつ更新します。 こつこつ更新しますので。