【1】系统介绍
① 背景介绍
随着我国旅游业的不断发展,旅游也成为人们的一大需要,从国内旅游情况分析:2019年国内旅游人数达到60.06亿人次,同比增长8.4%。其中城镇居民旅游人数为44.71亿人次,增长8.5%,农村居民旅游人数为15.35亿人次,增长8.1%。随着我国疫情防控形势已经趋于缓和,人们出游的欲望也越来越高,人们在出游前对目的地、人均消费等情况进行详细的了解,将有利于游客更好的规划自己的旅游时间与路线,进而获得更好的旅游体验,更好的享受旅游的乐趣。
本设计通过对旅游数据的分析,通过对人们出游方式、出游时间和目的地等情况的分析,将数据以可视化图表形式呈现在用户面前。
对于游客来说,可以更直观的看到旅游的数据,可以得到什么地方值得旅游,人们普遍选择的出行方式,什么时候出游合适,不同地方的人均消费是多少等信息。游客可根据这些信息对目的地、出游时间和出行方式等进行更好的选择。可以使游客获得更好的旅游体验。
对于旅游从业者和经营者来说,通过大数据进行可视化分析,能得到很多宝贵的有用的信息,比如说淡旺季时间,人员比例,交通方式,消费能力等等。通过大数据的分析,作为旅游从业者以及经营者,都会更直观的了解、预测到行业发展的趋势,以及景区的运营,长处,不足等情况。旅游从业者和经营者通过对这些数据的分析,可以更好的对景区的运行做出调整,不仅有利于更好的满足游客的旅游需求,也有利于景区更好的经营。
本设计主要从网站进行数据的爬取、清洗,然后将其放入HDFS
可以降低MySQL的负荷。对爬取的数据进行可视化分析,从人均费用、出游方式、目的地、出游时间等方面分析人们的出行特征,以及这些地方的人均消费。方便人们根据上述数据对出游进行合理规划。
采用spark进行图表可视化分析计算与推荐计算,将计算的结果存储在MySQL中以提高页面的响应时间。
具体实验步骤如下:
-
- Hadoop环境搭建
-
- Java进行数据采集与预处理,爬取数据存于HDFS中
-
- Spark进行推荐计算,并准备采取基于游记的协同过滤推荐算法进行旅游推荐
-
- SpringBoot搭建后台
-
- MySQL进行数据存储与管理
-
- 通过Thymeleaf技术,结合SpingBoot框架以及MyBatis,将数据库里的内容展示到网页端并可视化展示与分析
-
- 测试系统功能
② 技术与环境
数据库:MySQL8
数据库操作:Navicat12
包依赖管理:maven3.6
后端开发环境:idea2021 jdk1.8
后端框架:springboot+mybatis+mybatisplus+Hadoop+spark
页面部分是 thymeleaf+vue.js+html5+js+css+layui
图表可视化:echarts
爬虫:selenium+Chromedriver+jsoup
【2】系统功能
本平台有两种使用人群:一个是管理员,另一个是用户。
管理员可以对平台上发布的诸多信息进行编辑和管理;用户在未登录的情况下可以实现旅行攻略的搜索、阅读,在注册登录后可以完成攻略的点赞、收藏等功能。
旅游出行分析推荐平台在设计实现时选取了Spring Boot框架,能够极大的减少开发人员的代码工作量,提高开发效率,项目实现是使用IDEA编译器的。
-
重要功能一是抓取旅游出行攻略信息对其进行分析以图表方式呈现。抓取旅游出行攻略信息有目的地Top10人均费用、出游方式占比、目的地Top10次数、出游天数统计、出游玩法统计、出游月份统计。
-
重要功能二是推荐功能,在推荐功能实现阶段,该平台设计了游记点赞、评论、收藏等功能,通过记录用户的行为,利用协同过滤算法为用户进行旅游游记推荐,以达到更好的满足用户需求的目的。
系统功能结构图
整体有如下功能模块:
- 景点检索与查看:可以浏览景点、查看详情、进行留言评论
- 攻略检索与查看:用户可以根据如下标签检索并查看信息。用户可以浏览攻略列表、查看攻略详情
- 攻略收藏与点赞、评论:用户注册登录后可以对信息进行收藏、点赞、评论
- 个人信息:用户可修改个人信息
- 图表可视化:使用spark对用户出行分析,得到可视化图表
- 用户管理:管理用户数据
- 攻略管理:对旅游信息进行管理(增删改查),可爬虫抓取旅游信息
- 景点管理:对景点信息进行管理(增删改查),可爬虫抓取景点信息
- 用户评论:管理用户评论数据,查看、删除
- 用户收藏:管理用户收藏数据,查看、删除
- 用户点赞:管理用户点赞数据,查看、删除
- 猜你喜欢:基于spark的计算结果给用户推荐喜欢的景点
【3】系统实现
① 前台首页
如下所示主要有最热出行、最新攻略、猜你喜欢和青春在路上版块。
② 旅行推荐
用户可以根据如下标签检索并查看信息。如果本地数据库没有数据,那么尝试从http://travel.qunar.com/travelbook/list.htm抓取。
③ 游记攻略详情
可以查看攻略详情并进行收藏、点赞、评论。
④ 热门景点
可以检索景点并查看景点详情、进行留言评论操作。
⑤ 出行分析可视化
⑥ 攻略收藏
用户可以收藏游记攻略并可以进行收藏管理。
⑦ 游记管理
如下所示可以对游记进行管理并可以爬虫将游记攻略详情保存到HDFS中。
⑧ 景点管理
如下所示可以对景点进行管理并可以爬虫。
其他管理模块不再赘述。