下面是小编为大家整理的基于python旅游信息爬取以及数据分析(精选文档),供大家参考。
摘要
随着计算机网络技术的发展,近年来,新的编程语言层出不穷,python 语言就是近些年来最为火爆的一门语言,python 语言,相对于其他高级语言而言,python 有着更加便捷实用的模块以及库,具有语法简单,语句清晰的特点,使得它在代码的编程中,变得更加简洁容易上手,另外,python 应用特别广泛,作为是一门应用性广泛的语言,无论是游戏的开发,还是数据的爬取,再到网站的搭建,python 都能轻松驾驭,其中,爬虫的应用,更加使得 python 这门语言为人所知。
作为网络搜索引擎的组成成分之一,爬虫能够有效的为我们搜索和爬取有用的信息,减少人工的操作,十分方便,在自己定义的条件下,采集得到某些网页的信息,比如房价、股票、招聘信息等,对于这些信息,我们可以对数据进行处理,从而得到我们所需要的信息。
本文通过 python 实现了一个马蜂窝旅游网站的爬虫信息搜集,并对马蜂窝网站中采集得到的数据进行分析处理,得到想要的数据。
关键词:
Python Html 爬虫 旅游 马蜂窝 Abstract
With the development of computer network technology, in recent years, new programming languages have emerged endlessly. Python is the most popular language in recent years. Python has more convenient and practical modules and libraries than other high-level languages. , Has the characteristics of simple syntax and clear statements, which makes it more concise and easy to use in the programming of code. In addition, Python is particularly widely used as a versatile language, from website construction to data processing to gadgets. The design of small games can be done by python. Among them, the application of reptiles makes python a language more known. Web crawlers can not only collect network information for search engines, but also act as a directional information collector. Under certain conditions, they can collect information about certain web pages, such as
house prices, stocks, and recruitment information. For these information, we can analyze the data Process it to get the information we need. This article is to implement a crawler"s information collection and analyze the data collected by python to get the desired data.
Key words:
Python Html reptile tourism Mafenwo 目录
第一章
引言 ............................................................................................. 3
1.1
背景
................................ ...........
3 3
1.2
国内外研究情况
................................ ..
4 4
第二章
爬虫语言以及工具的介绍 ....................................................... 5
2.1
Python 介绍
................................ ....
5 5
2.1.1
Python 语言的产生以及发展 .................... 5
2.1.2
Python 语言的特色 ............................ 5
2.1.3
Python 语言的缺点 ............................ 6
2.2
L URL 介绍
................................ ........
6 6
2.2.1
URL 的定义 ................................... 6
2.2.2
URL 的解读 ................................... 6
2.3
L HTML 介绍
................................ .......
7 7
2.3.1
HTML 的定义 .................................. 7
2.3.2
爬虫与 HTML .................................. 7
2.4
爬虫工具介绍
................................ ....
7 7
2.4.1
Chrome....................................... 8
2.4.2
Pycharm ...................................... 8
第三章
项目的需求以及设计分析 ....................................................... 8
3.1
项目的需求
................................ .....
9 9
3.2
项目的任务
................................ .....
9 9
3.3
设计分析
................................ .......
9 9
3.3.1
城市编号的获取 ............................... 9
3.3.2
城市信息的爬取 ............................... 9
3.3.3
爬取信息的处理 ............................... 9
第四章
项目的实现 .............................................................................. 10
4.1
城市编号获取的实现
.............................
10
4.1.1
城市编号获取使用库的介绍 .................... 10
4.1.2
城市编号获取过程 ............................ 12
4.2
城市信息获取的实现
.............................
18
4.2.1
城市信息获取使用库的介绍 .................... 18
4.2.2
城市信息获取过程 ............................ 19
4.3
数据可视化处理
................................. .
27
4.3.1
数据可视化处理所使用的库 .................... 27
4.3.2
柱状图数据可视化代码实现 .................... 27
4.3.3
饼状图可视化代码实现 ........................ 28
4.3.4
热力图数据可视化代码实现 .................... 29
4.4
可视化图片展示
................................. .
29
第五章
不足之处 .................................................................................. 34
第六章
期望与总结 .............................................................................. 34
参考文献 ..................................................................................................... 35
致谢 ............................................................................... 错误!未定义书签。
引言
1.1 背景
随着近些年来网络的快速发展,网络进入了大信息时代,网络上的信息呈现爆炸式的飞涨,五花八门的信息显示,这使得人们在网络上寻找自己所需要的信息时,显得越来越困难,当然,一个问题的出现,必然有一个方法去对应,信息的剧增,与之对应的,便是搜索引擎的出现,比如 google、百度等等,搜索引擎通过搜集网络上数以万计的不同类型的网页信息,并为其建立起索引,通过搜
索引擎,即使网络上的信息种类繁多,我们还是能够通过关键词的搜索,搜索得出与之对应的信息的网页。
网络爬虫是一个自动化的程序,也是搜索引擎的组成部分之一,不同的搜索引擎,可以通过不同的搜索需求,选择合适的爬虫方法来搜集网络上的信息,传统网络爬虫主要从一个 url 开始,通过爬取目标网页的 url,观察其组成结构特点,按照结构规律,构建新的 url,不停的将新的 url 放入队列中,循环爬取,最后直到需求完成为止。优秀、高效的爬虫程序,能够使人们网络上找到更加精准的信息。
本文通过 python 语言,实现了一个对于马蜂窝旅游网站的信息采集分析,通过对马蜂窝旅游城市的城市编号爬取,根据马蜂窝网站的网址规则,通过拼接得到马蜂窝旅游网站的城市 url,根据获取得到的 url,进入马蜂窝旅游城市页面,观察页面组成结构,通过标签定位,爬取我们所需要的页面信息,将其保存入本地文件,再对文件里面的数据进行数据处理,可视化分析,告诉你旅游去哪儿好。
1.2 国内外研究情况
python 作为搜索引擎技术组成部分之一,自九十年代初诞生了第一个网络爬虫以来,python 技术已经经过了 20 多年的发展,经过这么多年的发展,python技术也趋于成熟,逐渐覆盖了网页开发、游戏开发、爬虫分析可视化、脚本开发等等专业领域, 并通过其简单易懂、代码编写效率高的特点,成为目前最为火热的开发编程语言,也正是其应用广泛,上手容易,语法强大,代码可读性强的特点,受到了很多人的喜爱,让很多人爱不释手。同时,由于不同的人对于数据爬取内容的差异,常常会产生不同的需求,因此爬虫主要可以分为以下两种:
1、通用爬虫:通用爬虫其实很简单,它的作用就是将网络上的网页下载下来,保存到本地,其实就是生成一个副本,作为网页的备份。所以通用搜索一般得到的都是网页,对于用户来说,网页的内容十之八九都是没用的,要的只是网页中的某些特定的信息。所以就有了我们第二种爬虫方法。
2、聚焦爬虫:聚焦爬虫是比通用爬虫更加复杂一点,它不同与通用爬虫,通用爬虫是将网页保存到本地,但是聚焦爬虫,它不会将整个网页爬取下来,它会筛选得到网页中我我们所需要的东西,而筛选的条件规则是由我们自己定义的,相比通用爬虫,聚焦爬虫它做的工作更多,但是得到的数据更加符合我们的要求,本文所实现的爬虫,就是通过聚焦爬虫所实现的。
第一章
爬虫语言以及工具的介绍
2.1 Python
介绍
2.1.1 Python 语言的产生以及发展 Python 是上世纪八十年代末开始由 Guido 开发,九十年代初发行的一门编程语言,其作者参与过 ABC 语言的开发,所以对 ABC 语言其中的弊端有所了解,认为 ABC 语言虽然语言优美,功能强大,但是却受限于它的非开发性,没有得到广泛的应用,因此想开发出一门新的语言,能够摒弃掉 ABC 语言的弊端,打破这个限制,正是如此,python 就诞生了,python 刚刚推出不久,就迅速得到了各行人士的青睐,经过多年以来的不断改善,python 语言已经逐渐稳固它在编程语言中的地位。
根据从 TIOBE 网站上得到的数据,从 2002 年开始,python 语言就趋于一个稳定上升的状态,呈线性增长,正是如此,python 成为了近年来最受欢迎的编程语言之一。
图 2.1.1 计算机编程语言热门排行榜
2.1.2 Python 语言的特色 首先,Python 是一门强大、灵活的语言,与 C、C++、Java 等语言相比较,python 的语法简单优雅,往往不用通过很复杂的代码,就能实现强大的功能,例如 Java 需要 100 行代码才能实现的功能,python 往往只需要一半或者更加少,大幅度降低了学习与使用的难度,很适合人们的学习。
其次,python 是一门开源免费的语言,简单的来说,就是不花钱就能使用,我们可以直接下载安装运行,也能对其源码进行修改,十分便捷。
再次,效率极高,python 被称为胶水语言,拥有强大的第三方库,人们往往只需要将库下载调用,在库的基础上进行开发,就可以实现很多复杂的功能,
节省了不少时间,避免了重复造轮子的现象。
最后,python 语言可移植性强,正是由于 python 的开源性,使得 python拥有了良好的可移植性性能,让其可以被移植到其他的平台之下,例如我们所熟知的 window 系统,Linux 系统,安卓系统和苹果系统等等。总而言之,python是一门用途广泛,又容易上手的编程语言。
2.1.3 Python 语言的缺点 Python 虽然拥有众多的优点,但是事物往往很难做到十全十美,编程语言也一样,python 虽然简单优美,但是运行速度相比其他编程语言来说,却显得缓慢,对比 C 语言来说,C 语言是先编译后运行的,编译的时候就已经将代码转化成了 CPU 所能执行的机器码,而 python 是解释性语言,因此它的代码在运行的过程中,需要先将代码编译成 CPU 所能理解的机器码,这个过程就需要耗费很多时间,导致了 python 的运行缓慢。
另外,由于 python 的开源性,导致了 python 代码无法加密,实际上,如果我们要发布一个 python 程序,其实就需要将我们所敲打的源码发布出去,这样别人就直接得到了你的源码,能够轻易的使用并修改你的源码,而 C 语言是先编译后运行的,它的发布是发布已经编译后的机器码,别人是很难逆推得到源码的,其实,基本所有的编译性语言,都不需要担心源码的泄露,而像 python 这种解释性的语言就比较难了,因此在保密度这一块,python 还是略显劣势。
2.2 L URL 介绍
2.2.1 URL 的定义 URL,通俗的来讲的话,URL 其实就是网络地址,每一个 URL,就代表着特定的资源在网络或者电脑上的位置,这个位置既可以是电脑的本地磁盘路径,也可以是局域网上的某个计算机,但是,总的来说,URL 更多的是指网络上的网页站点。而这里所说的特定的资源,可以是一个 HTML 界面、也可以是一张照片、一个文本、或者是一个文件等等。
2.2.2 URL 的解读 URL 是由不同的组件组成的,就拿本文所要爬取的网站马蜂窝来说,马蜂窝的网站地址为:https://www.mafengwo.cn/mdd/,这个网站就相当于一个 URL,我们可以这样解释它:
(1)这是一个 https 协议的网站,它告诉了浏览器访问资源的时候,应当使用 https 协议,在目前,网络上使用的协议大多为 HTTP 或者 https(加密)。
(2)www.mafengwo.cn,是域名,指向你所要访问的资源的服务器端,这里也可以使用 IP 地址显示。
(3)mdd,这里表示的是访问资源在该服务器上的路径,但是有时这个路径会出错,最常见的问题就是该路径的资源已经被移走或者不存在,导致寻找失败。
2.3 L HTML 介绍
2.3.1 HTML 的定义 HTML,是一种超文本链接标示语言,是网站搭建的基本骨架,简单的来说,HTML 就是网页的载体,它主要由两部分组成,一个是 head,另一个是 body,head是描述浏览器的主要信息,body 是用来装载网页界面的主体内容,网页上所看到的文字信息或者图案,都是存在 body 里面,在 HTML 界面中,存在着超级链接,所谓的超级链接,其实就是将 URL 地址放入了界面中,人们可以通过鼠标的点...
扩展阅读文章
推荐阅读文章
77范文网 https://www.hanjia777.com
Copyright © 2015-2024 . 77范文网 版权所有
Powered by 77范文网 © All Rights Reserved. 备案号:粤ICP备15071480号-27