SE::Google::KeywordPlanner::SearchVolume - Googleキーワードプランナーからの検索ボリュームおよびその他の指標の推定

スクレイパーの概要
SE::Google::KeywordPlanner::SearchVolume – Googleキーワードプランナーからキーワードの検索ボリュームを評価するためのスクレイパーです。月間平均検索ボリューム、四半期および年間のボリューム変化、最小・最大入札価格、競合レベルなど、多くのデータを取得できます。スクレイピング設定では、言語、場所、広告ネットワーク、データ抽出期間を指定できます。また、一括モードも利用可能で、サービスへの1回のリクエストで最大10,000キーワードのデータを一度に取得できるため、スクレイピングを大幅に高速化できます。A-Parserのマルチスレッド動作と一括(パケット)モードの組み合わせにより、リクエスト処理速度は毎分数万リクエストに達することがあります。
A-Parserの機能により、SE::Google::KeywordPlanner::SearchVolume スクレイパーのスクレイピング設定を後で利用するために保存(プリセット)したり、スクレイピングのスケジュールを設定したりすることが可能です。
内蔵の強力なテンプレートエンジン Template Toolkit により、結果に独自のロジックを適用し、JSON、SQL、CSV を含む様々なフォーマットでデータを抽出するなど、必要な形式と構造で結果を保存できます。
収集データ
- 検索キーワードの月間平均検索ボリューム
- 四半期ごとの変化
- 年間の変化
- 競合レベル
- 最小および最大入札価格
- 選択した期間の検索ボリュームのトレンド
- 月と年
- 総検索数
- モバイルデバイスのみの検索数(一括モードでは利用不可)
機能
- ログイン・パスワード、またはクッキーとヘッダーの代入による認証をサポート
- $volume の精度(正確な値 / 丸められた値)の定義
- 一括(パケット)モードをサポート、デフォルトで有効
- マルチアカウント対応(適切なアカウントを選択するには、その
ocid(uscid)を指定する必要があります)
ユースケース
- 月間平均検索ボリューム、最小・最大入札価格の収集、競合の評価
- トレンド分析
設定
スクレイパーの設定には2つの方法があります:
- Keyword Planner アカウントのメールアドレスとパスワードを指定する
- ブラウザで認証し、必要な値をコピーする
スレッド数には注意してください。少なめのスレッド数を指定することをお勧めします。その際、プロキシなしでのスクレイピングも十分に可能です。
メールアドレスとパスワードによる認証
E-mail と Password オプションを上書きし、Keyword Planner アカウントのデータを指定する必要があります。アカウントには必ずキャンペーンが作成されている必要があります。
スポイラー: (解決策) Login failed TypeError: Cannot read property '1' of null
このエラーが発生した場合は、ブラウザから Google アカウントを削除して再度ログインする必要があります。

ブラウザでの認証とスクレイパーへのヘッダー代入
https://ads.google.com/aw/keywordplanner/home のリンクからブラウザで認証し、以前に作成していない場合は最初のキャンペーンを作成し、以下のデータを取得してスクレイパーの設定に指定する必要があります:
クッキーは2つの方法で指定できます:
- すべてのクッキーを All cookies オプションに指定する
- クッキーから __Secure-3PSID、__Secure-3PSIDTS の値を各オプションに指定する(__Secure-3PSIDTS はアカウントの authuser が 0 の場合に指定が必要です)
その他のヘッダー:
- x-framework-xsrf-token ヘッダーの値
- URL からの ocid または uscid パラメータの値
- URL からの authuser パラメータの値
スポイラー: 必要なパラメータの見つけ方


クエリ
クエリとしてキーワードを1行に1つずつ指定します。クエリの例:
coca-cola
parsing
peace
starlink
test
一括(パケット)モードをサポートしており、Bulk (packet) mode オプションで有効になります。このモードでは、スクレイパーはサービスへのリクエストごとに10,000キーワードのパケットを送信します。このモードでは、モバイルデバイスからの検索数($trends.$i.mobile)に関するデータは収集されません。一括モードはデフォルトで有効です。
クエリの置換
内蔵マクロを使用して、ファイルからサブクエリを自動的に代入できます。例えば、各クエリに他の単語のリストを追加したい場合、いくつかのメインクエリを指定します:
fantasy
tower defense
rpg
クエリフォーマットに、ファイル keywords.txt から追加の単語を代入するマクロを指定します。この方法により、クエリのバリエーションを大幅に増やすことができます:
{subs:keywords} $query
このマクロは、元の検索クエリごとにファイル内の単語数と同じだけの追加クエリを作成します。結果として、[元のクエリ数] x [Keywordsファイル内のクエリ数] = [総クエリ数] となります。
例えば、keywords.txt ファイルに以下が含まれている場合:
free
online
最終的に、置換マクロは3つのメインクエリを6つに変換します:
free fantasy
online fantasy
free tower defense
online tower defense
free rpg
online rpg
結果の出力例
A-Parserは、内蔵のテンプレートエンジン Template Toolkit により柔軟な結果フォーマットをサポートしており、任意の形式や CSV、JSON などの構造化された形式で結果を出力できます。
デフォルト出力
結果フォーマット:
$query: $volume\n
キーワードとその月間平均検索ボリュームを出力する結果の例:
coca-cola: 3350000
parsing: 165000
peace: 673000
starlink: 1830000
test: 7480000
CSVテーブルへの出力
全般的な結果フォーマット:
[% tools.CSVline(query, p1.volume, p1.min_bid, p1.max_bid) %]
ファイル名:
$datefile.format().csv
冒頭のテキスト:
Keyword,Volume,"Min bid","Max bid"
結果の全般フォーマットでは、データの出力に Template Toolkit テンプレートエンジン と tools.CSVline ツールが使用されます。
結果のファイル名では、拡張子を csv に変更するだけです。
タスクエディタで「Prepend text」オプションを表示するには、「More options」を有効にする必要があります。 「Prepend text」には、カンマ区切りで列名を記入し、2行目を空行にします。
SQL形式での保存
結果フォーマット:
[% "INSERT INTO volumes VALUES('" _ query _ "', '" _ volume _ "')\n" %]
結果の例:
INSERT INTO volumes VALUES('perfume', '50000')
INSERT INTO volumes VALUES('eyfel perfume', '5000')
INSERT INTO volumes VALUES('memo marfa', '5000')
JSONへの結果ダンプ
共通結果形式:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.keyword = query;
obj.volume = p1.volume;
obj.json %]
開始テキスト:
[
終了テキスト:
]
結果の例:
[{"keyword":"香水","volume":"50000"},
{"keyword":"eyfel perfume","volume":"5000"},
{"keyword":"memo marfa","volume":"5000"}]
JSONでの結果出力の詳細については、こちらの記事で説明されています。
設定可能な項目
| パラメータ | デフォルト値 | 説明 |
|---|---|---|
| All cookies | すべてのクッキーの指定 | |
| Cookie "__Secure-3PSID" | クッキー "__Secure-3PSID" | |
| Cookie "__Secure-3PSIDTS" | クッキー "__Secure-3PSIDTS" | |
| Header "x-framework-xsrf-token" | ヘッダー "x-framework-xsrf-token" | |
| Url parameter "ocid"("uscid") | パラメータ "ocid"("uscid") | |
| Url parameter "authuser" | 0 | パラメータ "authuser" |
| Keyword Planner 認証用メールアドレス | ||
| Password | Keyword Planner 認証用パスワード | |
| Recovery e-mail | アクセス復旧用メールアドレス | |
| Browser headless (debug auth) | ☑ | ログイン・パスワード認証に使用されるブラウザのヘッドレスモード |
| Log Login Screenshot (debug auth) | ☐ | 認証ページのスクリーンショットを作成し、タスクログに出力する |
| Date from | Last 12 months | 開始日 |
| Date to | Last 12 months | 終了日 |
| Language | English | 言語 |
| Search networks | Google | 検索ネットワーク |
| Location code | ロケーション(ここではロケーションIDを指定する必要があります。このテーブルの最初の列から取得できます(コピー)) | |
| Delete created plan | ☑ | 作成されたプランを削除する |
| Bulk (packet) mode | ☑ | 一括モードの有効化 |