程序聚合 软件案例 多源数据采集与智能分析系统-可定制化数据采集与可视化平台

多源数据采集与智能分析系统-可定制化数据采集与可视化平台

2026-04-21 15:45:24
行业:大数据、政务服务
载体:爬虫/脚本、Windows应用
技术:PyAutoGUI、SQLite、Scrapy、Selenium WebDriver

业务和功能介绍

1. 立项背景和目标
在日常数据分析与信息监测工作中,多个垂直领域的数据(如城市交通拥堵指数、在线编程题库、政府公共资源交易公告)分散在不同平台,手工收集效率低下且难以持续。本项目旨在构建一套可扩展的多源数据采集与可视化分析系统,实现自动化抓取、结构化存储与图表化展示,为交通研究、求职备考、招投标监测等场景提供数据支撑。

2. 软件功能、核心功能模块的介绍
系统包含三大模块:

交通拥堵监测模块:通过高德地图公开API实时获取全国城市拥堵排名、拥堵延迟指数、周环比变化及畅通速度,并利用PyEcharts生成交互式柱状图,直观展示前十名城市的多维指标对比。

题库采集模块:针对牛客网平台,分别爬取“专项练习”“笔试真题”“面试真题”“在线编程”四类题目。支持按知识点ID筛选、设置试卷数量、去重存储,并获取在线编程题的高分Python3代码作为参考。

公共资源交易模块:对接广东省和福建省公共资源交易平台,支持按公告类型(工程建设/政府采购)、页数等参数筛选,破解AES加密响应,提取公告标题、发布时间、来源、公告内容等关键字段,并清洗HTML为纯文本。

3. 业务流程、功能路径描述
用户通过修改脚本头部的配置参数(如爬取页数、题目数量、知识点ID、筛选类型等)即可启动对应模块。爬虫自动请求目标接口,解析JSON或HTML响应,处理反爬机制(签名、加密),提取所需字段,最终输出为JSON或TXT文件。交通模块额外生成HTML图表,可直接在浏览器中交互查看。

项目实现

1. 整体架构和设计思路,不同模块使用的技术栈
项目采用模块化脚本架构,每个功能独立为一个Python文件,便于维护和扩展。

网络请求层:统一使用Requests库,针对不同站点定制Headers(含Cookie、Referer、User-Agent)。

反反爬层:对福建省平台实现AES-CBC解密(pycryptodome)及自定义MD5签名生成;对牛客网使用动态时间戳参数。

解析层:JSON数据直接解析;HTML页面使用BeautifulSoup提取题目、样本、模板代码等。

可视化层:PyEcharts绘制柱状图,配置轴标签、图例、数据标签,支持Jupyter Notebook内嵌展示。

数据存储:采用JSON格式保留结构化数据(题库),TXT格式保存招投标公告(便于检索),支持追加写入和去重逻辑。

2. “我”的负责模块和结果(尽可能量化)
我独立完成了所有模块的开发与调优:

交通模块:成功爬取高德API实时数据,生成全国拥堵榜单柱状图,数据更新延迟小于5秒。

题库模块:支持22道在线编程题的高分代码获取(每道题前3名),累计爬取专项练习知识点42个、笔面试真题各10套,去重后题目数量超过300道。

招投标模块:实现广东省平台自动翻页(最大10页,每页10条),福建省平台AES解密成功率100%,累计采集有效公告200余条。

3. “我”遇到的难点、坑,和解决方案

难点1(福建省平台AES加密):响应数据被AES-CBC加密且带PKCS7填充。通过逆向前端JS,找到密钥EB444973714E4A40876CE66BE45D5930和IVB5A8904209931867,编写解密函数,成功还原JSON。

难点2(牛客网在线编程题动态内容):题目描述被隐藏在绝对定位的
中,常规选择器无法获取。改用BeautifulSoup查找style属性包含position:absolute的容器,提取完整HTML后移除干扰元素。

难点3(大规模题库去重):不同试卷可能包含相同题目。引入全局set存储uuid,在添加每道题前校验,避免重复存储,最终去重率达15%。

难点4(签名生成逻辑):福建省接口要求参数按key排序后拼接密钥再MD5。通过抓包比对,实现精确复现,并通过portal-sign头传递,解决鉴权问题。


示例图片视频


一嘎
30天前活跃
方向: 后端-Python、爬虫/脚本-爬虫/脚本、
交付率:100.00%
相似推荐
saas平台
1.现在旅游和教培行业发展潮流,自研saas软件,区分租户及权限,方便用户使用 2.功能:系统用户,租户,票务模块,OA模块,分销模块,商管模块,财务模块 3.根据租户分配不同菜单权限,可以根据购买套餐,使用不能的模块功能
出海电商搜索引擎
1. 从零开始搭建了 Feeds流、搜索、类目分类等系统; 2. Feeds 流系统达到了5W+ DAU - 业务指标:六个月内用户平均浏览视频数量从20提升到40,商详点击率从 0.8%提升至 1.3% 3. 搜索系统达到了4000+ DAU - 业务指标:整体点击率六个月内从120%提升至250%,0结果率三个月内从20%降低到5%
有游戏关卡机制的记单词微信小程序-熊猫记单词
1,早年做过游戏开发,也玩过不少游戏,一直想把游戏里黏人的机制复刻到学习工具里,游戏黏人的机制其中之一就是“压力-释放同时建立新压力-驱动循环”最典型的就是“关卡机制”;另外,单词助记内容对牢固记单词有帮助,以及单词复习规律需符合艾宾浩斯遗忘曲线,这些都可以作为学习工具的功能。 2,小程序核心关卡系统,用户将购买到的词库里的单词灌入关卡系统,系统每天根据艾宾浩斯记忆遗忘曲规律指定的学习(复习)计划,产生一些待学习(复习)单词构成的关卡,用户进入关卡闯关是要先默写单词的(每关3~8个单词),一关单词默写结束提交后如果有错误,则这个单词会增加复习次数,并且将已有的复习计划都提前,并且自动进入学习单词的页面去学习,学习内容除了单词信息外还有助记内容。
大功率变频器参数管理上位机软件
1,客户的变频器应用在各机场,有7大类300多个参数,工程师使用原始的手持式数显配置器,工作起来很麻烦,效率低、不防呆;客户希望有一个上位机程序方便实时配置参数,且可以把成套配置保存为模板,需要时能够成套灌入变频器,还希望能够实时监控一些参数的变化,以及监控故障并根据故障等级给出详细的解决方案;记录所有操作并提供一些分析工具进行分析。 2,主要三大块:1,参数设置,实时读取下位机(变频器)所有参数,允许实时设置,改变下位机(变频器)运行状态;或配置到文件,整体下发到下位机(变频器);2,监控:波形图显示指定通道变频器参数变化,可以多通道(参数);以及实时故障监控;3,参数历史:监控所有操作留档,并提供多种多维度分析工具。
EMS行业Mes系统
1,本系统上游对接企业(EMS工厂)的ERP,(定时任务)实时获取(拉取)到工单、产品(待生产)、BOM、物料等数据;针对产品工艺特点制作工艺流程(途程)后,将工艺流程实例化给工单,工单里生产的每一片PCBA的每一道工序(实际对应车间站点)都实时记录,尤其是一些测试工艺,会根据实际测试结果决定PCBA的下一道工艺是维修、报废还是继续下一阶段生产。这些实时记录的过站数据汇总后得到看板、报表数据,以及报工数据反馈给ERP。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服