面向农产品批发行情的监测分析系统:真实采集北京新发地市场一整年 17 万条逐日挂牌报价,完成字段归一、去重聚合、链式价格指数、品种与产地对比、波动预警对比实验与数据质量报告,支持 12 个月度原始 CSV 在线下载。第 19 套「报刊账本风」界面,涨红跌绿。
技术栈
Python、Django、Scrapy、pandas、NumPy、ECharts、MySQL
功能模块
- 真实采集:北京新发地公开价格接口,2025-11-01 ~ 2026-10-31 共 170181 条原始报价,12 个月度 CSV 随包并在页面可下载;如实标注为单一市场挂牌批发价,非全国均价/零售价
- 数据工程完整:按月分段分页采集、低频请求、三次重试、断点续跑;字段归一、按(品种, 日期, 产地)聚合去重、IQR 异常检测与采集日志
- 价格指数口径可解释:固定篮子 240 个品种 + 链式日变动截尾均值法,消除春节休市时报价品种从 240 骤减到 83~107 造成的假跌;对比了绝对均价法与中位数法的失效原因
- 季节性结论:春节所在的 2026-02 等权均价最高 15.987,8 月最低 14.429,峰谷差约 10.8%;原始等权均价保留在库供核对
- 预警对比实验:同一份真实序列上并行跑固定 20% 阈值(触发 2055 次、有效率 14.94%)与滚动 14 日 90 分位(触发 8648 次、有效率 8.00%),诚实结论是自适应阈值更灵敏但有效率更低
- 产地口径校正:按同品种内偏离率替代全市场均价基准,避免把「产地卖什么品种」误当成「产地贵多少」;校正前后差异写进论文表 6-3
- 10 个功能页面:行情总览 / 价格指数 / 品种目录与详情 / 品种比价 / 产地价差 / 波动预警 / 数据质量 / 原始数据 / 管理端,ECharts 本地内置离线可用
- 论文实验可复现:全部数字来自 data/analysis/findings.json,重跑 import_prices 自动更新,不会出现论文与系统对不上
运行环境
- 编程语言:Python 3.8 及以上
- 后端框架:Django 4.2
- 数据采集:requests 真实 HTTP 采集 + Scrapy 工程骨架(公开 JSON 接口,低频 + 断点续跑)
- 数据分析:pandas 2.0 / NumPy 1.23
- 数据库:MySQL 8.0(交付默认 SQLite,免安装)
- 可视化:ECharts 5(已内置本地文件,离线可用)
- 数据规模:170181 条原始报价 / 151790 条入库 / 1024 品种 / 358 天
- 操作系统:Windows / macOS / Linux
- 启动方式:双击一键脚本,或 python manage.py runserver 8084
界面截图











文档预览
交付的任务书、开题报告与论文均为 Word 文档,下面是真实页面预览:



交付内容
- 完整源码(Django 工程 + 真实采集脚本 + Scrapy 骨架 + 统计导入命令)
- 12 个月度原始 CSV(真实数据)与演示数据库、findings.json 实验产物
- 毕业设计任务书(Word)
- 毕业设计开题报告(Word)
- 毕业论文(Word,七章制,含口径修正、季节性分析与预警对比实验)
- 系统使用与二次开发说明(Word + md)
- 系统运行截图 11 张