跳转到主要内容

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

Keyword Planner 已保存的关键词

爬虫工具概览

SE::Google::KeywordPlanner::SearchVolumeSE::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-mailPassword 选项,指定您 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 中的 ociduscid 参数值
  • URL 中的 authuser 参数值
剧透:如何找到必要的参数

在哪里查找身份验证参数 1

在哪里查找身份验证参数 2

查询

应指定关键词作为查询,每行一个关键词。查询示例:

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"
E-mail用于在 Keyword Planner 中登录的电子邮件
Password用于在 Keyword Planner 中登录的密码
Recovery e-mail用于恢复访问权限的电子邮件
Browser headless (debug auth)用于通过登录名-密码进行身份验证的浏览器的无头模式
Log Login Screenshot (debug auth)创建登录页面截图并将其输出到任务日志中
Date fromLast 12 months起始日期
Date toLast 12 months截止日期
LanguageEnglish语言
Search networksGoogle搜索网络
Location code地点(此处需指定地点 ID,可从此表的第一列获取(副本))
Delete created plan删除创建的计划
Bulk (packet) mode启用批量模式