Shop::Wildberries::Suggest - Wildberries 搜索建议爬虫工具
爬虫工具概览
Wildberries 关键词搜索提示爬虫工具。借助 Shop::Wildberries::Suggest 爬虫工具,您可以根据查询自动从 Wildberries 电商平台的搜索栏提示中收集关键词库。使用 Shop::Wildberries::Suggest 爬虫工具,可以轻松快速地按需抓取 Wildberries 的提示词。
Wildberries 提示词爬虫工具解决了 SEO 的主要任务之一,即快速自动化地获取扩展语义库。Wildberries 搜索提示允许覆盖最大数量的短语,尤其是在使用 Parse to level 功能时。
得益于 A-Parser 的多线程工作,查询处理速度可达每分钟 10000 次,平均每分钟可获取约 20000-50000 条结果。

您可以使用自动查询扩展、从文件替换子查询、循环遍历数字字母组合和列表,以获取尽可能多的结果。使用 结果过滤,您可以立即清洗结果,删除所有不需要的垃圾内容(使用否定词或按提示类型过滤)。
A-Parser 的功能允许保存 Shop::Wildberries::Suggest 爬虫工具的数据抓取设置以供后续使用(预设),设置数据抓取计划等等。
由于内置了强大的模板引擎 Template Toolkit,结果保存可以采用您需要的任何形式和结构,该引擎允许对结果应用额外的逻辑,并以各种格式输出数据,包括 JSON、SQL 和 CSV。
采集数据
- 每个查询的结果数量
- 查询提示词
- 提示类型 (suggest/category/brand)

功能
- 在深度抓取时可以 过滤关键词
- 可以使用 Parse to level 功能
应用场景
- 收集关键词库
查询
应将搜索短语指定为查询,例如:
adidas
背心和 T 恤
小米智能手机
查询占位符
您可以使用 内置宏 自动从文件中替换子查询,例如,我们想为每个查询添加另一个单词列表,指定几个主要查询:
折扣
活动
清仓
在查询格式中指定从文件 Keywords.txt 替换额外单词的宏,此方法可以成倍增加查询的多样性:
$query {subs:Keywords}
该宏将为每个原始搜索查询创建与文件中相同数量的额外查询,宏运行的结果总计为 [原始查询数量] x [Keywords 文件中的查询数量] = [总查询数量]。
例如,如果 Keywords.txt 文件包含上述替换项,则最终会得到 9 个查询:
adidas 折扣
背心和 T 恤 折扣
小米智能手机 折扣
adidas 活动
背心和 T 恤 活动
小米智能手机 活动
adidas 清仓
背心和 T 恤 清仓
小米智能手机 清仓
结果输出选项
A-Parser 凭借内置的模板引擎 Template Toolkit 支持灵活的结果格式化,这使其能够以任意形式以及结构化形式(如 CSV 或 JSON)输出结果。
导出提示词列表
结果格式:
$results.format('$suggest\n')
结果示例:
adidas 运动鞋
adidas 女款
adidas 男士运动鞋
adidas terrex
adidas superstar
adidas originals
adidas terrex 男士运动鞋
帆布鞋和运动鞋
除臭剂
adidas
输出查询、查询提示词 + 提示类型
结果格式:
$query:\n$results.format('$suggest - $type\n')
结果示例:
adidas 运动鞋 - suggest
adidas 女款 - suggest
adidas 男士运动鞋 - suggest
adidas terrex - suggest
adidas superstar - suggest
adidas originals - suggest
adidas terrex 男士运动鞋 - suggest
帆布鞋和运动鞋 - category
除臭剂 - category
adidas - brand
输出到 CSV 表格
内置工具 $tools.CSVLine 允许创建正确的表格文档,以便导入 Excel 或 Google 表格。
结果格式:
[% FOREACH i IN results;
tools.CSVline(i.suggest);
END %]
文件名:
$datefile.format().csv
起始文本:
提示词
在结果格式中应用了 Template Toolkit 模板引擎,通过 FOREACH 循环输出 $results 数组元素。
在结果文件名中,只需将文件扩展名更改为 csv。
为了使“Prepend text”选项在任务编辑器中可用,需要激活“More options”。 在“Prepend text”中,用逗号分隔记录列名,并将第二行留空。
以 SQL 格式保存
结果格式:
[% FOREACH results;
"INSERT INTO serp VALUES('" _ query _ "', '"; suggest _ "', '"; type _ "')\n";
END %]
结果示例:
INSERT INTO serp VALUES('adidas', 'adidas 运动鞋', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas 女款', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas 男士运动鞋', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas terrex', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas superstar', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas originals', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas terrex 男士运动鞋', 'suggest')
INSERT INTO serp VALUES('adidas', '帆布鞋与运动鞋', 'category')
INSERT INTO serp VALUES('adidas', '止汗露', 'category')
INSERT INTO serp VALUES('adidas', 'adidas', 'brand')
将结果转储为 JSON
通用结果格式:
[% result.${query} = {
totalcount = p1.totalcount
suggests = []
};
FOREACH i IN p1.results;
result.${query}.suggests.push(i.suggest);
END %]
起始文本:
[% result = {} %]
结束文本:
[% result.json %]
结果示例:
{
"adidas": {
"suggests": [
"adidas 运动鞋",
"adidas 女款",
"adidas 男士运动鞋",
"adidas terrex",
"adidas superstar",
"adidas originals",
"adidas terrex 男士运动鞋",
"帆布鞋和运动鞋",
"除臭剂",
"adidas"
],
"totalcount": 10
},
"背心": {
"suggests": [
"女式夏季背心",
"男式夏季背心",
"儿童背心",
"运动背心",
"男童背心",
"女式背心",
"土耳其女式内衣背心",
"背心"
],
"totalcount": 8
}
}
为了使“Prepend text”和“Append text”选项在任务编辑器中可用,需要激活“More options”。
结果处理
A-Parser 允许在数据抓取过程中直接处理结果,在本节中,我们列出了 Shop::Wildberries::Suggest 爬虫工具最常用的案例
选项:解析至层级 (Parse to level)
该选项指示爬虫工具将获取的结果按深度放入查询队列,直到指定的层级,例如:
- 如果指定为第 1 层,则爬虫工具会将从原始查询中获取的所有结果添加到查询中
- 如果指定为第 2 层,则爬虫工具会将从原始查询中获取的所有结果 + 从第 1 层查询中获取的所有结果添加到查询中
- 依此类推
由于结果中很可能存在重复,为了使爬虫工具不进行多余的工作(不重复抓取相同内容),建议开启 查询去重 (Unique queries)
可能的设置
| 参数名称 | 默认值 | 描述 |
|---|---|---|
| Follow suggests | All | 在使用 Parse to level 时选择需要放入查询的提示类型 (All / Suggest / Tag / Brand),支持多选 |