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

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

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%
相似推荐
某公司知识库问答助手
1 客户原有办公平台已经选择了飞书,真实的源文档也是在飞书云文档编辑和管理。使用时间已经很长了。所以我选择了火山viking知识库服务。利用飞书开放平台API获取源文档,调用viking API上传源文档到知识库 2 在源文档较少且对数据私密度要求不高的情况下选择火山引擎viking知识库服务费用比较低廉。等以后沉淀文档较多对数 据私密度要求增高的情况下再考虑自搭建高度定制化的RAG服务 3 考虑到客户是电商行业,产品变动性较大,文档更新迭代较快,产品信息文档 使用文档 故障排查文档以单个产品为维度去 总结,在明道云存放飞书链接。 4 使用sql召回对应产品的文档链接,通过飞书api解读内容,给到大模型作为资料进行回答 5 行政制度报销政策 品牌知识 平台操作手册 产品技术原理等低迭代文档入库viking,使用search knowledge api 召回 6 应用使用redis进行8 天窗口滑动式热门问题缓存以10轮问答为单次会话的上限,新的会话会携带旧会话摘要做3轮问答跟 踪,到第四轮彻底抛弃旧会话摘要 单次会话从第五轮开始压缩历史问答
无-无
1、修改 unity 源码以实现自定义功能,如使其单进程支持多房间、优化场景加载、实现 navmesh 相关自定义功能、实现空中导 航功能等。 2、 局内服务器的性能优化以及定位和修改内存泄漏。 3、 实现 PVP和 PVE 中的 AI ,如搭建 AI 框架、实现局部避障算法、AI 相关业务需求的实现。
某大型仿真-系统
某行业大型综合仿真系统。支持复杂体系建模,高保真物理模型构建,高性能实时推演仿真。为科研,国防,公共管理等领域提供了科学有效的辅助工具。 系统采用微服务架构,支持单机或分布式运行,具有极强强交互体验。
AI机器人客服与秘书
传统QQ机器人依赖关键词匹配+固定回复,交互生硬、缺乏个性。 本项目基于开源项目二次开发,旨在构建一个基于大语言模型的高拟人化AI虚拟角色,深度融合角色人设、上下文记忆、全局情绪系统和多模态能力,实现在QQ群聊中像真人一样插话、斗嘴、撒娇、吐槽——而非冷冰冰的问答机器。同时提供插件化开发框架和Web可视化管理面板,降低二次开发门槛。自用项目服务覆盖多个千人QQ群。
心车享小程序
1.熟悉Java基础,对集合、多线程、锁、面向对象有一定的了解 2.熟练使用IDEA、WebStorm、VS Code、Navicat等开发工具,Maven、Git、svn等版本管理工具 3.熟悉Spring、SpringMvc、MyBatis、SpringBoot框架 4.熟悉HTML、CSS、Ajax、jQuery、Vue2、vue3、Element UI,ant Design,vant等前端技术 5.熟悉MySql相关知识,可以进行一些简单的Sql优化 6.熟悉Redis做缓存、分布式高可用、做分布式锁 7.熟悉SpringCloud分布式框架,了解远程调用、网关、熔断降级、负载均衡的基本使用 8.熟悉RabbitMq消息队列的使用, 9.熟悉WebSocket长连接消息推送 给小程序使用者提供代码支持,下单支持,第三方对接支持报表功能等等
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服