Asda 没有公开的商品 API。这也是为什么大多数想抓取 Asda 商品数据的团队,要么花 £2000+ 找自由开发者定制,要么接一个 Apify scraper,结果几天后就失效。
不过,很多人不知道其实还有第三条路,叫做 AI scraping。它会像人一样“读懂”页面,所以同一套配置既能抓 Asda 的分类页,也能抓品牌列表页或促销页,还能扛住那些一改版就让传统 scraper 失效的页面布局更新。
这篇指南会带你完整走一遍流程:为什么自建 Asda 商品 scraper 不划算、哪些 Asda 页面更容易拿到干净数据,以及如何使用 Datablist's AI Scraping Agent 一步步完成抓取。
📌 给赶时间的你:快速总结
本文会教你如何用 Datablist's AI Scraping Agent 抓取 Asda 的商品数据。
问题: Asda 没有公开商品 API,现成 scraper 往往在页面改版后几周内失效,而定制开发通常要 £2000+,后续还要持续维护。
解决方案: 使用 Datablist's AI Scraping Agent,只需一条 URL 加上自然语言 prompt,就能抓取 Asda 商品数据。
你将学到:
- 为什么自建 Asda scraper 是个“烧钱坑”
- 哪些 Asda 页面抓出来的数据最干净
- 如何用 5 个步骤在 10 分钟内抓取任意 Asda 分类页
为什么选 Datablist:
- AI scraping 理解的是页面语义,不是 HTML,所以 Asda 改版后也不容易失效
- 分页可自动处理(单次最多 5,000 页)
- 无需写代码、无需 API key,只要一个 Asda URL 和一个 prompt
本指南包含哪些内容
为什么自建 Asda Scraper 不划算
如果你认真考虑过自己做一个 Asda scraper,那在花钱之前,先看看下面这三个理由。
成本很高
一个稳定可用的 Asda scraper,绝不是周末随手就能做完的小项目。Asda.com 的商品列表通过 JavaScript 动态加载,分类页往往有大量分页,而且页面布局更新得也很频繁,这意味着任何基于规则的 scraper 都需要持续修修补补。
大多数团队通常会尝试以下几种方式,而问题也基本都出在这里:
- 找自由开发者定制:首次开发通常就要 £2000+,之后 Asda 商品列表一改版,还得继续付维护费
- 购买 Apify 或 GitHub 上现成的 Asda 商品 scraper:第一天也许能跑,下一次页面结构变动后,几周内就会失效
- 自己 vibe-code 一个 Puppeteer 或 Playwright 脚本:Asda 的分页、JavaScript 渲染以及不一致的商品卡片结构,很快就会把脚本搞崩
如果你只需要一次性抓个快照,找 freelancer 也许还可以。但如果你需要持续获取最新的 Asda 数据(例如价格监控、FMCG 分析、零售套利),维护成本会一月接一月地累积。
开发周期很慢
即使你找的是很强的开发者,做一个稳定的 Asda scraper 往往也要几周时间。他们需要梳理每一种分类页、处理渲染后的 HTML、为分页商品列表编写逻辑,还得考虑 Asda 在某些场景下把促销价显示成 “N/A” 或用年龄限制挡住商品的情况。
Datablist's AI Scraping Agent 直接跳过了这整个开发阶段。你只要粘贴一个 Asda URL,10 分钟内就能拉出结构化商品数据。 不需要写需求文档,不需要来回沟通边界情况,也不用等 v2。
经常失效
这才是真正的成本所在。Asda 经常调整商品列表布局。每次他们换一个分类页模板,或者把价格元素挪个位置,你的定制 Asda scraper 就可能直接停摆。
结果通常只剩两个选择:要么再花钱找开发者修,要么你自己花半天排查问题。
AI scraping 则绕开了这个问题。因为 AI Agent 读的是页面含义,而不是 HTML 结构,所以即使 Asda 改了价格元素外层的 CSS class,价格依然还是价格。
💡 核心区别
传统 scraper 遵循的是规则:比如“找到 class 为 .product-price 的元素并提取文本”。AI scraper 遵循的是语义:比如“找到这个 Asda 页面上的商品价格”。
这也是为什么今天能在 Asda 上跑通的同一套配置,下个月 Asda 重排商品网格后通常依然能用;同时它也能比较顺滑地迁移到 Morrisons、Sainsbury's 和 Tesco,而不需要为每个网站单独写代码。
如何用 Datablist 的 AI Agent 抓取 Asda 商品
在进入具体步骤之前,先简单说明一下 AI Scraping Agent 到底是什么、哪些 Asda 页面最适合抓、你能提取哪些数据,以及它的边界在哪里。
什么是 Datablist's AI Scraping Agent?
Datablist 是一个 workflow automation platform,可用于构建 lead list、做数据 enrichment,以及运行各种 scraping workflow。Datablist 内置了 60 多种 sources 和 enrichments,其中 AI Scraping Agent 就是专门用来从零售网站提取商品数据的那个工具。
这个 agent 的工作方式,本质上是把三样东西组合起来: 目标 URL、描述需要提取哪些字段的 prompt,以及一个像人一样阅读页面的大语言模型。
抓 Asda 时,你甚至不用自己写 prompt。Datablist 提供了一个现成的 Retail Product Scraper template,会预先配置好 prompt 和输出字段。你只需要粘贴 Asda URL,剩下的交给 template 处理。
关于这个 agent 在 Asda 场景下的处理方式,有三点尤其重要:
- 默认使用 OpenAI GPT 4.1 mini,这是当前 AI scraping 场景里性价比非常高的 LLM
- 支持 Render HTML,这对 Asda 非常关键,因为它的商品列表是通过 JavaScript 动态加载的
- 支持 自动分页,单次运行最多可抓取 5,000 页
这也是为什么这套配置几乎可以不改就迁移到英国其他超市网站。同一个 agent、同一个 template、同一套设置,也适用于 Morrisons、Sainsbury's 和 Tesco。你只需要换 URL。
最重要的一条规则:只抓品牌页和分类页
**一定要抓 Asda 的分类页或品牌页,**不要抓首页,也不要抓所谓的 “all products” 页面。超大的商品列表很容易超出 AI Agent 的 context window,运行会在中途停止,而且无法续跑,credits 也会被白白浪费。
AI Agent 在 Asda 上适合抓取的页面包括:
- ✅ asda.com/
/... 这样的分类页 - ✅ 品牌页(某个品牌或制造商的商品列表)
- ✅ Deals 或 offers 页面
建议避免以下页面:
- ❌ Asda 首页
- ❌ “All products” 或整站搜索结果页
- ❌ 一次无限滚动加载成千上万商品的页面
你可以从 Asda 抓取哪些数据
一次 Asda 抓取,基本可以拿到你做价格监控、竞品研究,或给现有商品目录做 data enrichment 所需的大部分字段:
- Product Name:Asda 网站上展示的完整商品标题
- Product URL:商品在 asda.com 上的直接链接
- Brand Name:商品所属品牌或制造商
- Price:当前英镑价格,包含 £ 符号
- Sale Price:若存在 Asda 促销,则返回折扣价;无促销时返回 “N/A”
- Product Category:商品所属货架、品类或部门
- Availability:有货、缺货或库存有限
- Rating:如果 Asda 页面展示用户评分,也可提取
- Image URL:商品主图的直接链接
- SKU:Asda 内部商品 ID
开始运行前,先选好你真正需要的输出字段,这样导出的结果里只会保留你后续要用的列。
抓取 Asda:完整分步教程
完整的 Asda 抓取流程一共 5 步。开始前,请先准备好:
- 一个 Asda 分类页或品牌页 URL(不要用首页)
- 大致明确你需要哪些商品字段
第 1 步:注册并创建 Collection
首先,注册 Datablist.com。
然后,创建一个 New Collection。
第 2 步:进入 AI Scraping Agent
- 点击 See all sources
- 向下滚动,选择 AI Scraping Agent (Site Scraper)。
这时你会看到 source 配置界面,大致如下:
第 3 步:选择 Retail Product Scraper Template,并粘贴 Asda URL
- 点击 Template Drop-Down,选择 “Retail Product Scraper”
- 将你的 Asda 分类页 URL 粘贴到 URL 输入框中,例如:
https://groceries.asda.com/aisle/fresh-food-bakery/fresh-fruit/all
❗️ 只用品牌页和分类页(再次提醒)
不要粘贴 Asda 首页,也不要使用 “all products” 这类 URL。超大列表会直接超过 AI Agent 的 context window。抓 Asda 时,请按分类逐个抓取。
- 设置要抓取的页数(Asda 通常每页显示约 36 个商品,所以一个 200 个商品的分类,大约需要抓 3 到 4 页)
- 向下滚动并点击 Continue
💡 点击 Continue 前,先检查 Advanced Settings
请确认以下设置已开启:
- LLM:OpenAI GPT 4.1 mini(性能与成本平衡最佳)
- Max Iterations:10
- Website Scraper Option: Render HTML(对 Asda 非常关键,因为网站通过 JavaScript 动态加载商品列表)
第 4 步:配置输出字段
Datablist 会自动创建输出字段。
点击 X Icons 删除你不需要的输出项(例如,如果你只做 Asda 价格抓取,就可以去掉 Rating)。
第 5 步:运行
输出字段设置好后,点击 Run Import Now,开始抓取 Asda 数据。
几分钟后,你的 Asda 抓取结果会类似下面这样。接下来,你可以继续使用 Datablist 的 workflow automation features 对数据进行清洗、去重和导出。
💡 重复抓取 Asda 时,如何避免重复数据
如果你之后还打算再次抓同一个 Asda 分类:
- 选择一个唯一标识列(推荐使用 Product URL)
- 点击列标题 → Rename - Settings - Delete
- 勾选:Do not allow duplicate values
- 点击 Save Property
如果你还会把 Morrisons、Sainsbury's 和 Tesco 的数据一起导入同一个文件,可以参考我们的 removing duplicates from CSV files 指南,做跨零售商去重。
Datablist 的 AI Agent 也支持抓取其他零售网站
这套 Asda 抓取方案并不是只适用于 Asda。我们测试过的英国主流超市网站,基本都可以用同一个 AI Scraping Agent 和同一个 Retail Product Scraper template。变化的只有 URL。
如果你也需要从类似零售网站抓取商品数据,可以继续看下面这些分步指南:
- 抓取 Morrisons 商品 👈🏽
- 抓取 Sainsbury's 商品 👈🏽
- 抓取 Tesco 商品 👈🏽
关键结论
- 自建 Asda 商品 scraper 很烧钱。 开发成本通常在 £2000+,后续维护还要另算,而且 Asda 页面一改版就可能出问题。
- AI scraping 理解的是语义,不是 HTML。 这也是为什么即使商品列表结构变化,同一套配置仍然能继续抓 Asda,并且还能迁移到 Morrisons、Sainsbury's 和 Tesco,无需为每个站点单独写代码。
- 务必抓品牌页或分类页,不要抓首页。 超大列表很容易超出 agent 的 context window,白白浪费一次运行机会。
- 整套配置不到 5 分钟。 选 template、填 URL、设置输出、直接运行。
关于抓取 Asda 的常见问题
抓取 Asda 商品要花多少钱?
Datablist's AI Agent 采用 按使用量计费的 credit system。单次 Asda 抓取成本,取决于 agent 处理了多少商品和页面。Datablist 套餐起价为 $25/月,包含 5,000 个免费 credits;额外充值包则从 $20 / 20,000 credits 起,大额套餐最高可享 35% 折扣。
抓完整个 Asda 商品目录需要多久?
大多数包含 50 到 200 个商品的 Asda 分类页,通常可在 5 到 10 分钟内抓完。跨多个分页分类的大型任务(500+ 商品)一般需要 10 到 20 分钟。首次配置通常还会额外增加 2 到 3 分钟。
为什么要抓 Asda 分类页,而不是 “All Products”?
Asda 的 “all products” 视图会把成千上万的商品加载到一个渲染页面里。这很容易超过 AI Agent 的 context window,导致 agent 在中途停下来,而且没有 resume 选项,前面的部分结果也等于白跑。分类页和品牌页规模更可控,抓取更稳定;如果你后面需要全量覆盖,也可以再把多个分类结果合并到同一个 collection 中。
可以抓取 Asda 的促销价和活动价格吗?
可以。Retail Product Scraper template 默认包含 Sale Price 这个输出字段。当 Asda 有促销时,会返回折扣价;没有活动时,字段会显示 “N/A”。这一点其实很实用,因为你可以据此快速筛选哪些分类当前正在做 promotion。
在英国抓取 Asda 合法吗?
抓取公开可见的 Asda 商品数据(例如名称、价格、库存状态),在英国通常适用与公开网页数据类似的法律原则,一般来说问题不大。不过你仍然应该查看 Asda 的服务条款,避免抓取个人数据,并控制在合理的请求频率内。如果是商业用途,最好先让法务团队评估一下。
Asda 会封禁 scraper 吗?
对于一个公开零售网站来说,Asda 的 anti-bot 防护通常不算特别强。通过 Datablist 发起的大多数 Asda 抓取任务,通常第一次就能成功,尤其是在启用 Render HTML 的情况下。如果某个分类页没有返回数据,可以先降低页数重试,或者拆分成更细的子分类分别抓取。
可以定时重复抓取 Asda,用于价格监控吗?
可以。Datablist 的 workflow automation features 支持你配置周期性运行。建议同时设置一个唯一标识列(推荐 Product URL),再配合防重复设置,这样每次重复抓取 Asda 时,只会新增新商品,而不会把已有数据重复导入。
不会写代码也能抓取 Asda 吗?
完全可以。整个流程都是 no-code:选择 Retail Product Scraper template、粘贴 Asda URL、选择输出字段,然后点击运行即可。只要你会写一句自然语言,就能用 Datablist 抓 Asda。
哪些 Asda 分类最适合抓取?
asda.com 上的标准食品杂货分类通常数据最干净,比如 fresh、frozen、bakery、drinks、household。品牌页的效果通常也很好。促销页或 “Last chance” 页面有时会稍微杂一些,因为商品卡片格式混用更明显,但 AI Agent 通常仍然能提取出可用数据。
AI Agent 能自动处理 Asda 分页吗?
可以。开启 Enable Pagination 后,AI Agent 会按你设置的上限遍历整个 Asda 分类页的分页(默认 10 页,最多 5,000 页)。例如一个 Asda 分类共 240 个商品、每页显示 36 个,那么把分页设置为 10,agent 通常就能抓完整个列表。
什么是 AI scraping?
AI scraping 是一种利用大语言模型从网站提取结构化数据的方法,它不是依赖固定的 HTML 规则。agent 会访问页面、理解内容,再按你的自然语言要求返回对应字段。正因为如此,它在 Asda 这种页面经常调整的网站上会更稳定。
AI scraping 和传统 Web Scraping 有什么区别?
传统 scraper 依赖固定规则,比如 CSS selectors、XPath。一旦网站结构变化,这些规则就会失效。AI scraping 读的是页面语义,所以即使 Asda 的 markup 变了,Asda 的价格仍然还是价格。也正因如此,同一套 Datablist 配置才能在 Morrisons、Sainsbury's 和 Tesco 上通用,而不需要为每个站点分别开发。















