影刀RPA实操指南_1688商品数据自动化采集
影刀RPA实操指南:1688商品数据自动化采集完整流程——源头供应链数据才是核心资产
做过电商的都知道一句话:得供应链者得天下。
1688(阿里巴巴中国站)是源头货源地。在这里挖掘的数据,直接关系到你能拿到什么价格、什么品质的货。
但1688的页面结构和淘宝、拼多多差别很大——有起批量、有混批、有价格阶梯。这篇文章专门讲1688特有的采集技巧。
一、1688搜索页的特征
URL结构:
https://s.1688.com/selloffer/offer_search.htm?keywords=连衣裙&n=y&netType=1%2C11 # 翻页参数:beginPage= https://s.1688.com/selloffer/offer_search.htm?keywords=连衣裙&beginPage=2beginPage是页码,从1开始。可以直接拼接URL跳页。
二、价格获取的特殊性
拼多多店群自动化上架方案
1688的价格体系比零售平台复杂得多。
它有三种价格
| 价格类型 | 在哪里显示 | 含义 |
|---|---|---|
| 展示价 | 列表页直接显示 | 通常是起批量的单价 |
| 阶梯价 | 详情页批量价格表 | ≥2件、≥10件、≥50件等不同价 |
| 面议价 | 显示"面议" | 需要和厂家沟通 |
采集列表页价格
# 1688列表页价格的XPath# 通常在 //span[contains(@class,'price')] 或 //em[contains(@class,'price')]获取元素文本("价格元素")->价格原始值# 例如 "¥12.50"# 清洗函数defparse_1688_price(text):if"面议"intextor"电议"intext:returnNone# 标记为面议nums=re.findall(r'\d+\.?\d*',text.replace(",",""))returnfloat(nums[0])ifnumselse0.0采集详情页的阶梯价
列表页只能拿到最低价,需要完整阶梯价就要进详情页:
# 在商品详情页# 阶梯价格的容器通常是 <table> 或 <div class="price-list">获取相似元素列表("阶梯价格行")->价格行 遍历列表(价格行,行):数量=获取元素文本(行//起批数量)单价=获取元素文本(行//单价)采集数据.append({"起批量":数量,"阶梯价":单价})三、起批量与混批
1688有两种起批方式:
- 单款起批:一种商品最小买多少件
- 混批:店里任意商品凑满多少件或多少钱就行
采集起批信息
# 列表页的起批信息# 常见文本:"≥2件" "2件起批" "混批"起批文本=获取元素文本("起批元素")# 清洗defparse_moq(text):if"混批"intext:return{"type":"混批","min_qty":None}nums=re.findall(r'\d+',text)return{"type":"单款","min_qty":int(nums[0])ifnumselse1}四、供应商信息采集
1688的核心价值不止是商品,还有供应商。
关键采集字段
供应商信息={"店铺名称":获取店铺名(),"经营模式":获取经营模式(),# 生产厂家/经销批发"所在地区":获取所在地(),# 例如"广东广州""诚信通年限":获取诚信通年数(),"复购率":获取复购率(),"工商认证":获取认证状态(),# 是否深度验厂"货描":获取描述相符分(),# 通常>4.5才靠谱"响应速度":获取响应分(),"发货速度":获取发货分(),}这些信息在店铺首页或搜索结果的公司卡片里。
TEMU店群如何管理运营?
五、完整采集流程
# 子流程:B_1688商品采集关键词列表=["连衣裙","T恤批发","手机壳源头"]采集数据=[]遍历列表(关键词列表,关键词):输出日志(f"=== 采集关键词:{关键词}===")# 采集前5页遍历范围(1,6,页码):URL=f"https://s.1688.com/selloffer/offer_search.htm?keywords={关键词}&beginPage={页码}"打开网页(URL)等待元素出现("商品列表",8秒)获取相似元素列表("商品卡片")->卡片列表 遍历列表(卡片列表,卡片):Try:名称=获取元素文本(卡片//名称元素)价格原始=获取元素文本(卡片//价格元素)价格=parse_1688_price(价格原始)起批原始=获取元素文本(卡片//起批元素)起批信息=parse_moq(起批原始)店铺=获取元素文本(卡片//店铺元素)地区=获取元素文本(卡片//地区元素)采集数据.append({"关键词":关键词,"商品名称":名称,"价格":价格,"起批":起批信息["min_qty"],"店铺":店铺,"地区":地区,"来源页":页码})Catch 单条异常:输出日志(f"跳过一条异常:{单条异常}")输出日志(f"第{页码}页完成,累计{len(采集数据)}条")固定等待(3+random.random()*3)# 随机3~6秒# 关键词间隔固定等待(5秒)# 保存保存结果到Excel(采集数据,f"D:\\数据\\1688_{date}.xlsx")六、1688的防爬特点
1688对自动化不算特别敏感,但有一些地方要注意:
地区IP限制:部分商品对特定省份不展示,这是商家的设置,不是风控
登录墙:浏览久了会弹登录框,Cookie管理参考前面的文章
滑块验证:频率高了会出现,但概率比淘宝低
搜索结果波动:1688的搜索结果排序经常变,同关键词不同时间搜出来的结果不完全一样
七、数据价值挖掘建议
1688数据不是用来"看"的,是用来"比"的。
# 供应商对比分析Python代码:importpandasaspd df=pd.read_excel("1688采集结果.xlsx")# 按地区统计地区分析=df.groupby("地区").agg(供应商数=("店铺","nunique"),平均价格=("价格","mean"),商品数=("商品名称","count")).sort_values("供应商数",ascending=False)print(地区分析.head(10))这样一眼看出哪个地区供应商最集中、哪里的价格最有优势。
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。
