欧冶云商现货资源采集系统(瑞数 RS6 无浏览器方案)产品系统

我要开发同款
proginn15181401212026年11月14日
5阅读

技术信息

语言技术
Java、Python
系统类型
Web、MacOS、Windows
行业分类
企业服务、开发工具
参考价格
3000

作品详情

行业场景

钢铁现货价格每天都在变,采购和销售人员要在欧冶云商等平台反复翻页比价、手工记录货源,效率低且容易漏单。本项目把全国主要仓库(上海、武汉、湛江、南京等)的现货资源汇总成一张结构化表,用于价格监控、比价选源和采购决策。业务属于大宗商品/钢铁供应链的公开行情采集:数据公开、无需登录,但对反爬对抗、字段完整性和长期可维护性要求高,因此需要一套工程化系统而不是一次性脚本。

功能介绍

1)挑战页处理:自动请求落地页,识别 202 挑战响应,提取内联 $_ts 种子与随机路径的外链混淆脚本;
2)令牌铸造:调用本地 nv8 运行时原样执行站点挑战 JS,钩住 cookie 写入,取服务端认可的首次写入值;
3)过闸与采集:注入令牌后先请求落地页验证 200,再调用业务接口,按 10 页 × 50 条逐页采集;
4)解析清洗:兼容「单体资源 / 打包资源」两种响应结构,输出标题、价格、地址,以及品名、牌号、规格、计重、钢厂、卖家等共 24 列;
5)完整性保障:按资源ID/批次号多维去重,因翻页漂移导致条数不足时自动补页,摘要如实记录请求页数与重复行数;
6)交付与运维:命令行参数、统一日志、失败重试与重铸上限,产出 CSV / JSONL / 运行摘要 / 原始快照,附 18 项离线单测和一键运行脚本;采集只读公开列表,单线程、0.5 秒间隔。

项目实现

我独立完成需求拆解、协议分析、编码和验收。①协议分析:抓包定位 queryCommodityResult 接口,用对照实验确认站点为瑞数 RS6(202 状态、$_ts 种子、随机外链 VM 脚本),并验证服务端只认首次写出的 provisional 令牌(235 字符),终态 363 字符无效。②令牌铸造:编写 Node 侧窄工件,用 nv8 重建 Edge 运行时原样执行挑战脚本,沿原型链找到 document.cookie 访问器做 setter 钩子,只回传令牌,业务请求与数据全部留在 Python。③工程实现:Python 3.11 + curl_cffi 对齐 TLS 指纹,按 challenge / mint / client / api / collector / storage 分层,解析写成纯函数并配 18 项离线单测。④难点:令牌用一次即失效需每页重铸(约 3 秒)、打包资源字段平铺在顶层需两套解析、分页漂移造成重复,用多维去重加自动补页解决。⑤验收:目标 500 条,实采 500 条(11 页,重复 33 行已去重),标题/价格/地址空值 0,单页 3~4 秒。

示例图片

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

评论