唯品会商品数据采集与价格监控系统产品系统

我要开发同款
爬虫工程师2026年09月30日
7阅读

技术信息

语言技术
Python
系统类型
Web
行业分类
电商
参考价格
1000

作品详情

行业场景

面向电商运营、品牌供应商与代购分销群体的竞品价格监控场景。商品价格隐藏在唯品会 WAP 端加密接口之后,常规请求会被 TFS 风控拦截(返回 Forbidden by TFS)。本项目通过逆向还原前端加签算法(含 VMP 虚拟指令保护),实现脱离浏览器的纯 HTTP 采集:支持按品牌/频道自动发现监控目标、分页拉取商品、明细入库,并与历史快照自动比对生成降价榜与价格分布报表,可直接改造为每日价格巡检任务,帮助用户即时掌握竞品调价动态、制定促销策略。

功能介绍

目标自动发现:从频道流自动抓取品牌 ID,无需手工维护监控清单
商品采集:按品牌分页拉取商品列表,逐条获取标题、售价、原价、折扣、主图等 9 个字段
签名还原:本地 JS 复算 Authorization: OAuth api_sign=,全程无需浏览器自动化
风控对抗:身份一致性同步、随机限速、触发限流自动冷却、连续失败体面收工
价格监控:与历史快照逐条比对,输出降价/涨价明细与变动幅度
统计分析:价格区间分布、平均价、折扣力度排行榜 TOP5
数据落盘:CSV(utf-8-sig)导出,Excel 直接打开不乱码
定时巡检:内置调度器,支持按小时/天自动增量采集

项目实现

抓包定位:通过浏览器 DevTools 捕获 WAP 端 XHR,确认接口均需 Authorization: OAuth api_sign=
代码定位:在前端打包文件 index.eec28ca9.js 中定位 webpack 模块 e7ec(加签入口)
密钥还原:同文件写死的常量经模块 c71e 的 AES-CBC(key=weixin_smallmina、iv=weixin)解密,得到签名密钥
参数哈希:按 key 升序、剔除 api_key、k=v 拼接后 SHA1
VMP 拆解:模块 7460 的 DynamicVM 字节码仅含「变量入栈/拼接/SHA1」三类指令,还原后确认等同于 SHA1(路径+参数哈希+VIP_TANK+mars_cid+密钥)
算法落地:将链路写成独立 JS(vip_apisign.js),Python 侧通过 execjs 调用,算法可独立演进
工程化:配置层 / 核心层(加签+请求+接口+解析)/ 存储分析层 / 入口层四层划分
容错设计:请求重试、随机限速、TFS 风控冷却与优雅退出、已采数据不丢失

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论