Shopify产品抓取工具通过 JSON API、sitemap 自动发现和浏览器反反爬备选,抓取任意 Shopify 商店的产品数据。可以提取标题、价格、描述、SKU、变体、图片、库存状态及元数据。
robots.txt 发现产品 sitemap/products.json 批量 API(快速),失败时通过浏览器回退请求单个产品端点(稳健)robots.txt 未声明 sitemap 时,自动尝试 5 种常见路径/es-US/products/ → /products/)以正确访问 JSON API| 字段 | 类型 | 说明 |
|---|---|---|
url | string | 产品页面 URL |
title | string | 产品标题 |
id | string | Shopify 产品 ID(已剥离 GUID 前缀) |
sku | string | 变体 SKU |
description | string | 产品描述(HTML 标签已剥离) |
price | number | 变体价格 |
currency | string | 货币(默认 "USD") |
availability | string | "in stock" 或 "out of stock" |
color | string | 颜色选项值 |
size | string | 尺寸选项值 |
material | string | 材质选项值 |
display_name | string | 变体显示名称 |
product_type | string | Shopify 产品类型 |
images_urls | string[] | 产品及变体图片 URL(去重、去查询参数) |
brand | string | 产品品牌/厂商 |
video_urls | string[] | 视频 URL(预留) |
created_at | string | ISO 8601 创建时间 |
updated_at | string | ISO 8601 更新时间 |
published_at | string | ISO 8601 发布时间 |
additional | object | 附加信息:variant_attributes、variant_title、scraped_at、barcode、taxcode、stock_count、tags、weight、requires_shipping 及自定义选项键值 |
startUrl 数组控制平台如何将任务拆分为并发子任务(通过 b 字段)。
使用 extendOutputFunction 对每行数据进行转换或过滤。返回 null 跳过。
使用 extendScraperFunction 在爬取的不同阶段注入逻辑。
启用 fetchHtml 可在 JSON API 响应之外同时获取完整 HTML 页面。
HTML 内容可在输出函数中通过 request.userData.body 访问。
在 extendOutputFunction 中使用:
开启 debugLog: true 后,失败的响应会保存到存储中供排查。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
startUrl | array | 必填 | Shopify 商店 URL 列表。也是 b 字段(并发拆分键)。 |
maxRequestsPerCrawl | integer | 0 | 最大爬取产品数。0 = 不限。 |
maxConcurrency | integer | 20 | 最大并发请求数(1-20)。 |
maxRequestRetries | integer | 3 | 请求失败最大重试次数。 |
checkForBanner | boolean | true | 检查 robots.txt 是否包含 "Shopify"(非 Shopify 站点仍会继续)。 |
fetchHtml | boolean | false | 是否先抓取 HTML 页面(会导致请求数翻倍)。 |
debugLog | boolean | false | 详细日志输出;保存失败的 JSON 响应供排查。 |
extendOutputFunction | string | 直通 | JavaScript 函数(async),用于转换/过滤输出行。返回 null 跳过。 |
extendScraperFunction | string | 无操作 | JavaScript 函数(async),爬虫生命周期钩子。 |
customData | object | {} | 可在两个扩展函数中访问的任意数据。 |
extendOutputFunction 中过滤它们:
products.json 被拦截时,所有请求走浏览器,速度较慢(约 1 请求/秒/并发浏览器)。5 个并发浏览器约为 5 产品/秒。"USD" — 多币种商店需通过 extendOutputFunction 自定义解析。在 CoreClaw 平台上,所有出站 HTTP 请求通过平台的 SOCKS5 代理发出。
代理地址从 PROXY_AUTH 和 PROXY_DOMAIN 环境变量读取(平台自动设置)。
浏览器通过 WebSocket CDP 连接(ChromeWs 环境变量 + PROXY_AUTH 认证)。
两者均为平台注入 — 无需手动配置。
所有使用 Shopify 平台构建的在线商店均可抓取,无论使用何种主题或语言版本。工具会自动识别并处理本地化 URL。
工具专为 Shopify 设计。非 Shopify 站点可以尝试运行,但数据结构可能不兼容。checkForBanner 参数会检测 robots.txt 是否包含 Shopify 标识。
默认 20 并发适合大多数场景。对于有严格限流的商店,建议降低至 5-10。
探索商店中更多热门采集工具
by Wahlberg
通过 URL 或关键词批量采集 Reddit 公开帖子、评论、点赞、视频图片等结构化数据,支持排序筛选,适用于舆情监控、市场研究与数据分析。
by Odin Kael
用于按关键词抓取 Product Hunt 上的热门产品,并输出结构化表格数据。
by Odin Kael
A powerful course scraper for extracting online courses from Coursera and EDX platforms.
by Odin Kael
稳定爬取 Indeed/LinkedIn 等招聘平台职位,支持远程 / 全职 / 薪资筛选、自定义代理、多维度精准搜索,一键部署即可获取海外职位数据。