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

news2024/11/27 11:31:40

概要

  随着计算机网络技术的发展,近年来,新的编程语言层出不穷,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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

彻底学会系列:一、机器学习之梯度下降(2)

1 梯度具体是怎么下降的? ∂ J ( θ ) ∂ θ \frac{\partial J (\theta )}{\partial \theta} ∂θ∂J(θ)​(损失函数:用来衡量模型预测值与真实值之间差异的函数) 对损失函数求导,与学习率相乘,按梯度反方…

mabatis 下

mybatis 原生的API&注解的方式MyBatis-原生的API调用快速入门需求快速入门代码实现 MyBatis-注解的方式操作快速入门需求快速入门代码实现注意事项和说明 mybatis-config.xml配置文件详解说明properties属性settings全局参数定义typeAliases别名处理器typeHandlers类型处理…

长安链团队论文入选国际顶会Usenix Security 2024

零知识证明是区块链扩容和隐私保护的关键前沿技术,其天然具备完备性、可靠性和零知识性的特点,是提升区块链交易吞吐量与可扩展性、在验证用户身份的同时保护用户数据隐私,实现复杂计算不可或缺的关键技术。基于零知识证明技术实现高兼容性、…

C++ 组合 委托 继承 组合使用

关于组合和委托看C中的组合,委托和继承 - 知乎 (zhihu.com) 继承和组合关系下的构造和析构 ​ 还有一种情况 ​ 构造函数由内到外,析构由外到内。 委托和继承关系组合 设计模式-观察者模式(Observer) ​ 如下图左边&#x…

稀碎从零算法笔记Day22-LeetCode:

题型:链表 链接:2. 两数相加 - 力扣(LeetCode) 来源:Leet 题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 …

MySQL表的增删改查(基础版本)

MySQL的增删改查也就是CRUD CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。 1.新增 1.1 语法: INSERT [INTO] table_name [(column [, column] ...)] VALUES (value_list) [, (value_list)] ... value_list: value, [,…

【C语言】遍历目录树

在 Linux 环境下,如果编写程序且需要通过函数接口来遍历目录树,可以考虑使用以下几个常用的调用: 1. opendir() / readdir() / closedir(): 这是 POSIX 标准定义的函数,用于遍历目录。opendir() 用于打开一个目录&…

【C语言】access和stat函数

access 在C语言中&#xff0c;access 函数是一个用于检查文件的存在性以及对文件的访问权限的函数。它定义在 <unistd.h> 头文件中&#xff0c;通常在 Unix 系统中可用。这个函数可以用来验证当前用户是否有权访问指定的文件&#xff0c;以及这些权限的类型。 access 函…

express+mysql+vue,从零搭建一个商城管理系统16--收货地址(全国省市县名称和code列表)

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、新建config/area.js二、新建models/address.js三、新建dao/address.js四、新建routes/address.js五、添加地址六、查询用户地址列表总结 前言 需求&#xff1a;主要学习express&#xff0c;所以先写serv…

微积分基础概念和在AI中的应用

基本概念 微积分是数学中的一个主要分支&#xff0c;专注于研究函数、极限、导数、积分等的理论。它是现代科学和工程中不可或缺的基础工具&#xff0c;尤其在处理变化率和累积量的问题时显得尤为重要。微积分通常分为两大部分&#xff1a;微分学和积分学。 微分学 微分学关…

NASA数据集——2017 年阿拉斯加和加拿大上空彩色红外图像中的 AirSWOT 水掩模数据集

简介 ABoVE: AirSWOT Water Masks from Color-Infrared Imagery over Alaska and Canada, 2017 摘要 本数据集提供了&#xff1a;1&#xff09;用于未来从共存的 AirSWOT Ka 波段干涉测量数据中提取水面高程 (WSE) 的保守开放水域掩膜&#xff1b;2&#xff09;沿 NASA 北极-…

宋仕强论道之华强北科技创新说

宋仕强论道之华强北科技创新说&#xff0c;“创新”是深圳市和华强北灵魂&#xff0c;创新再加上敢想敢干永不言败&#xff0c;造就了深圳市经济奇迹和华强北财富神话&#xff01;首次在深圳市落槌的“土地拍卖”&#xff0c;华强北“一米柜台”赋予独立经营权&#xff0c;把最…

Springboot通过注解+切面实现接口权限校验

Springboot通过注解&#xff0b;切面实现接口权限校验 主要说一下在对接口请求时&#xff0c;如何用注解切面去拦截校验当前登录用户是否有访问权限 1.首先创建注解 HasPermission &#xff0c;跟普通注解创建方式基本一致 Retention(RetentionPolicy.RUNTIME) Target(Element…

Python矩阵计算

文章目录 求积求逆最小二乘法特征值 Python科学计算&#xff1a;数组&#x1f4af;数据生成&#x1f4af;数据交互&#x1f4af;微积分&#x1f4af;插值&#x1f4af;拟合&#x1f4af;FFT&#x1f4af;卷积&#x1f4af;滤波&#x1f4af;统计 求积 矩阵是线性代数的核心对…

JVM 垃圾回收机制:探秘对象生死判定与高效回收算法

目录 一、JVM 对象生死判定 1.1 引用技术算法 1.2 可达性分型算法 二、引用 三、 回收方法区 四、垃圾回收算法 4.1 标记-清楚算法 4.2 标记-复制算法 4.3 标记-整理算法 JVM 程序计数器、虚拟机栈、本地方法栈随着线程而生&#xff0c;随着线程而灭。栈中的栈帧随着方法的…

相约CHWE全球跨境电商展,3月20日凯琦等你来!

凯琦又要和大家线下见面啦&#xff01; 2024年3月20日-22日&#xff0c;第三届CHWE全球跨境电商展将于深圳福田会展中心盛大开幕。该展会汇聚海内外平台、服务生态及海外线下渠道&#xff0c;助力企业快速扩大市场覆盖面和销售渠道&#xff0c;驱动品牌增长。 本次大会&#…

Python 全栈体系【四阶】(十六)

第五章 深度学习 一、基本理论 2. 深度神经网络结构 2.1 感知机 2.1.1 生物神经元 感知机&#xff08;Perceptron&#xff09;&#xff0c;又称人工神经元&#xff08;Artificial neuron&#xff09;&#xff0c;它是生物神经元在计算机中的模拟。下图是一个生物神经元示意…

故障诊断 | 一文解决,RBF径向基神经网络的故障诊断(Matlab)

文章目录 效果一览文章概述专栏介绍模型描述源码设计参考资料效果一览 文章概述

【leetcode热题】二叉搜索树迭代器

实现一个二叉搜索树迭代器类BSTIterator &#xff0c;表示一个按中序遍历二叉搜索树&#xff08;BST&#xff09;的迭代器&#xff1a; BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在…

【案例34】数据源密码保存不上

问题现象 客户反馈在启动BIP高级版时&#xff0c;Bip 2207启动异常。在相关的启动日志中排查发现&#xff0c;报数据源连接异常的错误。排查发现BIP高级版的数据源不通。发现密码字段为空导致。 问题分析 添加了正确的密码&#xff0c;测试通过保存。再次重启。发现还是报数据…