基于Python的住哪儿网数据采集与分析_第1页
基于Python的住哪儿网数据采集与分析_第2页
基于Python的住哪儿网数据采集与分析_第3页
基于Python的住哪儿网数据采集与分析_第4页
基于Python的住哪儿网数据采集与分析_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1.引言............................................................................................................................1

1.1.项目背景......................................................................................................1

1.2.开发环境与工具..........................................................................................1

1.2.1.Python简介.........................................................................................1

1.2.2.PyCharm简介.......................................................................................2

1.2.3.Python第三方库简介.........................................................................2

1.2.4.Tableau简介.......................................................................................3

1.2.5.Jupyternotebook简介.....................................................................3

2.项目需求分析.........................................................................................................3

2.1.可行性需求分析..........................................................................................3

2.2.采集目标功能分析......................................................................................4

2.3.关键技术分析..............................................................................................4

2.3.1.网络爬虫技术......................................................................................4

2.3.2.文件存取技术......................................................................................5

2.3.3.可视化技术..........................................................................................6

3.数据采集.................................................................................................................7

3.1.采集页面分析..............................................................................................7

3.2.字段分析......................................................................................................8

3.3.编程实现......................................................................................................9

4.数据清洗与处理...................................................................................................10

4.1.数据清洗....................................................................................................11

4.2.数据储存....................................................................................................11

4.3.编程实现....................................................................................................11

5.数据统计与分析...................................................................................................12

5.1.数据准备....................................................................................................12

5.2.数据展示....................................................................................................15

5.2.1.根据评分对酒店信息的统计............................................................15

I

湖南商务职业技术学院毕业设计

5.2.2.根据价格对酒店进行数据分析........................................................16

5.2.3.根据点评数对酒店的数据分析........................................................17

5.2.4.根据位置对酒店的数据分析............................................................18

5.3.综述............................................................................................................19

6.小结.......................................................................................................................19

参考资料.........................................................................................................................20

II

湖南商务职业技术学院毕业设计

基于Python的住哪儿网数据采集与分析

1.引言

在当代社会的推动下,大数据已经渗透我们生活大大小小的方面,其产生

的数据也随之增长,也正因为数据的指数型增长,使得大数据成为一种新型的

社会资源,这如此笼长、繁杂的数据,衍生出许许多多的互联网行业,为我们

的生活提供了很多就业岗位,因此我们对大数据进行分析是十分有必要的,不

仅仅可以从中发现许多的商机,还能加深我们对互联网的了解,为我们的生活

提供了很多便利。

python与我们的生活息息相关,无论是互联网上编程、还是Web开发以及

人工智能上为我们提供了许许多多的岗位,所以我们作为新时代青年,是很有

必要对python进行一定的学习与探讨。

1.1.项目背景

随着大数据对我们的生活影响越来越大,在我们生活的方方面面都便利着

我们的生活方式,不仅能够提高人们对数据的利用效率,而且能够对数据的重

复利用,大大降低我们的生活成本。

同时,在大数据的影响下,出现了很多新型的岗位职业,以及大数据迅速

衍生成为一个新兴行业,为我们带来机遇与挑战。

对于社会来说,大数据为社会治理降低了成本,保障社会的稳定和安全。

对于我们个人来说,我们可以通过互联网上所爬取的数据来为我们的学习、工

作进行一个参照的模板。

我所设计的毕业设计是基于python的住哪儿网数据采集与分析,通过对该

网站评分、点评数、标签、价格以及位置这些关键的酒店信息点解析爬取采集

分析,从而让我们大家了解在互联网的模式下,我们该如何按照自己的需求选

择酒店。

1.2.开发环境与工具

1.2.1.Python简介

由于Python语言的简洁性、易读性以及可拓展性,以及它在网络爬虫、数

1

湖南商务职业技术学院毕业设计

据分析、web开发等多个方面日益强大流行,因此我们有必要对python进行进

一步的了解。

Python的创始人是GudiovanRossum,于1989年独立开发完成初版。1991

年,发明了第一个Python编译器同时发行第一个公开发行版。由于当时计算机

性能差、加上java语言的诞生使得python发展十分缓慢。Python2.4-

November30,2004,同年目前最流行的WEB框架Django诞生;Python2.5-

September19,2006;Python2.6-October1,2008;Python2.7-July

3,2010;Python3.1-2009年6月27日;Python3.2-2011年2月20日;Python

3.3-2012年9月29日;Python3.4-2014年3月16日;Python3.5-2015年9

月13日。

1.2.2.PyCharm简介

PyCharm是一种PythonIDE(IntegratedDevelopmentEnvironment,集

成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率

的工具。

Pycharm是辅助我们学习python的一种学习软件。他的功能很齐全,比如

说可以只能python辅助、网页开发框架、科学工具、远程开发能力等等,其中

还可以跨技术开发,不仅支持python,还支持JavaScript、Cython、SQL、

HTML\CSS、Node等。Pycharm对于我们学习python的实践操作起着至关重要的

作用。

Pycharm可以在windows、Linux、macOS这些系统下使用。

1.2.3.Python第三方库简介

Requests:是用Python语言编写,基于urllib,采用Apache2Licensed

开源协议的HTTP库。用于python爬取网页,常用的比如:requests.get、

requests.post、requests.put等。

BeautifulSoup:用于python对xml、html的解析,适合我们python的初

学者,缺点是反应较为缓慢,整体来说对我们帮助还是很大的。

Numpy:为python提供很多高级的数学方法,是我们平时使用python不可

或缺的库。

Matplotlib:是python中的一种绘制图形的库,为我们通过图像的方式来

分析数据,常用于画静态图。

Pyecharts:也是python的一种绘制图形的库,它在matplotlib的基础上

2

湖南商务职业技术学院毕业设计

进行改良,一般画较为复杂的图形。

Pandas:用于python的数据操作和分析,建立在Numpy之上的库。同时把

数据保存在scv文件里,也可以进行数据清洗。

Scapy:用Python写的数据包探测和分析库。

Sympy:可以做代数评测、差异化、扩展、复数等等,它在提示信息这一块做

的十分不错。

1.2.4.Tableau简介

Tableau用于帮助我们查看和理解数据,它可以快速分析、可视化并分享数

据。它的基本操作包括:字段的操作、函数与计算、表计算类型、排序与筛选

以及参数。

Tableau的数据分析十分的快,可视化以工作表的形式创建,并且Tableau

不需要编程技能就可以运行。

1.2.5.Jupyternotebook简介

Jupyternotebook是一个十分快捷和流行的python工具。它可以用于数据

的清理、建模统计、构建和训练机器学习模型以及数据的可视化等其他功能。

用户可以将自己输入的代码组合到一个可读性好,容易共享,对新手好的文档

里,而且还会编译各种解释性文字。Jupyternotebook是以网页的形式打开的,

我们直接在网页上进行代码的输入运行,运行的结果就会直接出现在下面,如

在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的

说明和解释。

2.项目需求分析

2.1.可行性需求分析

1.技术可行性

通过python可视化来查看分析我们想要的数据是十分方便的,它相对于

java、c语言更加简便、快捷。Python与Java相比更适用于新手、初学者,python

的框架要比Java更为强大,语言更为简洁。Python也可以用于web的开发,可

以用不同的url映射到python代码模块来处理数据库和生成HTML文件。

2.项目可行性

在互联网大数据的背景下,互联网酒店在我们的生活中占比越来越重,对

3

湖南商务职业技术学院毕业设计

我们的影响也越来越大。我今天所分析的就是住哪儿网互联网酒店的数据,通

过住哪儿网酒店评分、价格、位置等关键信息的数据处理与分析来为大家进行

对互联网酒店的了解。

2.2.采集目标功能分析

本次项目的数据集取自于住哪儿网,是通过python爬取住哪儿网酒店的各

种关键信息。爬取前75页的酒店信息,数据清洗后一共1050条数据记录,以

此尽可能保证数据可靠性。

此次爬取的住哪儿网,主要获得了以下信息为:酒店名称、酒店的每日住

宿价格、酒店在此网站上的点评数、酒店的实时位置、酒店在本网站的标签。

主要目的是通过实际数据来分析本网站酒店的一些属性。比如:酒店位置在哪,

我们就可通过我们自身的需求来选择离我们最方便的酒店;爬取酒店每日住宿

的价格,我们可以根据自身的情况来选择我们所需要的价位;爬取点评数,通

过我们对点评数的分析可以知道此酒店是否服务到位、酒店设施是否齐全、酒

店位置是否满意等等;以及酒店标签的爬取是为了了解网站对酒店的评价或者

酒店对自身的评价,由此可以督促酒店自我的检查以及保养。

2.3.关键技术分析

2.3.1.网络爬虫技术

在现如今大数据时代,对于网络上要采集的数据信息也越来越多,人力已

经逐渐跟不上时代要需求,人力采集信息的效率低、成本高,以及错误率也很

高;因此基于成本以及节约时间的考虑,我们必须要用网络爬虫来进行数据的

采集。

网络爬虫也被称作为蜘蛛爬虫(WebSpider)。是指编写一段编程,然后通

过编写程序来实现网站的爬取,从中提取网站的数据来进行保存。

网络爬虫的原理是设定好需要爬取的目的,然后找到网页的URL,然后利用

URL进行页面的解析,然后提取该URL上所有的URL,进行继续访问和页面解析;

如果第二次的URL还可以提取URL的话,那就可以继续进行解析。

通用爬虫:是指通过搜索引擎的组成部分,是将互联网上的页面下载到本

地,进行备份储存,然后进行数据清洗。

聚焦爬虫:是指根据自己指定的需求来抓取网页数据。

4

湖南商务职业技术学院毕业设计

Roboot.txt协议:又称‘君子协议’,是指自己的网址如果不想给其他人

爬取数据,则通过编写roboot.txt协议来进行约束,防止被其他人爬取,但是

该协议只是口头协议,并不能强制约束。

反爬虫:是指自己网站通过设置验证码等来防止其他人爬取数据。

反反爬虫:顾名思义,通过自己的手段破解反爬虫。

Ip代理:有点类似于买房时候的中介,是代替自己的一个载体(有些反爬虫

技术可以禁止Ip的访问,这时候我们就必须换一个ip进行爬取)

Use-Agent:网页代理,是一种身份标识,可以为浏览器的身份标识也可以

为爬虫程序的身份标识。

Cookie:可以保存用户的信息,为用户提供便利,但cookie是直接放在头

部信息里面,cookie可被其他人窃取,信息就会泄露;所以存在风险。

常见爬虫的爬取策略分为:深度优先爬行策略、广度优先爬行策略、大站

爬行策略、反链策略。

网络爬虫系统的工作原理分为:控制器、解析器、资源库。

控制器是接受URL链接进行分配线程,然后启动线程运行。

解析器是指对所爬取网页的文本进行处理分析。

资源库是指将解析好的数据下载保存在本地的容器,并提供生成索引的目

标源。

2.3.2.文件存取技术

爬虫请求解析后的数据,需要保存下来,才能进行下一步的处理,一般保

存数据的方式有如下几种:

文件:txt、csv、json等,保存数据量小。

关系型数据库:mysql等,保存数据量大。

Python文件储存也分为Python内置方法、numpy模块方法、os模块方法、

csv模块方法Pythn内置方法;在不借助外界库的前提下,python内置方法也

可以进行数据的储存。

文本文件储存:

图2-1txt文件储存

5

湖南商务职业技术学院毕业设计

csv文件储存:

图2-2txtcsv文件储存

Json文件储存:

图2-3json文件储存

2.3.3.可视化技术

可视化主要通过借助图形的方式来分析和表达我们所需要的数据,而体现

数据的价值。

数据可视化常见的库有:matplotlib库、pyecharts库、seaborn库、ggpolt

库、pygal库等。

matplotlib库:

比较重要的绘图库,基于numpy的数组运算,绘画功能十分强大。

pyecharts库:

用于生成Echarts图标的图库。于python直接对接,Echarts是百度开源

的一个数据可视化JS库。

seaborn库:

是python比较重要的第三方包,在matplotlib库的基础上进行了更高级

的API封装,使得画图更容易,该库是matplotlib库专攻可视化的模块。

ggpolt库:

是基于R的ggpolt2和python的绘画系统,在使用ggpolt库之前要先把

数据转化为dataframe格式。

pygal库:以对象的方式进行绘图。

6

湖南商务职业技术学院毕业设计

3.数据采集

3.1.采集页面分析

打开QQ浏览器,输入网址/hotellist/e0101/,然

后我们就能进入我们所要爬取的页面。如图:

图3-1爬取页面

接着我们点击鼠标右键,选择检查。如图所示:

图3-2打开检查页面

我们在右侧选择network,然后刷新页面,刷新完页面在右侧选择第一个文

件查看头部信息。

7

湖南商务职业技术学院毕业设计

图3-3查看网页头部信息

从上图我们得知,网页的URL为:/hotellist/e0101/

网页的请求为get请求;网页的用户代理为:Mozilla/5.0(WindowsNT

10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/77.0.3865.120

Safari/537.36Core/00QQBrowser/10.9.4621.400。同时,在上面我

们可以得知cookie。

3.2.字段分析

我们先定位按钮来选择我们所要爬取酒店数据的字段。如图所示:

图3-4选取数据字段信息

然后鼠标右击复制字段的xpath来用于编程。

8

湖南商务职业技术学院毕业设计

3.3.编程实现

导入所需的库:

图3-5导入库

设置请求头用get方法请求头部,然后将我们爬取的头部信息输入进去,

利用xpath循环解析网页,截取的数据为前75页,每页的前十四家酒店的信息,

最后将爬取的数据保存到zhunaer.csv文件中。爬取的代码如下:

图3-6爬取网页

9

湖南商务职业技术学院毕业设计

图3-7爬取网页

4.数据清洗与处理

数据清洗也叫数据清理,数据清洗包括识别和替换不完整、不准确和有问

题的数据;通过有效的数据清洗分析是数据使用的支撑。

在当前大数据时代,数据的价值正在逐渐升高,大大小小的公司企业都需

要收集客户以及市场的数据信息,通过所收集的数据来对自己的产品以及市场

的流动状态来进行调整,以达到利益最大化的目的。在这一过程中,数据的清

洗分析将变得尤为重要,数据量越大其中的问题毛病也越多,数据会随时间的

变化而变化、众多数据也有质量上的差异,以及数据分析不到位等等很多差异

导致造成直接或者间接的损失。

10

湖南商务职业技术学院毕业设计

4.1.数据清洗

导入库:

图4-1导入库

读取zhunaer.csv文件:

图4-2读取文件

对文件进行去重处理:

图4-3文件去重

4.2.数据储存

Python数据的储存分为三种储存方式:

一是文件储存的方式:TXT文件储存、JSON文件储存、csv文件储存

二是关系型数据库:有MySQL等数据库

三是非关系型数据库:Mongodb、redis等数据库

现在我所使用的为to_csv()文件储存的方式来保存数据,编码方式为gbk:

图4-4保存文件

4.3.编程实现

对zhunaer.csv文件分析处理,我们得知可以分为评分、点评数、位置、

价格这四个酒店关键点来进行分析。

对点评数、价格、位置取前十个数据的分析储存,取全部评分数据用于后

续的数据分析。

11

湖南商务职业技术学院毕业设计

图4-5取前十数据的储存

5.数据统计与分析

5.1.数据准备

导入相关的库:

图5-1导入库

导入储存好的评分的酒店文件,然后进行数据的折线图画图分析,然后对

绘画好的图进行网页保存方便后期查看:

图5-2评分数据的画图保存

12

湖南商务职业技术学院毕业设计

导入酒店每日住宿价格排名前十的数据文件,进行柱状图画图分析,然后

保存图画结果:

图5-3价格数据的画图保存

导入点评数前十的数据文件,进行折线图画图分析,保存图画结果:

图5-4点评数数据的画图保存

导入与价格前十相对应位置的数据文件,进行饼图画图分析,保存结果:

13

湖南商务职业技术学院毕业设计

图5-5位置数据的画图保存

14

湖南商务职业技术学院毕业设计

5.2.数据展示

5.2.1.根据评分对酒店信息的统计

图5-6评分数据的图画分析

互联网技术对我们的生活带来了很多方便,也在一步步深入我们的生活,

从而衍生出了互联网酒店这一行业。在行业竞争压力整体环境比较大的情况下,

人们对酒店的需求也有了进一步的增大,所以对进行酒店进行一个整体的评价

分数是必不可少的。一般来说,网站对酒店打的分越高,说明大家对这一家酒

店的印象越好、满意度越高,就跟人穿衣服一样,也会优先穿自己觉得好看比

较满意的衣服;对于酒店本身而言,这代表着顾客对自己的肯定,同时评分也

可以提高自己的档次,在一众互联网酒店中脱颖而出;可以吸引一些追求高档

次、高要求的顾客,提高自己的收入和客源;然后通过自己吸收的客源来提高

自身的知名度、信誉度。总之,评分越高的酒店不仅对自身还是顾客必然是互

利共赢的选择。

我所爬取的住哪儿玩酒店的评分数据,如上图所示;在评分满分为5分的

情况下仍有北京心院民宿、北京司马台圆满之家农家乐、北京司马台蔡云生农

家院等酒店为5分,说明分数为5分的这部分酒店无论是顾客满意度还是自身

对酒店设施、服务都是非常好的,这部分酒店可以作为顾客在外挑选酒店的首

选。同时我们可以从以上图中分析得知,评分越高的酒店说明它的内部配置也

是成正比,酒店也是属于服务行业,内部配置包括设施的配备、安保系统以及

15

湖南商务职业技术学院毕业设计

酒店服务;评分越高的酒店,这就能体现出这些酒店顾客、平台整体的一个评

价接近于满分;像评分为4.9分的映向城酒店(北京故宫店)、东篱居(北京望京

SOHO悠乐汇店)、北京漫宜·云崖民宿等这一类酒店,说明大部分评价为比较满

意,也有一部分是因为顾客与酒店方有一些些小磨差导致,整体来说也评分满

分的酒店差距不大;评分为4.5-4.9之间的酒店我们认作为酒店存在一些固定

的隐患问题,有些是因为房间隔音不好、服务态度问题,这些酒店多多留意进

行改善会好很好,4.5分以下的酒店就比如说像来来酒店(北京顺义石门地铁站

店)、速8酒店(北京西单佟麟阁路店)等酒店,说明顾客对酒店的一个整体印象

不是很好,我们作为顾客应尽量按自己的需求来选择这些酒店。

5.2.2.根据价格对酒店进行数据分析

图5-7前十价格数据的图画分析

上图为本网站酒店每日住宿价格前十的数据分析。

价格是酒店对自己情况来指定自己收入多少的关键信息点。价格对我们顾

客来说,从价格上一般就能体现一个酒店的整体情况,包括酒店的评分情况,

一般评分越高酒店给人能接受的价位也会增加,它们之间的关系一般成正比,

同时也能反映酒店自身服务和设施是否到位,一般酒店自身条件比较好的话,

酒店的成本也会增加价格也会有所波动;当然这些都在位置的基础上,一般酒

店地段越好,酒店所花费的成本也会越高,成本增加也会造成价格的增加。另

一方面,不同价位的酒店也对应着不同层次的需求,也为我们挑选酒店提供合

理的需求满意度。

16

湖南商务职业技术学院毕业设计

通过上图我们得知,在排名前十的价位中,北京小汤一瓢私汤度假民宿、

北京老官地180号院民宿的日均价格已破万元,说明这两家酒店比较符合高要

求高档次的顾客人群消费,同时酒店的设施也会比一般酒店要好上不少,包括

酒店的安保、隐私服务等也会做到在高需求人群的满意度之内;北京漫宜·云

崖民宿酒店价格在8000元以上10000元以下,这说明与上两家的位置有关,度

假区、景区的价格往往会比市区的要贵;青龙峡无舍民宿、塞伦斯·密境民宿

像这类酒店价位处于5000-6000之间,我们可以通过分析得知,景区之间按人

流量来说,人流量越大影响酒店的成本以及酒店的定价,就比如说北京小汤一

瓢私汤度假民宿与青龙峡无舍民宿这两家酒店所处的景区人流量不一样,北京

小汤一瓢私汤度假民宿价格为15000,青龙峡无舍民宿价格为6000,影响的因

素正是景区的人流量导致的;红螺寺山楼无忧民宿、北京夜阑星舍民宿、北京

山舍民宿、北京嘉度Resort、北京山隐小住民宿这六家酒店价格相对来说差异

不大,说明这六家酒店所处地段的人流量、酒店的内部配置都大同小异。

5.2.3.根据点评数对酒店的数据分析

图5-8点评数前十数据的图画分析

以上为酒店点评数前十的数据分析图。

点评数是指顾客对已经居住酒店过后的评价,这是顾客真真实实居住过后

感受,它可以有好的评价与各种不满意的评语,对还未入住过的顾客和酒店自

身有着警示作用,点评数越多说明居住过后来进行评价的人越多,评价的内容

也会增多,在互联网上顾客要入住时如果有不好的评价也会被后面查看酒店信

17

湖南商务职业技术学院毕业设计

息的顾客所看到,造成客源的损失,同时不好的评价过多也会导致酒店的评分

变低,造成酒店各方面的损失。

通过上图我们得知,北京新侨诺富特饭店、北京崇文门饭店、北京人卫酒

店的点评数比较高,说明该酒店顾客住后给予的评价最多,说明酒店的人流量

相对来说是比较大的,评分相对稳定。北京千禧大酒店、北京裕龙国际酒店、

北京富力万达嘉华酒店这三家酒店的点评数差值不大,说明这三家酒店的客源、

评价也差距不大;北京王府井希尔顿酒店、北京天伦王朝酒店、北京景山酒店、

北京东直门智选假日酒店着四家酒店点评数在2500-3200之间,相对于前几家

酒店来说还有待提高,酒店方可以通过降低价格等方面来提高自己的整体点评

数。

5.2.4.根据位置对酒店的数据分析

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论