跳转到主要内容

SE::Yandex::WordStat::ByDate - 按月或按周抓取 Yandex WordStat 展示统计数据的爬虫工具

Yandex WordStat: ByDate

爬虫工具概览

Wordstat 是 Yandex 的一项服务,旨在评估用户对各种主题的兴趣,并为 SEO 优化和上下文广告选择关键词。此外,借助 Wordstat Yandex,您可以评估搜索查询的季节性和地理依赖性。

Yandex WordStat by date 爬虫工具支持自动扩展查询,您可以放心获得最大数量的搜索结果。此外,A-Parser 可以按指定的深度自动跳转到相关查询。

A-Parser 的功能允许保存数据抓取设置以供将来使用(预设),设置数据抓取计划等等。您可以使用自动查询扩展、从文件替换子查询、遍历数字字母组合和列表,以获取尽可能多的结果。

由于内置了强大的模板引擎 Template Toolkit,可以将结果保存为您需要的任何形式和结构,该引擎允许对结果应用额外的逻辑,并以各种格式输出数据,包括 JSON、SQL 和 CSV

爬虫工具应用案例

账号

运行爬虫工具 SE::Yandex::WordStat::ByDateSE::Yandex::WordStat::ByDate 需要 Yandex 账号。可以使用爬虫工具 SE::Yandex::RegisterSE::Yandex::Register 注册账号,或者直接将现有账号以支持的格式添加到 files/SE-Yandex/accounts.txt 文件中。

或者可以启用“实时”注册账号。

采集的数据

  • 按月或按周的关键词统计数据
  • 日期
  • 绝对值
  • 相对值
采集的数据

功能

  • 支持选择搜索区域(带子组)
  • 可以同时选择多个区域进行评估
  • 支持自动绕过 Smart captcha,并能够使用 AntiCaptcha 服务或任何其他支持其 API 的服务绕过图形验证码
  • 选择设备类型
  • 可以选择登录验证方法
  • 可以“实时”注册账号
  • 支持使用扩展账号格式并能够回答安全问题(如果 info 中有答案)。此外,还使用保存的代理进行登录验证(如果 info 中有代理)。

使用场景

  • 评估关键词的流量大小
  • 识别季节性关键词

查询

在查询中需要指定关键词,就像直接在 Wordstat 搜索框中输入一样,例如:

test

结果输出选项

得益于内置的模板引擎 Template Toolkit,A-Parser 支持灵活的结果格式化,这使其能够以任意形式以及结构化形式(如 CSV 或 JSON)输出结果。

默认输出

结果格式:

Views:\n$views.format('$date $count $relcount\n')

结果中显示了按月和按周的关键词统计数据:

Monthly:  
2011-09-30 3010832 0.0008903808
2011-10-31 681432 0.0001825883
2011-11-30 628532 0.0001575008
2011-12-31 629072 0.0001495699
2012-01-31 561206 0.0001300651
2012-02-29 572039 0.0001290000
2012-03-31 614897 0.0001225754
2012-04-30 520433 0.0001185340
2012-05-31 521967 0.0001235327
2012-06-30 502568 0.0001299958
...
Weekly:
2012-09-16 118715 0.0001222877
2012-09-23 120799 0.0001211773
2012-09-30 137809 0.0001365837
2012-10-07 133929 0.0001313643
2012-10-14 140373 0.0001293922
2012-10-21 136014 0.0001242209
2012-10-28 148350 0.0001293328
2012-11-04 139556 0.0001232566
2012-11-11 154830 0.0001314057
2012-11-18 136458 0.0001147489
2012-11-25 149463 0.0001261401
2012-12-02 144724 0.0001197564
2012-12-09 149142 0.0001212195
2012-12-16 162864 0.0001298181

输出到 CSV 表格

结果格式:

[% FOREACH i IN views;
tools.CSVline(query, i.count, i.date);
END %]

结果示例:

"测试",9661734,2012-03-31
"测试",8567243,2012-04-30
"测试",9028986,2012-05-31
"测试",6082099,2012-06-30
"测试",5531950,2012-07-31
"测试",5214663,2012-08-31
"测试",6603865,2012-09-30
"测试",9127457,2012-10-31
"测试",9238652,2012-11-30

以 SQL 格式保存

结果格式:

[% FOREACH i IN views;
"INSERT INTO views VALUES('" _ query _ "', '"; i.count _ "', '"; i.relcount _ "', '"; i.date _ "')\n";
END %]

结果示例:

INSERT INTO serp VALUES('测试', '9661734', '0.0019259985', '2012-03-31')
INSERT INTO serp VALUES('测试', '8567243', '0.0019512785', '2012-04-30')
INSERT INTO serp VALUES('测试', '9028986', '0.0021368683', '2012-05-31')
INSERT INTO serp VALUES('测试', '6082099', '0.0015732140', '2012-06-30')
INSERT INTO serp VALUES('测试', '5531950', '0.0013160071', '2012-07-31')
INSERT INTO serp VALUES('测试', '5214663', '0.0013327945', '2012-08-31')
INSERT INTO serp VALUES('测试', '6603865', '0.0015936909', '2012-09-30')
INSERT INTO serp VALUES('测试', '9127457', '0.0018740506', '2012-10-31')
INSERT INTO serp VALUES('测试', '9238652', '0.0018308715', '2012-11-30')

将结果转储为 JSON

通用结果格式:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.views = [];

FOREACH item IN p1.views;
obj.views.push({
date = item.date
relcount = item.relcount
count = item.count
});
END;

obj.json %]

起始文本:

[

结束文本:

]

结果示例:

[{
"views": [
{
"count": "9661734",
"date": "2012-03-31",
"relcount": "0.0019259985"
},
{
"count": "8567243",
"date": "2012-04-30",
"relcount": "0.0019512785"
},
{
"count": "9028986",
"date": "2012-05-31",
"relcount": "0.0021368683"
}
]
}]
提示

另请参阅:结果过滤器

可选设置

参数默认值描述
PeriodMonthly选择周期(Monthly/Weekly/Daily,Daily 仅在启用 Use Wordstat 2 选项时有效)
Start date 指定开始搜索的日期。仅在启用 Use Wordstat 2 选项时有效。必须遵守日期指定规则
End date 指定结束搜索的日期。仅在启用 Use Wordstat 2 选项时有效。必须遵守日期指定规则
RegionAll搜索区域
AntiGate presetdefault需要预先配置 Util::AntiGateUtil::AntiGate 爬虫工具 - 指定您的访问密钥和其他参数,然后在此处选择创建的预设
AntiGate preset for Logindefault用于登录的 AntiGate 预设。需要预先配置带参数的 Util::AntiGateUtil::AntiGate 爬虫工具,然后在此处选择创建的预设
TypeAll选择设备类型
AccountsOnly from "accounts.txt"选择账号处理方法:Always auto register - 始终“实时”自动注册账号,需要在 SE::Yandex::Register preset 参数中选择配置好的预设。Auto register if no more in "accounts.txt" - 首先使用 accounts.txt 中的现有账号,如果用完,则使用“实时”自动注册,为此需要在 SE::Yandex::Register preset 参数中选择配置好的预设。Only from "accounts.txt" - 仅使用 accounts.txt 中的现有账号,如果用完,则等待指定时间(Wait new accounts in "accounts.txt" 参数)直到出现新账号
Wait new accounts in "accounts.txt"0等待 accounts.txt 中出现新账号的时间
Remove bad accountsAlways, except wrong login/password自动删除“坏”账号:Always - 始终删除。Always, except wrong login/password - 始终删除,除非 Yandex 提示登录名/密码错误。事实是,当 IP 被封禁时,Yandex 可能会对完全正常的账号给出此类提示,因此可以选择保留此类账号以供重复使用。Never - 从不删除。无论选择哪种选项,在代理/浏览器错误时都不会删除账号
SE::Yandex::Register presetdefaultSE::Yandex::RegisterSE::Yandex::Register 选择设置预设
Authorization methodHTTP登录验证方法:HTTP - 快速,对资源要求低。Chrome - 慢速,对资源要求高,理论上可以延长账号寿命
Chrome headless如果启用此选项,浏览器将不会显示
Use sessions使用会话
Do not reset session if authorization passed如果爬虫工具已通过验证,则在发生错误时不重置会话
Use Wordstat 2使用 Wordstat 2
Wordstat 2 parse all table data允许立即导出查询的所有 2000 个结果,而无需遍历分页