Ecommerce Product Detail

从任意电商平台页面提取商品完整信息,包括价格、品牌、图片、规格等。

已扫描
适合谁
电商从业者、市场研究人员
不适合谁
无网络环境用户、需要登录后才能查看数据的用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @browseract-cli/ecommerce-product-detail-skill

Skill 说明

命令、参数、文件名以原文为准

电商 — 产品详情

产品链接 / 关键词 / SKU → 完整的产品数据(名称、价格、品牌、图片、标识符、库存状态、评分、变体)

语言

所有流程输出给用户的提示(进度更新、通知等)均遵循用户的语言设置。

目标

通过通用的多层提取策略(JSON-LD → 平台特定 DOM → OG 元标签 → 微数据),从任意公开可访问的电商平台产品页面中提取完整的产品信息。

前置条件

  • 目标浏览器已打开并连接
  • 公开产品页面无需登录即可访问

执行前检查

1. 工具就绪性

若当前会话中已确认 browser-act 可用 → 跳过此步骤。

通过 Skill 工具调用 browser-act 加载使用。如遇安装或配置问题,请按其指引解决后重试。

功能组件

本技能的操作边界 = 用户在浏览器中手动可执行的操作范围。它仅读取用户页面上已显示的数据,绝不绕过身份验证或访问控制。JS 代码封装在 scripts/ 目录下的 Python 文件中,通过 eval "$(python scripts/xxx.py {params})" 调用。请使用 bash 工具执行。

DOM:从当前产品页面提取产品数据

先导航至产品链接,再执行以下命令:

eval "$(python scripts/extract-product.py)"

输出示例:

{
  "url": "https://www.amazon.com/dp/B09WNK39JN",
  "name": "Amazon Echo Pop",
  "price": 39.99,
  "price_currency": "USD",
  "brand": "Amazon",
  "image": "https://m.media-amazon.com/images/I/61bTwy0ooPL.jpg",
  "images": ["https://...jpg", "https://...jpg"],
  "description": "紧凑型智能音箱,搭载 Alexa...",
  "category": ["电子产品", "智能音箱"],
  "sku": "B09WNK39JN",
  "gtin": null,
  "mpn": null,
  "availability": "InStock",
  "rating": 4.7,
  "review_count": 103789,
  "variants": [{"name": "炭黑色", "sku": "B09WNK39JN", "price": 39.99}],
  "seller": "Amazon",
  "identifiers": {"ASIN": "B09WNK39JN", "畅销榜排名": "#1 在智能音箱中"},
  "_platform": "amazon",
  "_source": "json-ld"
}

综合:关键词或 SKU → 产品详情

当输入为关键词、ASIN/SKU 或 EAN/UPC 而非直接产品链接时:

步骤 1 — 根据输入类型导航至对应搜索链接:

输入类型目标网站链接模式
ASIN(10位字母数字)亚马逊https://www.amazon.com/dp/{ASIN}
关键词亚马逊https://www.amazon.com/s?k={keyword_urlencoded}
关键词eBayhttps://www.ebay.com/sch/i.html?_nkw={keyword_urlencoded}
关键词Walmarthttps://www.walmart.com/search?q={keyword_urlencoded}
关键词 + --site 指定任意网站https://{site}/search?q={keyword_urlencoded}
关键词(未指定站点)跨站搜索https://www.google.com/search?tbm=shop&q={keyword_urlencoded}
EAN / UPC / GTIN跨站搜索https://www.google.com/search?tbm=shop&q={identifier}

步骤 2 — 若跳转至搜索/列表页(多个结果):

  1. wait stable
  2. eval "$(python scripts/extract-listing.py --max-results 3)" — 获取前 3 个结果
  3. items[0].url 中选取最相关的产品链接
  4. navigate {product_url}wait stable

步骤 3 — 提取产品数据:

eval "$(python scripts/extract-product.py)"

注意:scripts/extract-listing.py 位于 ../ecommerce-listing/scripts/extract-listing.py,若作为独立 Skill 安装使用;否则引用列表页技能中的版本。

成功标准

result.name != null AND (result.price != null OR result.availability != null)

已知限制

  • 亚马逊反爬机制:在新会话中直接访问产品链接可能被重定向至验证码或机器人检测页面。建议先从 https://www.amazon.com 进入,建立会话 Cookie 后再跳转至产品页。
  • eBay 产品页可能需要先从 https://www.ebay.com 进入;若出现挑战,可使用 solve-captcha 工具处理。
  • 部分网站的产品数据完全由客户端 JavaScript 渲染;务必在提取前使用 wait stable 等待页面稳定。
  • 无货商品或需登录才能查看价格时,价格字段可能为空。
  • 变体数据的完整性取决于网站是否在 JSON-LD 中完整包含变体信息。

执行效率

  • 批量编排:编写 bash 脚本,在单一会话内串行处理多个产品链接;各请求间添加 1–2 秒间隔,避免触发反爬限制。
  • 批量执行前测试:在运行完整批次前,先用 1–2 个链接测试流程是否正常。
  • 错误恢复:逐项保存结果;失败时从断点处继续,而非重新开始。

使用说明

路径:{working-directory}/browser-act-skill-forge-memories/ecommerce-scraper-ecommerce-product-detail.memory.md

执行前:若该文件存在,应先读取内容——它记录了以往执行中遇到的意外情况(如某策略失效);根据情况调整策略顺序。

执行后:若遇到意外情况(策略失效、页面改版、反爬升级、发现更优路径),请追加一行记录:

{YYYY-MM-DD}: {发生了什么} → {结论}

BC
@browseract-cli

已收录 3 个 Skill

相关推荐