Sensor Tower, Apptopia, data.ai, 42matters, AppstoreSpy. 五家供应商,一款产品: 按国家和地区划分的最新应用商店数据,按照他人付费维护的时间表交付。他们共享的市场在2025年价值9.75亿美元,今年有望达到12.1亿美元 (Global Growth Insights, 2025)。
如果你在构建任何相关产品 (ASO工具,移动广告技术领域的竞争基准,专注于移动领域的风险投资的投资组合评分模型),你最终都会遇到同样的分岔口。要么缴纳供应商税,要么自己收集数据。
挑战
应用商店数据从表面上看很简单。它是公开的。Apple通过其旧的iTunes JSON查找提供了大部分数据。Google Play在浏览器中渲染它。能有多难?
然后,当你尝试在生产规模下执行此操作时,所有假设都被推翻了。
首先出问题的是地理位置。一款游戏在美国排行榜上的排名与其在巴西的排名毫无关系,而且这两者又与日本不同。价格因国家和地区而异。可用性因国家和地区而异。描述被本地化,有时变成了完全不同的营销故事。如果你只是为仅限美国的发行商对应用程序进行基准测试,那么一个收集区域就足够了。如果你要对任何具有全球雄心的产品进行基准测试,你需要数十个收集区域,并且需要它们确实从它们声称所在的国家和地区解析。商店的 CDN 会进行检查。
第二个出问题的是新鲜度。类别排名每小时都在变化。如果补丁破坏了某些功能,对新版本的评论情绪可能会在一天内发生逆转。如果你的数据是一天前的,你的客户已经在Twitter上看到了这种变化。你的平台是滞后指标,而不是情报。
第三个是收集预算。Apple的公共端点容忍稳定的流量。Google Play则不然。Play的列表页面渲染 JavaScript,图表页面通过带有轮换防滥用 token 的 XHR 调用进行分页,并且两个商店在查看你的 header 之前都在 TLS 层对抓取工具进行指纹识别。一旦你的收集规模超过了一个 IP 可以礼貌完成的范围,两个商店都会停止返回有意义的 response。你会得到内容单薄的列表,丢失的评论页面,或者什么都没有。
第四个是评论管道。Play上的一款热门应用程序每天在其发布的每个区域都会产生数千条评论。如果你想要可以信任的情绪信号,你就不能抽样。你需要按国家和地区提取无间断的完整流,直到永远。这与我们在 大规模聚合产品评论 中介绍的问题形式相同,只是平台不同。
这些都不是抓取工具的问题。它们是基础设施问题。
方法
好消息是,一旦你将这四个问题分开,每个问题都有一个干净的答案。
对于地理位置,您需要一个能够在每次 request 中固定出口国家的 proxy 层,并且要实际验证出口是否真正解析到其声称的地点。廉价 proxy 池经常在国家信息上造假。如果您使用解析为荷兰的 IP 收集德国 Play 排名,您将获得带有德国元数据的荷兰结果,并且根本不会察觉。像 FourA 这样的平台在 Proxy Finder 层解决了这个问题:选择国家,获取真正位于该国的出口,并在后续调用中重用同一个出口,从而保持会话一致。
对于数据新鲜度,解决方案不是增加抓取器。而是制定更好的调度策略。排名页面使用快车道(针对您关注的类别,每个国家每隔几分钟抓取一次)。详情页面使用中速车道(每小时抓取,仅当排名变化时触发)。评论使用慢速车道基准(每天全面扫描),外加排名或评分变动时的快车道触发器。这种调度策略只是运行在数据平台之上的一百行代码,而不是平台本身。
对于 Play 上的收集预算,您在关键处需要 JS 渲染路径,在不关键处需要直接路径。如果您发送正确的 request,某些 Play 页面会返回干净的 JSON;其他页面则需要真实的浏览器、真实的 cookie 和真实的抗机器人方案,否则只会返回 captcha。 Auto 在 FourA 上编排该决策:首先尝试廉价路径,失败时升级为 Browser。在生产环境中,您直接针对 Single 或 Browser 重放成功的路径,这样您就不必在每次调用时支付编排器成本。
对于评论流水线,吞吐量和幂等性比巧妙的代码更重要。您需要一个能返回干净、结构化 response 的 request 层(而不是“有时是 JSON,有时是 HTML,有时是 captcha”),一个不会静默丢弃的重试机制,以及每次 request 的结果跟踪,以便在客户看到过时数据之前,您能及时发现某个国家的服务质量下降。
结果
能够正确处理这四个要素的内部团队,可以用极低的成本媲美供应商订阅服务。一旦跨过盈亏平衡点,成本计算就会迅速改变:覆盖每个国家的中端 ASO 席位每月要花费五位数;而在 FourA 风格的架构上运行的小型收集技术栈,覆盖同样国家所需成本只是其一小部分(基于公开 ASO 工具定价的说明性场景)。
比成本更重要的是,您拥有流水线。当您的客户问“为什么周二排名会飙升”时,您可以从原始 response 历史中找到答案,而不是对着供应商的仪表板无可奈何。
我们观察到在这里取得成功的团队都具有三个习惯。他们将每个国家的成功率作为首要指标进行监控。某个国家的成功率从 98% 降至 82% 是早期预警,而非无关紧要的注脚。他们存储原始的 response,而不仅仅是解析后的字段,因为解析器会发生变化,旧的 bug 需要用新代码重新运行验证。此外,他们从不完全相信单一收集窗口的评论数量。每个商店都有状况不佳的时段,移动平均线才是构建业务的基础。
核心要点
应用商店情报不是一个抓取问题。它是一个调度问题、地理位置问题和 session 一致性问题,运行在保持可靠的 request 层之上,尽管这两个商店都在积极尝试使其变得不可靠。
销售应用商店数据的供应商支付的基础设施成本与您相同。问题在于,您是希望按自己的意愿支付一次,还是每月按照他们的规则付费。