AppStore::Apps - App Store 应用爬虫工具

AppStore::Apps – 从 App Store 抓取应用程序数据。自动采集所有数据:名称、评分、作者、描述、应用程序链接和价格。您可以利用自动查询扩展、从文件替换子查询、遍历字母数字组合和列表,以获取尽可能多的结果。通过使用结果过滤,您可以立即清理结果,删除所有不需要的垃圾内容(使用否定词)。
A-Parser 的功能允许保存 AppStore::Apps 爬虫工具的抓取设置以便将来使用(预设),设置抓取计划等等。
得益于内置强大的 Template Toolkit 模板引擎,可以将结果保存为您需要的任何形式和结构,它允许对结果应用额外的逻辑,并以各种格式输出数据,包括 JSON、SQL 和 CSV。
采集数据
数据采集自 apps.apple.com 服务
- 名称
- 副标题
- 作者及作者链接
- 评分和评价数量
- 年龄分级
- 价格
- 图像(图标)
- 描述
- 版本
- 大小
- 类别
- 应用链接
功能
- 选择进行搜索的国家/地区
- 按价格搜索(免费或付费)
- 按评分搜索(全部或 4 星以上)
应用场景
- 从 App Store 抓取应用数据
- 监控 App Store 中的竞争对手
- 按关键词采集应用
查询
在查询中需要指定在 App Store 中进行搜索的短语,例如:
mobile legends
casino
time tracker
查询占位符
您可以使用内置宏自动从文件中替换子查询,例如我们想为每个查询添加一组其他单词,指定几个主要查询:
fantasy
tower defense
rpg
在查询格式中指定从 keywords.txt 文件替换额外单词的宏,此方法可以成倍增加查询的多样性:
{subs:keywords} $query
结果输出示例
得益于内置的 Template Toolkit 模板引擎,A-Parser 支持灵活的结果格式化,使其能够以任意形式以及结构化形式(如 CSV 或 JSON)输出结果。
默认输出
结果格式:
$serp.format('$link\n')
结果示例:
https://apps.apple.com/us/app/mobile-legends-bang-bang/id1160056295
https://apps.apple.com/us/app/mobile-legends-adventure/id1448605031
https://apps.apple.com/us/app/mobile-strike-modern-war/id931630086
输出到 CSV 表格
结果格式:
[% FOREACH item IN p1.serp;
tools.CSVline(item.link, item.name, item.author, item.rating, item.price, item.category);
END %]
文件名:
$datefile.format().csv
起始文本:
链接,名称,作者,评分,价格,类别
在结果格式中应用了 Template Toolkit 模板引擎,通过 FOREACH 循环输出 $serp 数组元素。
在结果文件名中,只需将文件扩展名更改为 csv 即可。
要在任务编辑器中使用“Prepend text”选项,需要激活“More options”。 在“Prepend text”中写入以逗号分隔的列名,并将第二行留空。
保存为 SQL 格式
结果格式:
[% FOREACH serp;
"INSERT INTO serp VALUES('" _ name _ "', '" _ rating _ "', '" _ author _ "', '" _ price _ "')\n";
END %]
结果示例:
INSERT INTO serp VALUES('Mobile Legends: Bang Bang', '4.6', 'Moonton', 'Free')
INSERT INTO serp VALUES('PUBG MOBILE', '4.5', 'KRAFTON, Inc.', 'Free')
INSERT INTO serp VALUES('Fortnite', '4.3', 'Epic Games', 'Free')
将结果转储为 JSON
通用结果格式:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.serp = [];
FOREACH item IN p1.serp;
obj.serp.push({
link = item.link
name = item.name
author = item.author
rating = item.rating
price = item.price
category = item.category
});
END;
obj.json %]
起始文本:
[
结束文本:
]
结果示例:
[{"serp": [{"link":"https://apps.apple.com/us/app/mobile-legends-bang-bang/id1160056295","name":"Mobile Legends: Bang Bang","author":"Moonton","rating":"4.6","price":"Free","category":"Games"},{"link":"https://apps.apple.com/us/app/pubg-mobile/id1330123889","name":"PUBG MOBILE","author":"KRAFTON, Inc.","rating":"4.5","price":"Free","category":"Games"}]}]
要在任务编辑器中使用“Prepend text”和“Append text”选项,需要激活“More options”。
可能的设置
| 参数 | 默认值 | 描述 |
|---|---|---|
| Country | United States | 选择进行搜索的国家/地区。 |
| Results count | 10 | 每个查询的结果数量(最大 200)。 |
| Price | All | 按价格筛选结果(全部、仅限免费、仅限付费)。 |
| Min rating | All | 按评分筛选结果(全部或 4 星以上)。 |