用途:从 Etsy 公开分类页(/c/...)逐页采集商品列表,每次一页,输出每件商品的核心字段。分类页无需登录。
主要能力:通过脚本 scripts/extract-listings.py 提取当前分类页商品,返回 error、url、currentPage、count、nextPageUrl 及 listings 数组。每条商品含 listingId、shopId、title、url、image、salePrice、originalPrice、currency、rating、reviewCount、shopName、isAd、freeShipping、badge、positionIndex。
使用方式:先确认 browser-act 可用;若为全新浏览器会话,先访问 https://www.etsy.com/ 并等待稳定,再访问目标分类 URL 并等待稳定。随后执行 eval "$(python scripts/extract-listings.py)"。分页采用 URL 模式 {category-URL}&page={N},N 从 1 开始;当 count 为 0 或上一页 nextPageUrl 为 null 时停止。Etsy 每个分类通常最多约 250 页。
适用场景:采集公开分类页商品信息、做价格与评分等字段的整理。
限制:受 DataDome 反爬影响,冷启动直接进入 /c/ 可能遇到验证页,需在同一隐身会话中先访问首页或更换代理/指纹重试;reviewCount 为页面显示文本(如 7.9k)而非精确整数;广告位 isAd 为 true,Offsite Ads 卡片 shopName 可能为 null;结果可能因代理地区与登录状态而个性化;筛选条件需自行在 URL 追加参数(如 min=10&max=50),脚本不注入筛选。建议单会话串行翻页,页间休眠 3-8 秒,先小规模测试,逐页保存结果以便断点续跑。