SE::Google::KeywordPlanner::SearchVolume - 从 Google Keyword Planner 评估查询量和其他关键词指标

爬虫工具概览
SE::Google::KeywordPlanner::SearchVolume – 用于从 Google Keyword Planner 评估关键词搜索量的爬虫工具。支持获取多种数据:月均搜索量、季度和年度搜索量变化、最低和最高出价、竞争程度。在数据抓取设置中,您可以指定语言、地点、广告网络和数据采样周期。此外还支持批量模式,通过该模式向服务发送一次请求即可同时获取 10000 个关键词的数据,从而显著加快数据抓取速度。得益于 A-Parser 的多线程工作能力结合批量模式,查询处理速度可以达到每分钟数万个查询。
A-Parser 的功能允许保存 SE::Google::KeywordPlanner::SearchVolume 爬虫工具的数据抓取设置以便后续使用(预设),设置数据抓取计划等等。
由于内置了强大的 Template Toolkit 模板引擎,可以将结果保存为您需要的任何形式和结构,该引擎允许对结果应用额外的逻辑并以各种格式输出数据,包括 JSON、SQL 和 CSV。
采集数据
- 目标关键词的月均查询量
- 季度变化
- 年度变化
- 竞争程度
- 最低和最高出价
- 所选时段的搜索量趋势
- 月份和年份
- 总查询量
- 仅来自移动设备的查询量(在批量模式下不可用)
功能
- 支持通过登录名-密码或通过替换 Cookie 和请求头进行身份验证
- 确定 $volume 的精确度 - 精确值/四舍五入值
- 支持批量模式,默认启用
- 支持多账号(为了选择所需的账号,必须指定其
ocid(uscid))
应用场景
- 采集月均查询量、最低和最高出价,评估竞争情况
- 趋势分析
设置
有两种设置爬虫工具的方法:
- 指定 Keyword Planner 账号的电子邮件\密码
- 在浏览器中登录并复制所需的值
请谨慎设置线程数。建议指定较少的线程数,同时完全可以在不使用代理的情况下进行数据抓取。
通过邮箱和密码登录
需要覆盖 E-mail 和 Password 选项,指定您 Keyword Planner 账号的数据。账号上必须已经创建了广告系列。
剧透:(解决方案) Login failed TypeError: Cannot read property '1' of null
如果出现此错误,您需要从浏览器中删除您的 Google 账号并重新登录。

在浏览器中登录并将请求头替换到爬虫工具中
需要在浏览器中通过链接 https://ads.google.com/aw/keywordplanner/home 进行登录,如果之前没有创建过,请创建第一个广告系列,获取以下数据并在爬虫工具设置中指定:
可以通过两种方式指定 Cookie:
- 在 All cookies 选项中指定所有 Cookie
- 为 __Secure-3PSID、__Secure-3PSIDTS 选项指定 Cookie 中的值(如果账号上的 authuser 等于 0,则需要指定 __Secure-3PSIDTS)
其他请求头:
- x-framework-xsrf-token 请求头的值
- URL 中的 ocid 或 uscid 参数值
- URL 中的 authuser 参数值
剧透:如何找到必要的参数


查询
应指定关键词作为查询,每行一个关键词。查询示例:
coca-cola
parsing
peace
starlink
test
支持批量模式,通过 Bulk (packet) mode 选项激活。在此模式下,爬虫工具在向服务发送请求时将以 10000 个关键词为一组发送数据包。在此模式下,不会采集有关移动设备查询量的数据 ($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
结果输出选项
得益于内置的 Template Toolkit 模板引擎,A-Parser 支持灵活的结果格式化,这使其能够以任意形式以及结构化形式(例如 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”中按逗号分隔记录列名,并将第二行留空。
以 SQL 格式保存
结果格式:
[% "INSERT INTO volumes VALUES('" _ query _ "', '" _ volume _ "')\n" %]
结果示例:
INSERT INTO volumes VALUES('香水', '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 | |
| Cookie "__Secure-3PSID" | Cookie "__Secure-3PSID" | |
| Cookie "__Secure-3PSIDTS" | Cookie "__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 | ☑ | 启用批量模式 |