[シェア歓迎] noteのアクセス解析ツールを作ってみた
できた!
以前の記事でnoteのアクセス解析ができんかなーと,悩んでました。
これ,できました。
作った目的はnoteのダッシュボードでもうちょっと高度にアクセスの分析したいということから,下記のように定めました。一部完成し,一部は今のところまだ実装していないです。
noteの全期間の全体ビュー,コメント,スキ数を記事ごとに集計して,4時間おきにCSV形式でエクスポート。エクスポートしたものからPower BIなんかを使いながら集計したグラフを更新する。できれば一連の作業は自動化。
できたのはこんな感じ。
まだまだページビュー数は少ないですがここでは置いておきましょう。
(まだまだ頑張ります。いつも読んでくださってる皆様,本当にありがとうございます。)
行ったのは次のような流れです。
1. pythonでnoteをスクレイピング
2. PV数などを抜き出してGoogle Sheetsに出力
3. Google Data Studioで可視化
簡単に解説をしておくと,
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の全体ビュー数なども簡単な和算で求められるというわけです。
これらをPythonのライブラリPandasを用いながら抜き出します。
さらっと書いてますが,noteのhtml読まないといけないので実は結構大変。
一度,htmlを読み切ればあとのプロセスは楽です。
抜き出したデータを,
Googleが提供しているAPIを使い,
Sheetsに直接データを書き込みます。
この辺は認証キーの設定などがちょい手間です。
最後に,Google Data StudioのデータソースとしてSheetsを連携すれば,自分が見たい形式でデータを可視化できます。初めてData Studio使いましたが可視化のテンプレが豊富で,さくっとかっこいい図が出せます。
これで簡単なPV数,スキ数の時間変化は描画できました。
また自分で作った指標,例えばスキ率(スキ数 / PV数)なんかも簡単に描画できます。ちなみに私の例だと,13%くらい。
というのがパッと分かります。
今回の記事では完成したpythonのスクリプトを公開しようかと考え中です。
これ欲しい方いるのかな。いります?
声をヨイショと上げていただけると嬉しいです。
(twitterなどでシェアしていただけると泣きます。)
どなたかのお役に立てればという気持ちでいっぱいです。
設定のアドバイス等もできればと思っておりますのでぜひです。
追記:
こちらからソースコードが手に入ります!