跳转到主要内容

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

AppStore::Apps

AppStore::AppsAppStore::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”。

可能的设置

参数默认值描述
CountryUnited States选择进行搜索的国家/地区。
Results count10每个查询的结果数量(最大 200)。
PriceAll按价格筛选结果(全部、仅限免费、仅限付费)。
Min ratingAll按评分筛选结果(全部或 4 星以上)。