电商运营中有两个最常见的重复性工作:一是把商品信息从一个平台搬到另一个平台(比如从淘宝复制商品到拼多多),二是店铺信息变更后需要在多个平台同步更新(比如修改运费模板、更新客服电话)。
如果这些工作全靠手动操作,一次上架100个商品可能要花一整天,而且容易出错。 这篇文章设计一套“批量商品上架+信息同步”的自动化方案,用影刀RPA把跨平台商品搬运和信息同步流程跑通。
批量商品上架的整体架构
商品上架系统流程(批量上架50个商品,约30-40分钟)
数据准备层

├── 源平台数据采集(淘宝商品详情)
├── 数据清洗与字段映射
└── 生成目标平台所需的导入数据
数据写入层

├── 登录目标平台商家后台
├── 逐个创建商品草稿
├── 上传商品图片
├── 设置SKU、价格、库存
└── 提交审核/上架

验证层
├── 检查上架结果
├── 记录成功/失败清单
└── 发送通知

模块一:源平台数据采集
首先从源平台(如淘宝)采集需要迁移的商品完整信息。
商品详情采集字段清单
| 字段 | 说明 | 用途 |
|---|---|---|
| 商品标题 | 完整标题 | 直接复用或微调 |
| 商品描述 | 详情页描述 | 跨平台搬运 |
| 商品图片 | 主图+详情图 | 下载后上传到目标平台 |
| 商品属性 | 品牌、型号、材质等 | 映射到目标平台的属性 |
| SKU信息 | 颜色、尺码、价格、库存 | 核心数据 |
| 运费模板 | 邮费设置 | 需重新配置(平台不同) |
| 类目信息 | 所在分类 | 映射到目标平台类目 |
采集流程(以淘宝为例)
子流程:S02_01_采集_淘宝商品详情
1. 加载浏览器Profile(淘宝店铺)
2. 打开千牛工作台 → 出售中的商品
3. 找到目标商品 → 点击“编辑”
4. 等待商品编辑页面加载完成
5. 采集商品基本信息:
- 商品标题://*[@id="title"]
- 商品类目://*[@id="category"]
- 商品描述://*[@class="description"]
- 商品属性://*[@class="attributes"]
6. 采集SKU列表:

- 获取所有SKU组合 → 遍历每个SKU
- 每个SKU采集:颜色、尺码、价格、库存、SKU编号
7. 采集商品图片:
- 获取所有图片URL列表
- 批量下载到本地临时文件夹
8. 组装完整商品数据 → 存入变量
9. 关闭编辑页面
模块二:字段映射与数据清洗
淘宝和拼多多的商品字段不完全一样,需要做映射和转换。
字段映射表
| 淘宝字段 | 拼多多字段 | 转换说明 |
|---|---|---|
| 商品标题 | 商品名称 | 可能需要截断(拼多多限制30字) |
| 商品描述 | 商品详情 | 富文本转纯文本或HTML |
| 一级类目 | 一级类目 | 需要手动映射(两平台类目体系不同) |
| 商品图片 | 商品图片 | 下载后重新上传 |
| SKU颜色 | SKU规格1 | 映射到拼多多的规格1 |
| SKU尺码 | SKU规格2 | 映射到拼多多的规格2 |
| SKU价格 | SKU价格 | 相同 |
| SKU库存 | SKU库存 | 相同 |
数据清洗的Python代码
# Python指令:淘宝→拼多多字段映射
def map_taobao_to_pdd(taobao_data):
"""
将淘宝商品数据映射为拼多多格式
"""
pdd_data = {}
# 标题:截断到拼多多限制
title = taobao_data.get('title', '')
pdd_data['name'] = title[:30] if len(title) > 30 else title
# 描述:保留HTML格式
pdd_data['desc'] = taobao_data.get('desc', '')
# 类目:需要手动映射(通过映射表)
tb_category = taobao_data.get('category', '')
pdd_data['category'] = category_mapping.get(tb_category, '')
# SKU映射
pdd_skus = []
for sku in taobao_data.get('skus', []):
pdd_skus.append({
'spec1': sku.get('color', ''),
'spec2': sku.get('size', ''),
'price': sku.get('price', 0),
'stock': sku.get('stock', 0)
})
pdd_data['skus'] = pdd_skus
# 图片:下载后重新上传
pdd_data['images'] = taobao_data.get('images', [])
return pdd_data
模块三:商品图片批量处理
图片是商品上架中最耗时的环节之一。需要从源平台下载图片,再上传到目标平台。
图片处理流程:
1. 从源平台获取商品图片URL列表
2. 批量下载图片到本地临时文件夹
- 文件名格式:{商品ID}_{序号}.jpg
- 下载路径:D:/RPA_Data/images/temp/
3. 按目标平台的要求处理图片:
- 检查尺寸是否符合要求(如拼多多主图800x800)
- 如果不符合,用Python Pillow库裁剪/缩放
- 检查文件大小(拼多多限制5MB以内)
4. 批量上传到目标平台的图片空间
5. 获取上传后的图片URL,用于商品创建
图片尺寸检查的Python代码:
# Python指令:图片尺寸检查与调整
from PIL import Image
import os
def check_image_size(image_path, required_size=(800, 800)):
"""
检查图片尺寸是否符合要求,如果不符合则调整
"""
with Image.open(image_path) as img:
width, height = img.size
# 如果尺寸不符,居中裁剪到目标尺寸
if width != required_size[0] or height != required_size[1]:
# 计算裁剪区域
left = (width - required_size[0]) // 2
top = (height - required_size[1]) // 2
right = left + required_size[0]
bottom = top + required_size[1]
cropped = img.crop((left, top, right, bottom))
cropped.save(image_path)
return True
return False
模块四:目标平台上架操作
以“从淘宝商品迁移到拼多多”为例,展示在拼多多商家后台创建商品的操作。
拼多多商品创建流程:
子流程:S03_01_上架_拼多多商品
输入参数:in_product_data(已映射好的商品数据)
输出参数:out_product_id(创建成功的商品ID)
流程体:
1. 加载浏览器Profile(拼多多店铺)
2. 打开拼多多商家后台 → 商品管理 → 发布新商品
3. 填写商品基本信息:
a. 选择类目(从映射表中取)
b. 输入商品名称(in_product_data.name)
c. 输入商品描述(in_product_data.desc)
d. 上传商品主图(从本地选择)
e. 上传商品详情图(从本地选择)
4. 设置SKU规格:
a. 添加规格1(颜色/型号)
b. 添加规格2(尺码/版本)
c. 批量导入SKU组合(价格+库存)
d. 设置SKU图片(为不同颜色SKU设置对应图片)
5. 设置运费:
a. 选择运费模板(需预先配置)
b. 设置发货地
6. 设置售后政策:
a. 退换货规则
b. 发货时间承诺
7. 预览商品信息 → 检查无误
8. 提交审核
9. 记录创建结果:
- 成功 → 返回商品ID
- 失败 → 记录错误信息
10. 关闭发布页面
拼多多SKU设置的XPath参考:
# 规格名称输入框
//*[contains(@class,"spec-name")]//input
# 规格值输入框(颜色)
//*[contains(@class,"spec-value")]//input
# SKU价格输入框
//*[contains(@class,"sku-price")]//input
# SKU库存输入框
//*[contains(@class,"sku-stock")]//input
模块五:批量处理与进度管理
上架50个商品不能一次全部处理,需要分批、记录进度、处理异常。
批量处理流程:
1. 从Excel读取待上架商品列表 → product_list
2. 初始化进度变量:total = len(product_list),success = 0,failed = 0
3. 循环遍历 product_list(当前商品=product,索引=idx):
Try块:
4. 输出日志:“[INFO] 正在上架第{idx+1}/{total}个商品:{product.name}”
5. 调用“上架_拼多多商品”子流程
6. success += 1
7. 记录成功日志
8. 等待时间(3-5秒,防限流)
Catch块:
9. 输出日志:“[ERROR] 商品上架失败:{product.name},错误:{错误详情}”
10. failed += 1
11. 截图保存
12. 记录失败商品到异常列表
13. 继续下一个商品(不中断流程)
10. 循环结束后:
输出日志:“[END] 批量上架完成:成功{success}个,失败{failed}个”
11. 生成上架结果报告:
- 成功商品列表(含商品ID)
- 失败商品列表(含错误原因)
12. 发送飞书通知
模块六:上架结果验证
上架完成后,需要验证商品是否真的上架成功了。
验证流程:
1. 进入“出售中的商品”列表
2. 搜索刚上架的商品名称
3. 检查商品是否存在:
- 存在 → 验证通过
- 不存在 → 标记为“需人工核查”
4. 检查商品状态:
- 审核中 → 记录状态,后续跟进
- 已上架 → 上架成功
- 审核失败 → 记录失败原因
5. 更新上架结果表
店铺信息同步
除了商品上架,店铺基础信息变更也需要同步更新。
需要同步的信息:
| 信息类型 | 更新频率 | 涉及平台 |
|---|---|---|
| 运费模板 | 按需更新 | 全部平台 |
| 客服电话 | 变更时更新 | 全部平台 |
| 退货地址 | 变更时更新 | 全部平台 |
| 店铺公告 | 按需更新 | 全部平台 |
运费模板同步流程:
1. 在源平台修改运费模板
2. 导出运费模板配置
3. 登录目标平台商家后台
4. 进入运费模板管理
5. 逐个更新或新建对应模板
6. 验证模板是否生效
常见问题速查表
| 现象 | 原因 | 快速修复 |
|---|---|---|
| 类目映射失败 | 两平台类目体系不同 | 建立手动映射表,标注常用类目对应关系 |
| SKU组合不匹配 | SKU维度不同 | 源平台3个规格→目标平台2个规格时,合并或拆分 |
| 图片上传失败 | 图片尺寸或格式不符 | 用Python预处理图片到目标平台要求 |
| 商品上架后状态异常 | 触发风控审核 | 调整上架频率,单次上架数量控制在50个以内 |
| 描述中的图片丢失 | 富文本图片未同步 | 详情图单独上传,用图片URL替换原描述中的链接 |
| 批量处理中断 | 社区版时间用完 | 升级创业版,或分批在不同时间段执行 |
推荐资源
- 各平台商品发布规范:熟悉每个平台的商品发布规则(图片尺寸、标题字数、SKU限制),减少因格式不符导致的失败。
- 千牛/拼多多商家后台操作指南:熟悉后台的每个操作步骤,才能在RPA中精确定位元素。
- 创业版优势说明:批量上架流程通常耗时较长(30-60分钟),建议使用创业版(无时间限制)。创业版还支持并行处理,可同时操作多个店铺。
#影刀RPA #RPA自动化 #商品上架 #跨平台迁移 #电商运营 #SKU管理
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。
