还在手动右键“以图搜图”?太慢了!真正的跨境高手,都在用代码把 Ozon 的爆款图自动“翻译”成 1688 的采购链接。
今天,我就把“自动化扒图选品”的完整流程和核心代码给你拆解明白。这套 SOP 不仅能帮你省下 90% 的找货时间,还能让你精准卡位俄罗斯市场的供应链源头。
一、 从“手动”到“自动”的进化逻辑
维度 | 手动扒图(1.0时代) | 自动化脚本(2.0时代) |
|---|---|---|
效率 | 单张图 3-5 分钟,容易眼花 | 批量处理,100 张图一键跑 |
精准度 | 靠肉眼判断“像不像” | AI 相似度打分,只推荐 >80% 匹配款 |
决策依据 | 感觉 | 数据化指标(价格、销量、起批量) |
结果 | 找到一堆杂货铺 | 直连源头工厂,自动过滤垃圾信息 |
二、 自动化“扒图”选品 SOP(四步闭环)
第一步:Ozon 端 - 精准“狙击”目标
不要瞎截图!图片质量决定找货成功率。
- 操作:在 Ozon 前台,寻找月销 > 500 件且评价 4.5 星以上的商品。
- 技巧:
- 截图时避开模特、背景、水印,只保留产品主体。
- 优先选择白底图或平铺图(这类图在 1688 的匹配度最高)。
- 将图片保存为
Ozon_{SKU}.jpg,建立本地档案。
第二步:预处理 - 让 AI 看得更清楚
这是提升匹配精度的关键。很多卖家直接扔原图,结果搜出一堆无关商品。
- 动作:使用 Python 的
PIL库(或在线工具)进行图片裁剪和背景淡化。 - 代码逻辑:
# 伪代码:图片预处理核心逻辑 from PIL import Image def preprocess_image(image_path): # 1. 打开图片 img = Image.open(image_path) # 2. 裁剪核心区域(去除多余背景) img = img.crop((left, top, right, bottom)) # 需根据图片调整坐标 # 3. 调整大小为标准尺寸(提高识别率) img = img.resize((800, 800)) # 4. 保存处理后的图片 img.save('processed_' + image_path)目的:让 AI 只关注产品本身,而不是杂乱的背景。
第三步:1688 API 对接 - 核心“翻译”层
这是技术核心。我们通过 1688 开放平台的
item_search_img(拍立淘)接口,让程序自动去搜货。- 准备工作:
- 注册 1688 开放平台 账号。
- 创建应用,获取
App Key和App Secret。 - 申请
1688.item_search_img接口权限。 - 核心请求参数:参数值说明
method1688.item_search_img接口方法imgid图片URL或Base64要搜索的图片search_type11=同款,2=相似款sortsale_desc按销量排序page_size50每页数量
第四步:数据清洗 - 从“货源”到“订单”
API 返回的数据很多,我们需要自动过滤掉垃圾信息。
- 筛选逻辑:
- 相似度过滤:只保留
similar_degree > 0.8(80% 以上相似)的商品。 - 供应链过滤:优先选择
is_factory(工厂店)且支持one_drop(一件代发)的供应商。 - 价格过滤:剔除价格异常低(可能是陷阱)或起批量过大的店铺。
三、 核心代码实战(Python)
以下代码基于 1688 开放平台 API 封装,你可以直接修改参数运行。
import requests
import base64
import hashlib
import time
import json
# ==================== 配置区域 ====================
APP_KEY = "你的APP_KEY" # 替换为你的1688 App Key
APP_SECRET = "你的APP_SECRET" # 替换为你的1688 App Secret
IMAGE_FILE = "ozon_hot_item.jpg" # 你保存的Ozon爆款图片路径
# =================================================
# 封装好API供应商demo url=https://console.open.onebound.cn/console/?i=Lex
def img_to_base64(image_path):
"""将本地图片转换为Base64编码(1688 API要求)"""
with open(image_path, 'rb') as f:
img_data = f.read()
return base64.b64encode(img_data).decode('utf-8')
def generate_sign(params, secret):
"""生成1688 API要求的签名"""
sorted_params = sorted(params.items())
query_str = ''.join([f'{k}{v}' for k, v in sorted_params])
sign_str = secret + query_str + secret
return hashlib.md5(sign_str.encode()).hexdigest().upper()
def search_1688_by_image(image_base64):
"""调用1688拍立淘API搜索同款货源"""
# 1. 构造请求参数
params = {
'method': '1688.item_search_img',
'app_key': APP_KEY,
'imgid': image_base64,
'search_type': '1', # 1=同款,2=相似
'page': '1',
'page_size': '50', # 最多返回50条
'sort': 'sale_desc', # 按销量降序
'timestamp': str(int(time.time())),
'format': 'json',
'v': '2.0'
}
# 2. 生成签名并加入参数
params['sign'] = generate_sign(params, APP_SECRET)
# 3. 发送POST请求
api_url = 'https://gw.open.1688.com/openapi/param2/1/com.alibaba.product/alibaba.product.image.search'
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
response = requests.post(api_url, data=params, headers=headers)
return response.json()
def parse_results(json_data):
"""解析API返回的JSON数据,提取核心货源信息"""
goods_list = []
try:
items = json_data['result']['items']
for item in items:
# 提取核心字段
goods_info = {
'title': item.get('title', 'N/A'),
'price': item.get('price', 'N/A'),
'sold_count': item.get('sold_count', 0),
'similar_degree': item.get('similar_degree', 0), # 相似度
'detail_url': item.get('detail_url', 'N/A'),
'is_factory': item.get('is_factory', False) # 是否工厂
}
goods_list.append(goods_info)
except Exception as e:
print(f"解析数据出错: {e}")
return goods_list
if __name__ == "__main__":
# 1. 图片转码
print("🔄 正在处理Ozon图片...")
img_base64 = img_to_base64(IMAGE_FILE)
# 2. 调用API搜索
print("🔍 正在调用1688拍立淘API找货...")
result = search_1688_by_image(img_base64)
# 3. 解析并打印结果
print("📦 找到以下同款货源:\n")
goods = parse_results(result)
for i, g in enumerate(goods[:5]): # 只打印前5个最相似的结果
print(f"【{i+1}】{g['title']}")
print(f" 价格: {g['price']}元 | 销量: {g['sold_count']} | 相似度: {g['similar_degree']:.2%}")
print(f" 链接: {g['detail_url']}\n")运行结果示例:
📦 找到以下同款货源: 【1】新款智能宠物饮水机 静音循环 价格: 35.80元 | 销量: 2840 | 相似度: 92.00% 链接: https://detail.1688.com/xxx 【2】俄罗斯爆款同款 猫咪自动饮水器 价格: 32.50元 | 销量: 1502 | 相似度: 85.50% 链接: https://detail.1688.com/xxx
四、 避坑指南与进阶玩法
- 图片质量是命门:如果图片背景杂乱,脚本也救不了你。务必预处理成白底图。
- API 限流:1688 API 有调用频率限制(通常 QPS=2),批量跑图时记得加
time.sleep(0.5)避免被封。 - 进阶扩展:
- 批量处理:写个循环,把
images文件夹里的 Ozon 图全跑一遍。 - 自动比价:在
parse_results函数里加入逻辑,自动筛选“价格低于 Ozon 售价 30%”的货源。 - 生成报表:将结果写入 Excel,自动标注“推荐采购”的店铺。
💡 写在最后
这套“扒图 2.0”玩法的本质,是用技术手段把“信息差”变现的效率提升了 10 倍。
当别人还在手动翻页时,你的脚本已经帮你锁定了利润最厚的源头工厂。这才是 2025 年跨境卖家该有的核心竞争力。