计算机毕业设计-基于python的旅游信息爬取以及数据分析

概要

  随着计算机网络技术的发展,近年来,新的编程语言层出不穷,python语言就是近些年来最为火爆的一门语言,python语言,相对于其他高级语言而言,python有着更加便捷实用的模块以及库,具有语法简单,语句清晰的特点,使得它在代码的编程中,变得更加简洁容易上手,另外,python应用特别广泛,作为是一门应用性广泛的语言,无论是游戏的开发,还是数据的爬取,再到网站的搭建,python都能轻松驾驭,其中,爬虫的应用,更加使得python这门语言为人所知。
作为网络搜索引擎的组成成分之一,爬虫能够有效的为我们搜索和爬取有用的信息,减少人工的操作,十分方便,在自己定义的条件下,采集得到某些网页的信息,比如房价、股票、招聘信息等,对于这些信息,我们可以对数据进行处理,从而得到我们所需要的信息。
本文通过python实现了一个马蜂窝旅游网站的爬虫信息搜集,并对马蜂窝网站中采集得到的数据进行分析处理,得到想要的数据。

关键词: Python Html 爬虫 旅游 马蜂窝

一、研究背景与意义

  随着近些年来网络的快速发展,网络进入了大信息时代,网络上的信息呈现爆炸式的飞涨,五花八门的信息显示,这使得人们在网络上寻找自己所需要的信息时,显得越来越困难,当然,一个问题的出现,必然有一个方法去对应,信息的剧增,与之对应的,便是搜索引擎的出现,比如google、百度等等,搜索引擎通过搜集网络上数以万计的不同类型的网页信息,并为其建立起索引,通过搜索引擎,即使网络上的信息种类繁多,我们还是能够通过关键词的搜索,搜索得出与之对应的信息的网页。
  网络爬虫是一个自动化的程序,也是搜索引擎的组成部分之一,不同的搜索引擎,可以通过不同的搜索需求,选择合适的爬虫方法来搜集网络上的信息,传统网络爬虫主要从一个url开始,通过爬取目标网页的url,观察其组成结构特点,按照结构规律,构建新的url,不停的将新的url放入队列中,循环爬取,最后直到需求完成为止。优秀、高效的爬虫程序,能够使人们网络上找到更加精准的信息。
  本文通过python语言,实现了一个对于马蜂窝旅游网站的信息采集分析,通过对马蜂窝旅游城市的城市编号爬取,根据马蜂窝网站的网址规则,通过拼接得到马蜂窝旅游网站的城市url,根据获取得到的url,进入马蜂窝旅游城市页面,观察页面组成结构,通过标签定位,爬取我们所需要的页面信息,将其保存入本地文件,再对文件里面的数据进行数据处理,可视化分析,告诉你旅游去哪儿好。

二、设计分析

  首先,旅游,我们需要先确定下来一个城市,因此,我们任务要求第一件就是马蜂窝旅游城市中排行前10的热门城市各自为什么,其次,我们需要得到各个城市的景点数据,根据数据分析得出排行前15的热门景点为哪些,最后,爬取与美食相关的信息,得出旅游中最具代表性的美食前15的排行。

1城市编号的获取

  首先,我们爬取旅游信息,肯定是爬取众多城市的旅游信息,不同的城市在马蜂窝旅游网站中的URL是不同的,但是,通过对比我们可以发现,在马蜂窝旅游网站中,所有的城市以及城市景点信息,都是由特定的五位数字或者六位数字组成的,这对于我们爬取不同城市的旅游信息是一个突破口,根据这个数字,我们就能拼接得到不同城市的不同URL地址,得到城市旅游的界面。

2城市信息的爬取

  在获取得到城市编号后,我们就能得到马蜂窝旅游网站的城市的URL地址,通过地址我们就可以进入到城市旅游的界面,这个时候我们就需要考虑,我们应该爬取什么,抓取哪些信息,哪些信息是有用的,能够支持我们爬取信息后数据分析的可信度,在这里,我们是根据马蜂窝旅游网站里面 不同城市的游记的数量、印象的标签数、特色美食的排行、购物娱乐的排行等等来得出的信息。

3爬取信息的处理

  在我们得到城市的具体旅游信息后,最后就是数据的可视化处理,首先,我
需要将马蜂窝旅游网站中游记前10的热门城市、前15的景点标签类热门城市、前15的的餐饮标签热门城市、前15的娱乐购物标签类热门城市可视化处理,采用柱状图显示。接着,我们对景点人气前15的城市景点、餐饮人气前15的城市美食、娱乐购物人气前15的城市娱乐可视化处理,采用的也是柱状图显示。最后,我们对热门城市前20的热门城市进行热力图显示,这就是全部的信息处理可视化了。
在这里插入图片描述

图3.3 程序流程图

三、项目的实现

  

1 可视化图片展示

在这里插入图片描述

图 4.4.1 马蜂窝全国旅游游记TOP10
在这里插入图片描述

图 4.4.2 马蜂窝全国旅游景点类标签TOP15
在这里插入图片描述

图 4.4.3 马蜂窝全国旅游餐饮类标签TOP15

在这里插入图片描述

图 4.4.4 马蜂窝全国旅游购物娱乐类标签TOP15
在这里插入图片描述

图 4.4.5 马蜂窝全国旅游景点人气排名TOP15

在这里插入图片描述

图 4.4.6 马蜂窝全国旅游餐饮人气排名TOP15
在这里插入图片描述

图 4.4.7 马蜂窝全国旅游娱乐购物人气排名TOP15

在这里插入图片描述

图 4.4.8 马蜂窝全国旅游热力图TOP30

  通过可视化图片我们可以知道,在马蜂窝旅游中,呼伦贝尔是最多人去旅游的地方,呼伦贝尔经常被我们称之为大草原,呼伦贝尔位于内蒙古地区,在热力图显示中,我们看可以清楚的看到中国的北部地区有较深颜色的显示,呼伦贝尔也是一个避暑胜地,在夏天的季节,那儿的天气确实十分凉爽,十分适宜人们旅游避暑,骑着马儿欣赏大草原的风光。北京作为首都,当然也是很多人旅游的圣地,拥有众多的旅游景点,故宫、长城、颐和园等等,都是著名的世界遗产,想一睹中华民族辉煌历史的,北京是个不错的旅游地点。
  接着,我们再来介绍下厦门这座旅游城市从数据中我们可以看到,景点类的城市最多人去的是厦门,餐饮类的城市最多人去的也是厦门,可见厦门也是许多人心目中的旅游胜地,首先是厦门的位置,厦门位于沿海地区,所以这里冬天天气温和,夏天没有酷暑,这对于旅游来说就是一个很不错的条件,不过由于沿海地区,大家旅游的时候,记得避开夏天的台风天气,其次,沿海的风景,十分令人向往,对于内陆地区人们没有到海边玩过的人,这也是一个很大的吸引点,接着,就是美食了,经济发展到现在,人们生活水平提高的同时,对于吃的要求也越来越高,不仅要吃的饱,还得吃得好,而恰恰好厦门的美食数不胜数,在餐饮TOP15的数据中我们就可以发现,厦门的美食就独占其六,沙茶面、海蛎煎、土笋冻、花生汤等等,无一不诱惑着吃货们的味蕾,最后就是价格方面了,厦门的旅游价格还是较低的,对比之前的呼伦贝尔大草原以及北京来说,厦门属于实惠的旅游地点。
  在娱乐标签这快,丽江是最多人旅游的地方,小桥流水人家的风景以及白雪皑皑的玉龙雪山,都是很不错的旅游地点,但是由于近年来丽江酒吧女的事件,导致丽江旅游名声有了污点,所以丽江旅游时候,要辩真假,火眼金睛分清楚酒吧套路,别中招了。
最后,根据热力图的显示,我们可以清楚的看出南方地区以及沿海地区都是比较热门的旅游地点,看来还是很多人喜欢南方的美食,宜人的天气气候以及沿海的风光啊,根据这些数据,你有没有得出你想要去旅游的地方呢?

四、总结

  通过这次毕业设计,我又一次的感受到了python这门编程语言的魅力所在,它简单易懂的代码以及丰富的库给我留下了深刻的印象,让简单的操作能够发挥出复杂的作用,让人爱不释手。当然,在毕业设计实现的过程中,也遇到过很多的困难,有时候在寻找页面规则的时候,往往卡在那里好久,久久没有进展,让人无从下手,大大的减缓了毕业设计完成进度,这个时候,我的同学以及导师吴瑞然老师都会帮我指明方向,同学之间的互相讨论,不同的人有不同的思考方式,拥有不同的看法意见,大多时候能够帮助我换种方法去实现目的,让我受益匪浅。吴瑞然老师则会引导我如何去思考和解决这个困难,在这里我要感谢吴瑞然老师对我的帮助,感谢老师给予的资料参考以及建议。
  这次的毕业设计也让我学到了很多之前不懂的知识,比如python库的运用,有些库是我第一次使用,让我的代码知识储量又一次增加了,也培养了我独立完成任务的能力,树立了自己的自信心。相信自己在以后的编程道路上,能够披荆斩棘,走得更远,学的更多。

六、 目录

目录
中文摘要 1
Abstract 2
第一章 绪论 4
1.1 课题研究背景及意义 4
1.2 国内外研究现状 5
1.3 研究内容 6
1.4 论文结构 6
第二章 深度学习的基本理论 8
2.1 神经元的数学模型 8
2.2 多层前向神经网络 9
2.3深度神经网络 10
2.4 神经网络的学习方式 11
第三章 验证码图像处理技术 12
3.1 图像预处理 12
3.2 字符定位和分割 13
第四章 卷积神经网络的设计与实现 16
4.1 网络结构 16
4.2 网络初始化 19
4.3 误差反向传播 21
4.3.1 全连接层的反向传播 22
4.3.2 池化层的反向传播 23
4.3.3卷积层的反向传播 24
第五章 网络性能分析 25
5.1 参数的选择 25
5.2 识别结果 25
5.3 隐层神经元数量对网络性能的影响 26
5.4 学习率对网络性能的影响 28
第六章 总结 30
6.1 工作总结 30
6.2 不足与展望 30
参考文献 32
致谢 35

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/471106.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

diffusion model(十四): prompt-to-prompt 深度剖析

infopaperPrompt-to-Prompt Image Editing with Cross Attention Controlgithubhttps://github.com/google/prompt-to-promptOrg:Google Research个人复现https://github.com/myhz0606/diffusion_learning个人博客主页http://myhz0606.com/article/p2p 1 前言 基于扩散模型&a…

LightGBM:更好更快地用于工业实践集成学习算法

AI预测相关目录 AI预测流程,包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

教务管理系统(java+mysql+jdbc+Druid+三层架构)

1、项目要求 1.1数据库表描述 设计一个教务管理系统,要求如下: 系统涉及的表有 account表(账号表) teacher表(教师表) student表(学生表) course表 (课程表) score表(成…

2022年安徽省职业院校技能大赛 (高职组)“云计算”赛项样卷

#需要资源或有问题的,可私博主!!! #需要资源或有问题的,可私博主!!! #需要资源或有问题的,可私博主!!! 第一场次:私有云(5…

Redis高阶使用消息队列分布式锁排行榜等

一、前言 在大多数传统的web系统中,使用Redis一般都是作为缓存使用,在大数据查询时作为缓解性能的一种解决方案。博主的的系统中使用Redis也主要使用到缓存的作用,还有做了注册中心,分布式事务。其他的强大的功能,没有…

【HMM】Hidden Markov Model

文章目录 1 HMM 的概念1.1 引入1.1.1 Markov property1.1.2 Markov chain1.1.3 一阶离散马尔可夫模型 1.2 HMM 的定义1.3 观测序列的生成过程1.4 HMM 的 3 个基本问题 2 三个基本问题的解法2.1 概率计算算法2.1.1 直接计算法2.1.2 向前算法2.1.3 向后算法2.1.4 一些概率与期望值…

localhost与127.0.0.1的区别 竟然还有人不知道?

localhost和127.0.0.1有什么区别?   很多用户都有接触过回送地址127.0.0.1用来测试一些数据,localhost在严格意义上来说是一个本地的服务器,编程用户或许更了解localhost的存在意义。   大多数使用localhost的编程工作者,实际…

java.lang.NoSuchFieldError: ASSIGN_ID

一、写在前面 很多时候我们都会遇到这个异常,我的场景是与mybatis有关,若看客不是此类情形,仅做参考即可。 二、异常提示 Caused by: java.lang.NoSuchFieldError: ASSIGN_IDat com.baomidou.mybatisplus.core.config.GlobalConfig$DbConf…

基于cifar-10的图像分类

一、 背景 CIFAR-10 数据集由 10 类中的 60000 张 32x32 彩色图像组成,每类 6000 张图像。有 50000 张训练图像和 10000 张测试图像。数据集分为五个训练批次和一个测试批次,每个批次有 10000 张图像。测试批次包含来自每个类的 1000 个随机选择的图像。…

国创证券|新手建议不要买哪些股票?新手股票避雷!

出资者在进行股票生意之前,对股票的选择也是一种很重要的环节,特别是对于新手出资者来说,很简单踩雷。那么新手主张不要买哪些股票?下面就由国创证券为我们分析: 新手主张不要买哪些股票? 1、业绩差的股票…

[LeetCode][LCR170]交易逆序对的总数

题目 LCR 170. 交易逆序对的总数 在股票交易中,如果前一天的股价高于后一天的股价,则可以认为存在一个「交易逆序对」。请设计一个程序,输入一段时间内的股票交易记录 record,返回其中存在的「交易逆序对」总数。 示例 1&#xf…

ABAQUS应用05——将开发好的Python封装起来供后续开发调用

闲话不多说,把写好的py文档放置在这里调用即可。 放置进来以后,会自动形成同名的pyc文件。有意思的是,此时将py文件和pyc文件删掉都不会影响建模,但是关掉ABAQUS再打开就会找不到。不过我想如果保留pyc文件的话应该不成问题。当…

AI - 机器学习GBDT算法

目录 GBDT 提升树 梯度提升树 GBDT算法实战案例 XGBoost 😆😆😆感谢大家的观看😆😆 GBDT 梯度提升决策树(Gradient Boosting Decision Tree),是一种集成学习的算法&…

web前端之多种方式实现switch滑块功能、动态设置css变量、after伪元素、选择器、has伪类

MENU 效果图htmlcsshtmlcssJS 效果图 htmlcss html <div class"s"><input type"checkbox" id"si" class"si"><label for"si" class"sl"></label> </div>style * {margin: 0;pad…

vue-admin-template极简的 vue admin 管理后台的动态路由实现方法

项目源码地址&#xff1a;GitHub - PanJiaChen/vue-admin-template: a vue2.0 minimal admin template 注意&#xff1a;项目中的路由均写在 src\router\index.js 中&#xff0c;其中默认包含 constantRoutes 数组&#xff0c;这是固定路由&#xff0c;无论用户是什么角色&…

基于PostgreSQL的无代码数据库Teable

什么是 Teable &#xff1f; Teable 是一个基于 Postgres 构建的超快速、实时、专业、开发人员友好的无代码数据库。它使用简单的、类似电子表格的界面来创建复杂的企业级数据库应用程序。通过无代码解锁高效的应用程序开发&#xff0c;摆脱数据安全性和可扩展性的障碍。 下面&…

JAVA EE (计算机是如何工作的)

学前注意事项 出去面试的时候java岗位不需要懂前端&#xff08;会少量讲解&#xff09; 但是我们做项目的时候多少回用到一些前端的东西 1.什么是计算机 1.1前情提要 不仅仅只有电脑是计算机 计算机还不仅仅是电脑手机和平板 路由器 智能洗衣机 刷脸打卡机都可以说是计算…

【机器学习-06】线性回归(LinearRegression)的手动建模实验

在此前的两节课程中&#xff0c;我们已经介绍了关于线性回归模型的基本概念&#xff0c;并且介绍了一个多元线性回归的损失函数求解方法——最小二乘法。在有了这一些列理论推导之后&#xff0c;本节我们将结合【机器学习-01】机器学习一般建模流程&#xff0c;并首先尝试在一个…

2024.3.9|第十五届蓝桥杯模拟赛(第三期)

2024.3.9|十五届蓝桥杯模拟赛&#xff08;第三期&#xff09; 第一题 第二题 第三题 第四题 第五题 第六题 第七题 第八题 第九题 第十题 心有猛虎&#xff0c;细嗅蔷薇。你好朋友&#xff0c;这里是锅巴的C\C学习笔记&#xff0c;常言道&#xff0c;不积跬步无以至千里&…

ubuntu20.04_PX4_1.13

说在前面&#xff1a;&#xff08;最好找一个干净的Ubuntu系统&#xff09;如果配置环境的过程中出现很多编译的错误或者依赖冲突&#xff0c;还是建议新建一个虚拟机&#xff0c;或者重装Ubuntu系统&#xff0c;这样会避免很多麻烦&#x1f490; &#xff0c; 安装PX4 1.13.2 …