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