← 返回
未分类

EtsyAnalyze

This skill should be used whenever the user sends one or more Etsy listing URLs (containing etsy.com/listing/ or similar formats), or provides Etsy CSV data files for analysis. It automates the full competitor analysis workflow: launching Chrome with the user's local cookies to bypass anti-bot protection, extracting the fully-rendered page HTML via Chrome DevTools Protocol (CDP), parsing product data from JSON-LD structured data, and generating comprehensive HTML competitor analysis reports. For
>当用户发送一条或多条 Etsy 商品链接(包含etsy.com/listing/或同类格式),或是提供 Etsy CSV 数据文件要求分析时,即可启用该功能。它可实现完整竞品分析流程自动化:调用谷歌浏览器并加载用户本地 Cookie 以绕过反机器人防护机制,通过 Chrome 开发者工具协议(CDP)提取完整渲染后的网页超文本标记语言,从 JSON-LD 结构化数据中解析商品信息,并生成完整的 HTML 格式竞品分析报告。若为多条链接或 CSV 数据,还可生成多商品对比报告,包含关键词分析、定价策略及市场机会洞察。触发指令包括任意 Etsy 商品链接、帮我分析这个竞品、分析 Etsy 链接、Etsy 竞品分析、批量分析、多个竞品、CSV 文件分析及其他同类需求表述。
未央书童AI
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 83
下载
💾 0
安装
1
版本
#latest

概述

Etsy 竞品分析 Skill

功能概述

支持两种分析模式:

| 模式 | 输入 | 输出 |

|------|------|------|

| 实时爬取 | Etsy listing URL(s) | 单品报告 / 多竞品对比报告 |

| CSV 分析 | 已抓取的 Etsy CSV 数据文件 | 批量竞品分析报告(表格驱动型) |

触发条件

  • 用户发来一个或多个 etsy.com/listing/ 链接
  • 用户提供 Etsy CSV 数据文件路径
  • 提及"分析竞品/批量分析/多个竞品/CSV分析"

模式一:实时爬取模式

环境配置(用户固定参数)

  • Chrome 路径C:\Users\Administrator\AppData\Local\Google\Chrome\Bin\chromex.exe
  • 用户数据目录C:\Users\Administrator\AppData\Local\Google\Chrome\User Data
  • CDP 调试端口9222
  • 输出目录C:\Users\Administrator\Downloads\
  • 单品脚本scripts/etsy_analyze.js
  • 批量脚本scripts/etsy_batch.js(2 个以上链接时使用)
  • 模板报告template_report.html(批量分析标准模板)

触发判断逻辑

用户发来的 Etsy 链接数量:
  1 个 → 使用 etsy_analyze.js(单品报告)
  2+ 个 → 使用 etsy_batch.js(单品报告 × N + 1 份对比总报告)

如何识别多个链接:用户可以用任何方式提供链接:

  • 换行分隔
  • 空格分隔
  • 列表形式(1. 2. 3.)
  • 多条消息(先提一个再加一个)

只要消息里有 2 个及以上 etsy.com/listing/ 链接,就走批量流程。


模式二:CSV 数据分析模式

当用户提供已抓取的 Etsy CSV 数据文件时,直接读取 CSV 并生成分析报告。

输入格式要求

CSV 文件应包含以下字段(标准 Etsy 抓取格式):

商品链接,商品ID,商品标题,商品标价,商品图片,定制选项1,定制选项2,商品描述,店铺名称,抓取时间

工作流程

Step 1:读取 CSV 文件

使用 Read 工具读取 CSV 文件路径,解析所有竞品数据。

Step 2:数据提取与统计

从每条记录中提取:

  • 价格:从"商品标价"字段提取数字(支持 NowUSD/USD 格式)
  • 标题字数:计算标题字符数
  • 描述字数:计算描述字符数
  • 店铺:店铺名称
  • 变体:解析定制选项1和定制选项2,统计风格数和图案数
  • SKU组合:计算选项组合总数
  • 定制类型:从选项中识别定制方式(姓名、日期、照片等)

Step 3:生成 HTML 报告

使用 Write 工具生成报告,必须使用标准表格驱动型格式

参考模板:C:\Users\Administrator\.workbuddy\skills\etsy-analyzer\template_report.html

Step 4:输出文件

保存到与 CSV 同目录:

<CSV文件所在目录>/Etsy竞品分析报告_<日期>.html

报告格式规范(标准版)

必须使用表格驱动型报告格式,参考 template_report.html:

1. 核心摘要卡片

<div class="summary-grid">
  <div class="stat-card">
    <div class="stat-num">竞品数</div>
    <div class="stat-label">竞品样本数</div>
  </div>
  ...
</div>

2. 核心数据对比表(必须包含)

| 列 | 说明 |

|---|---|

| # | 序号 |

| 图片 | 商品缩略图(56x56px) |

| 商品标题 | 可点击链接 |

| 店铺 | 店铺名 |

| 基础价 | 最低标价 |

| 最高价 | 最高变体价 |

| 标题字数 | 标题字符数 |

| 风格数 | 定制选项1数量 |

| 图案数 | 定制选项2数量 |

| SKU组合 | 总变体组合数 |

| 定制类型 | badge 标签 |

3. 定制选项详细对比表

每行展示:店铺名、风格/款式选项(opt-pill)、图案/内容选项、选项组合数、个性化类型

4. 定价策略分析表

| 价格区间 | 竞品数 | 代表款式 | 特点 | 策略建议 |

5. 关键词分析

  • 词频统计:使用 kw-bar 条形图展示关键词出现频率
  • 词云:tag-cloud + tag/tag-lg/tag-md/tag-sm 分层
  • 关键词分层策略表:核心词/场景词/差异词/长尾词

6. 描述核心信息分析表

| 维度 | 高频内容 | 频率 | 建议 |

7. 竞品深度对比

选择 2-3 个典型竞品进行多维度对比

8. 市场机会与建议

  • 差异化机会点:opportunity 样式卡片
  • 注意事项:warning 样式卡片
  • 推荐标题模板:insight-box 样式
  • Tags 推荐清单:tag-cloud 样式

9. 附录:原始数据索引

包含商品ID、店铺名、价格、SKU数、可点击链接的表格

CSS 样式规范

/* 固定颜色主题 */
--primary: #C2410C (橙色)
--bg: #f4f4f4
--card-bg: #fff
--success: #22c55e (opportunity)
--warning: #f59e0b (warning)

/* 标签样式 */
.badge-bs { background: #C2410C } /* Bestseller */
.badge-new { background: #6366f1 } /* 新品/定制类型 */
.opt-pill { background: #f1f5f9 }  /* 选项胶囊 */
.tag { background: #fde8de }       /* 标签 */

/* 盒样式 */
.insight-box { background: #fff8f5; border-left: 3px solid #C2410C }
.opportunity { background: #f0fdf4; border-left: 3px solid #22c55e }
.warning { background: #fffbeb; border-left: 3px solid #f59e0b }

标准工作流程(实时爬取 4 步)

Step 1:提取 Listing ID

从 URL 中提取数字 ID:

https://www.etsy.com/listing/1234567890/...  →  listingId = 1234567890

Step 2:启动 Chrome(有界面 + CDP 端口)

必须使用有界面模式(非 headless),利用本地 Cookie 绕过 DataDome 反爬机制:

$chromePath = "C:\Users\Administrator\AppData\Local\Google\Chrome\Bin\chromex.exe"
$userDataDir = "C:\Users\Administrator\AppData\Local\Google\Chrome\User Data"

# 先检查端口是否已被占用(复用已有实例)
$portInUse = netstat -an | Select-String ":9222 "
if (-not $portInUse) {
    Start-Process $chromePath "--remote-debugging-port=9222 --user-data-dir=`"$userDataDir`" --no-first-run <URL>"
    Start-Sleep -Seconds 18   # 等待页面完全渲染(含可能的验证码)
} else {
    # 端口已在使用,导航到新 URL
    # 通过 CDP /json/new?<url> 打开新标签页
    Start-Sleep -Seconds 5
}

> ⚠️ 等待时间至少 18 秒,确保 JS 渲染和反爬验证完成。

Step 3:运行分析脚本

单品(1 个链接):

$scriptPath = "<SKILL_DIR>\scripts\etsy_analyze.js"
node $scriptPath "<etsy_url>"

批量(2+ 个链接):

$scriptPath = "<SKILL_DIR>\scripts\etsy_batch.js"
node $scriptPath "<url1>" "<url2>" "<url3>"

脚本自动完成:

  1. 连接 http://localhost:9222/json 获取页面列表
  2. WebSocket 连接 Chrome DevTools Protocol
  3. 执行 Runtime.evaluate 获取 document.documentElement.outerHTML
  4. 解析 JSON-LD 结构化数据(