Python+Flask构建重庆旅游景点数据分析系统实战
1. 项目概述重庆旅游景点数据分析系统去年夏天我接了个重庆本地旅行社的需求他们想通过数据手段了解各景点的实时热度、游客评价和交通状况。于是我用PythonFlask搭建了这个旅游景点数据分析系统核心功能包括爬虫数据采集、清洗存储、可视化展示三大模块。这个项目特别适合想学习Web数据分析全流程的Python开发者尤其是掌握基础语法后想实战Flask框架的朋友。系统从携程、美团等平台抓取重庆30热门景点的票价、评论、周边酒店等数据经过清洗后存入MySQL最后用ECharts生成动态图表。整个过程涉及Requests爬虫、Pandas数据处理、Flask路由设计等关键技术点下面我会详细拆解各模块的实现逻辑和踩坑经验。2. 核心架构设计2.1 技术栈选型理由Flask框架相比Django更轻量适合快速开发数据API路由定义仅需30行代码MySQL 8.0支持JSON字段存储爬取的原始数据方便后续扩展分析维度ECharts.js百度开源的动态图表库配合Pyecharts可生成热力图等复杂可视化Requests-HTML比Scrapy更简单的爬虫方案内置XPath和异步请求支持注意重庆景点数据有较强的地域特征需特别关注洪崖洞、长江索道等网红景点的数据波动2.2 系统流程图解数据流爬虫 → 数据清洗 → MySQL → Flask API → 前端展示 ↑____________定时任务___________↓3. 爬虫模块实现细节3.1 多平台数据抓取用Requests-HTML同时采集三个平台数据from requests_html import HTMLSession def crawl_ctrip(): session HTMLSession() url https://you.ctrip.com/sight/chongqing158.html r session.get(url, headersrandom_headers()) # 使用XPath提取景点评分 rating r.html.xpath(//div[classcommentScore]/span/text())[0] return float(rating.replace(分, ))关键参数说明random_headers()包含随机User-Agent的反反爬函数重庆景点页面的特殊处理需要模拟滑动验证码后续会讲破解方案3.2 数据清洗技巧原始数据常见问题点评中的重庆方言如巴适得板→5星票价包含季节性浮动冬季武隆景区有折扣GPS坐标有多种格式高德/百度/腾讯坐标系清洗代码示例def clean_price(text): # 处理¥198起这类字符串 return float(re.search(r¥(\d), text).group(1)) def convert_gps(gd_lat, gd_lng): # 高德坐标转百度坐标重庆地图专用 x_pi 3.14159265358979324 * 3000.0 / 180.0 x float(gd_lng) - 0.0065 y float(gd_lat) - 0.006 # ...省略坐标转换公式... return bd_lat, bd_lng4. Flask后端开发实录4.1 路由设计要点app.route(/api/scenic/int:id) def get_scenic_data(id): # 加入缓存机制应对重庆旅游旺季的高并发 cache_key fscenic_{id} data cache.get(cache_key) if not data: data db.query_scenic_by_id(id) cache.set(cache_key, data, timeout3600) return jsonify(data)性能优化技巧使用Redis缓存热门景点数据洪崖洞的QPS可达200针对磁器口等古镇类景点采用分页加载评论数据4.2 数据库模型class ScenicSpot(db.Model): __tablename__ chongqing_scenic id db.Column(db.Integer, primary_keyTrue) name db.Column(db.String(80), uniqueTrue) # 景点名称 heat_index db.Column(db.Float) # 热度指数 raw_data db.Column(db.JSON) # 原始爬虫数据 def __repr__(self): return f景点 {self.name}5. 可视化前端开发5.1 ECharts配置技巧重庆景点热力图配置示例option { tooltip: { formatter: function(params) { // 重庆方言特色提示框 return params.name 安逸指数 params.value[2] } }, visualMap: { pieces: [{ min: 0, max: 3, label: 人少, color: #50a3ba },{ min: 3, max: 6, label: 适中, color: #eac736 }] } }5.2 重庆特色数据展示网红景点打卡时段分析洪崖洞最佳拍摄时间在19:00-21:00轨道交通关联度显示各景点最近的地铁站重庆地形特殊需标注海拔方言词云图从评论中提取巴适、要得等特色词汇6. 部署与运维经验6.1 重庆服务器选择推荐腾讯云重庆机房延迟5ms注意备份策略每日凌晨3点自动备份避开旅游平台数据更新时段6.2 常见问题排查爬虫被封IP解决方案使用重庆本地ADSL拨号代理池验证方法ping you.ctrip.com -t观察延迟波动坐标偏移问题# 重庆地图纠偏参数与其他城市不同 CQ_OFFSET (0.0032, 0.0041)方言处理异常建立重庆方言词库{巴适:5, 麻麻鱼:2}7. 项目扩展方向实时人流预测接入重庆轨道交通API预测景点拥挤度旅游路线推荐基于游客停留时间生成个性化路线考虑山城地形方言情感分析专门处理霸道、不摆了等特色评价词我在项目上线后发现个有趣现象工作日的长江索道热度反而高于周末因为本地人通勤也会使用。这提醒我们做旅游数据分析时不能简单套用其他城市的模型。

相关新闻

Vite构建工具配置详解与性能优化实践

Vite构建工具配置详解与性能优化实践

1. Vite构建工具的核心价值解析作为新一代前端构建工具,Vite凭借其原生ES模块支持和闪电般的冷启动速度,正在快速改变前端开发体验。与传统构建工具相比,Vite在开发环境下直接利用浏览器原生ESM能力,省去了打包环节;生…

2026/8/11 7:14:26 阅读更多 →
碳化硅半导体:特性、应用与产业化挑战

碳化硅半导体:特性、应用与产业化挑战

1. 碳化硅半导体为何成为行业新宠2008年,当我第一次在实验室接触碳化硅晶圆时,手指不小心被边缘划破——这个看似不起眼的小伤口,却让我深刻记住了这种材料的硬度特性。如今十五年过去,碳化硅(SiC)已从实验…

2026/8/11 7:13:44 阅读更多 →
CTF竞赛入门:赛制解析与实战学习路线

CTF竞赛入门:赛制解析与实战学习路线

1. CTF竞赛入门指南:从零开始的夺旗之旅第一次听说CTF(Capture The Flag)时,我误以为这是某种真人CS游戏。直到2016年参加校内选拔赛,才真正理解这项结合密码学、逆向工程、Web渗透等技术的网络安全竞赛。作为过来人&a…

2026/8/11 7:09:38 阅读更多 →

最新新闻

如何5分钟实现Unity游戏实时翻译:XUnity.AutoTranslator终极指南

如何5分钟实现Unity游戏实时翻译:XUnity.AutoTranslator终极指南

如何5分钟实现Unity游戏实时翻译:XUnity.AutoTranslator终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语游戏中的剧情对话和复杂菜单而困扰吗?XUnity.AutoTrans…

2026/8/11 7:30:35 阅读更多 →
Nextflow工作流管理系统:从核心概念到实战应用

Nextflow工作流管理系统:从核心概念到实战应用

1. 项目概述:为什么我们需要Nextflow?如果你在生物信息学、数据科学或者任何涉及复杂计算流程的领域工作过,大概率经历过这样的场景:一个分析项目,从原始数据到最终结果,需要串联十几个甚至几十个工具。你写…

2026/8/11 7:30:35 阅读更多 →
GROOPS安装指南:从依赖配置到源码编译的完整实践

GROOPS安装指南:从依赖配置到源码编译的完整实践

1. 项目概述:为什么选择GROOPS?如果你正在处理卫星重力、GNSS数据处理或者地球物理反演相关的工作,那么“GROOPS”这个名字对你来说应该不陌生。它不是一个大众软件,但在专业圈子里,尤其是在大地测量学和地球物理学领域…

2026/8/11 7:30:35 阅读更多 →
百度网盘提取码智能获取工具终极指南:3分钟快速破解加密资源

百度网盘提取码智能获取工具终极指南:3分钟快速破解加密资源

百度网盘提取码智能获取工具终极指南:3分钟快速破解加密资源 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘加密资源而烦恼吗&#xff1…

2026/8/11 7:30:35 阅读更多 →
Claude Code Auto Mode 转正了,但我更想聊聊它没解决的那个问题

Claude Code Auto Mode 转正了,但我更想聊聊它没解决的那个问题

Anthropic 2026 Agentic Coding Trends Report 出来的时候,我翻了好几遍。几个数据确实猛:用 AI 编程工具后开发者每天多合并 67% 的 PR,AI 协助编写的代码占新代码的 30-50%,典型任务效率提升 2-5 倍。报告原文说"手写代码从…

2026/8/11 7:30:35 阅读更多 →
DGX Spark上部署PyTorch GPU版的优化指南

DGX Spark上部署PyTorch GPU版的优化指南

1. 为什么要在DGX Spark上部署PyTorch GPU版本? DGX Spark作为NVIDIA专为AI工作负载优化的服务器平台,搭载了多块Tesla级GPU和高速NVLink互连架构。在Ubuntu 22.04 LTS系统上配置CUDA 13.0环境运行PyTorch GPU版本,能充分发挥硬件性能优势。根…

2026/8/11 7:29:35 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →