影刀RPA实操指南:1688货源数据采集——价格区间、起批量与供应商筛选自动化

影刀RPA采集1688数据是做电商选品和比价的标配。1688的页面结构和淘宝京东差别不小——价格展示的是区间(如"5.00-12.00"),还有起批量约束、混批规则、供应商认证等级,这些用普通的商品采集模板拿不到完整数据。

作者:林焱 | 影刀RPA实操系列


在这里插入图片描述

1688页面特点

和传统C端电商相比,1688的数据结构有几个特殊点:

  • 价格显示为区间:“¥5.00-12.00”,对应不同起批量的价格
  • 起批量是关键字段:最少起批量、混批规则
  • 供应商信息很重要:经营模式(生产厂家/经销商)、诚信通年限、认证类型
  • SKU表格复杂:一个商品可能有十几个SKU,每个SKU不同规格对应不同价格

第一步:关键词搜索

在这里插入图片描述

1. 打开 https://www.1688.com/
2. 定位搜索框
3. 输入关键词并搜索
4. 等待搜索结果加载
5. (可选)切换到「供应商」Tab,直接搜供应商

拼多多店群自动化上架方案

第二步:搜索结果列表采集

# 搜索结果卡片数据提取
cards = 获取所有元素(选择器=".sm-offer-item, .offer-list-item")

results = []
for card in cards:
    # 商品标题
    title = 获取子元素文本(card, ".title, .offer-title")
    
    # 价格区间(1688特有)
    price_text = 获取子元素文本(card, ".price")
    min_price, max_price = parse_price_range(price_text)
    
    # 起批量
    min_order = 获取子元素文本(card, ".min-order")
    
    # 成交数
    trade_count_text = 获取子元素文本(card, ".trade-count")
    trade_count = parse_trade_count(trade_count_text)
    
    ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5883cda04bea4576837c3eeb39637dbf.png#pic_center)

    # 供应商名称
    supplier = 获取子元素文本(card, ".supplier-name")
    
    # 供应商所在地
    location = 获取子元素文本(card, ".location")
    
    results.append({
        '标题': title,
        '最低价': min_price,
        '最高价': max_price,
        '起批量': min_order,
        '成交笔数': trade_count,
        '供应商': supplier,
        '所在地': location,
        '采集时间': datetime.now().strftime("%Y-%m-%d %H:%M")
    })

价格区间解析函数:

def parse_price_range(price_text):
    """解析 1688 价格区间 "5.00-12.00" """
    import re
    
    price_text = str(price_text).strip().replace('¥', '').replace('¥', '')
    
    # 匹配 "5.00-12.00" 格式
    match = re.match(r'([\d.]+)\s*[-~到至]\s*([\d.]+)', price_text)
    if match:
        return float(match.group(1)), float(match.group(2))
    
    # 只有单个价格
    single = re.search(r'([\d.]+)', price_text)
    if single:
        price = float(single.group(1))
        return price, price
    
    return None, None

成交笔数转换:

def parse_trade_count(text):
    """
    1688成交笔数格式:"成交 1.2万笔"、"成交 856笔"
    """
    import re
    
    text = str(text)
    
    # 万笔
    wan_match = re.search(r'([\d.]+)万', text)
    if wan_match:
        return int(float(wan_match.group(1)) * 10000)
    
    # 普通数字
    num_match = re.search(r'(\d+)', text)
    if num_match:
        return int(num_match.group(1))
    
    return 0

第三步:供应商信息采集

在这里插入图片描述

进入供应商店铺首页,采集经营资质数据:

1. 点击供应商名称进入店铺首页
2. 采集供应商核心字段:
   - 经营模式(生产厂家/经销批发/招商代理)
   - 诚信通年限(如:诚信通9年)
   - 认证类型(企业认证/个人认证)
   - 货描/响应/发货三项评分
   - 所在地区
   - 主营类目
def extract_supplier_info():
    """提取供应商资质信息"""
    info = {}
    
    # 诚信通年限
    years_text = 获取元素文本(".year-num, .tp-year")
    info['诚信通'] = parse_years(years_text)
    
    # 经营模式
    biz_mode = 获取元素文本(".biz-mode")
    info['经营模式'] = biz_mode
    
    # 三项评分
    scores = 获取所有元素文本(".score-item .score-value")
    # 1688 评分通常是 货描相符/响应速度/发货速度
    if len(scores) >= 3:
        info['货描'] = scores[0]
        info['响应'] = scores[1]
        info['发货'] = scores[2]
    
    # 所在地
    location = 获取元素文本(".company-location")
    info['所在地'] = location
    
    return info

第四步:翻页策略

在这里插入图片描述

1688 搜索结果最大展示100页(约4000条数据),翻页方式为传统分页:

page = 1
max_pages = 100
all_data = []

while page <= max_pages:
    print(f"正在采集第{page}页...")
    
    # 采集当前页数据
    page_data = extract_search_results()
    all_data.extend(page_data)
    
    # 检查是否有下一页
    next_btn = 获取元素(".next-page:not(.disabled), .pagination-next")
    if not next_btn:
        print("已到最后一页")
        break
    
    # 点击下一页
    点击元素(next_btn)
    
    # 等待新页面加载
    随机等待(1500, 3000)
    
    page += 1

第五步:详情页SKU采集

进入单个商品详情页,采集完整SKU信息:

在这里插入图片描述

def extract_sku_data():
    """采集商品SKU表格"""
    skus = []
    
    # 1688 SKU通常以表格形式展示
    sku_rows = 获取所有元素(".sku-table tr, .sku-item")
    
    for row in sku_rows:
        spec = 获取子元素文本(row, ".sku-name, .spec-name")
        price = 获取子元素文本(row, ".sku-price")
        stock = 获取子元素文本(row, ".sku-stock")
        
        skus.append({
            '规格': spec.strip(),
            '单价': parse_price(price),
            '库存': parse_number(stock)
        })
    
    return skus

数据分析:比价与供应商筛选

TEMU店群如何管理运营?

采集完成后,做供应商筛选分析:

在这里插入图片描述

import pandas as pd

df = pd.read_excel("1688_采集结果.xlsx")

# 按价格排序找出最优
df_sorted = df.sort_values('最低价')

# 筛选条件:起批量≤50,诚信通≥3年,有成交记录
qualified = df[
    (df['起批量_num'] <= 50) & 
    (df['诚信通年限'] >= 3) & 
    (df['成交笔数'] > 0)
]

# 按价格分组统计
df['价格段'] = pd.cut(df['最低价'], bins=[0, 10, 30, 50, 100, 500, float('inf')],
                      labels=['0-10', '10-30', '30-50', '50-100', '100-500', '500+'])
price_stats = df.groupby('价格段').size()

反爬注意事项

1688的反爬策略中等偏严:

  • 翻页太快会弹出验证码,建议每页间隔2-3秒
  • 频繁访问同一商品详情会被限流
  • 不要连续采集超过2小时,中间休息10-15分钟
  • 在这里插入图片描述

小结

1688采集和C端电商最大的区别:重点不只是产品数据,更是供应商资质。诚信通年限、经营模式、起批量——这些才是选供应商的核心维度。把供应商筛选逻辑融入采集流程,实现从"采集数据"到"采集决策依据"的升级。


内容标签:影刀RPA / 1688采集 / 货源比价 / 供应商筛选 / SKU数据

作者:林焱

在这里插入图片描述

本文是「影刀RPA从零到实战」系列文章之一,持续更新实操技巧与避坑经验。
在这里插入图片描述

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐