目的
以下のドキュメントで示されている Search Console データのエクスポート機能(以下「公式エクスポート機能」)では、設定以後の期間のデータが毎日エクスポートされるが、過去期間のデータはエクスポートされない。
BigQuery への Search Console データの一括エクスポートについて
設定前の期間も BigQuery にデータを入れて分析できる状態を作りたいと思い、今回その仕組みを作ってみた。
※ 設定前の期間のデータは API で取得するため、無限に遡れるわけではなく Search Console にある過去 16 か月間まで
作った仕組みの概要
- 以下の操作を行うPythonコードを作成
・Search Console から API を通じてデータを取得
・公式エクスポート機能で BigQuery にエクスポートされている形式になるべく合わせて、取得したデータを整形
・整形したデータを BigQuery に挿入 - 1.のコードを Cloud Functions で実行するよう設定
- 2.のCloud Functions を Cloud Scheculer で実行
Search Console の API に取得上限数が設けられているため、検索数が多いサイトだと一気に実行できない場合がある。そのため、1日に任意の日数分取得する設定をした上で、毎日期間をずらして実行する形式にしている。
コード
コードは以下に置いている。
https://github.com/yrarchi/search_console_to_bigquery
後続の記事で、作成時に検討が必要だった下記の点について詳細を記載する。
- Search Console の API で取得したデータと、公式エクスポート機能で入っているデータの形式は異なる。前者のデータをどのように整形したら後者に寄せられるか。
※ 今回、完全に同一の形式にできなかったカラムが存在する- 公式エクスポート機能で入るデータの形式を確認
Search Consoleの過去データもBigQueryに蓄積する_2.公式エクスポート機能の構成 - Search Console API で取得したデータを集計して寄せる
Search Consoleの過去データもBigQueryに蓄積する_3.APIからの取得結果の整形
- 公式エクスポート機能で入るデータの形式を確認
- Search Console の API に取得上限数が設けられているため、任意の期間を指定して実行するようにしたい。Cloud Functions で毎日期間をずらして実行するにはどうしたらよいか。
Search Consoleの過去データもBigQueryに蓄積する_4.Cloud Functionsで実行する