2019年国庆马上就要到来 那去哪里玩人少big还高呢? 一、目标使用Python分析出国庆哪些旅游景点:好玩、便宜、人还少的地方,不然拍照都要抢着拍! 二、获取数据既然做数据分析肯定要先搞到数据,最开始猪哥在一些官方网站查找旅游信息,毕竟官方的数据可信度高点, 但我一无所获,有点失望! 然后寻找其他替代方案:爬取出行网站的旅游景点售票数据,这样也可以反映出旅游景点的热度! 猪哥首先想到 去哪儿,这里必须要安利一波去哪儿,同样的酒店同样的房间,去哪儿价格基本都是最低,所以猪哥也用的最多! 选好学习对象,那我就开始吧! 注⚠️:本教程仅用作学习交流,如有侵害任何人权益,请联系猪哥删除! 1.爬取单页数据我们可以在哪去儿的门票页(http://piao.qunar.com/ticket/list.htm?keyword=)搜索:**国庆旅游景点**,就可以看到推荐的景点的一些信息,如:名称、地区、热度、销量、价格、等级、地理信息等等,信息应该说是比较全,良心! 然后按下F12打开浏览器调试窗口,查找加载数据的url(翻页就可以看到) 竟然直接返回了json数据,真是太方便了
这里说下去哪儿门票页抓取数据还是很简单,不需要登录、不需要代理 、甚至不需要header也可以成功,后面批量抓取页没出现限制,相对于淘宝来说简单了许多! 2.提取有效信息既然数据拿到了,那就看看数据结构,然后提取自己想要的属性吧 这里猪哥提取了:id、名称、星级、评分、门票价格、销量、地区、坐标、简介这些信息,基本有效信息都保存起来! 3.保存到excel需要的数据提取出来之后,我们就可以将他们保存起来。这里我们使用pandas库保存excel文件。 没有安装pandas库的同学安装一下
4.批量爬取批量爬取也很简单,先找分页数据,多点几下页数比较不同参数就能看出来
看看批量爬取的效果 三 、分析数据数据都下载完毕后,就要思考如何去利用分析这些数据了,猪哥简单做了几个分析:
我们使用的可视化库仍然是:pyecharts库 ,更多维度分析等待你去思考~ 1.景点门票销量排行分析我们先来分析下景点门票销量排行 2.景点销售额排行分析销售额=单价*销量,我们可以将每行的price和sale相乘算出销售额 3.各省各等级景点数分析由于时间原因,该项分析暂未完成,本想分析下每个省每个等级的景点有多少个,但是由于时间原因暂未完成,感兴趣的同学可以下载源码自己试试 ,就当课后作业叭~ 4.景点销量热力图分析之前我们也做过很多热力图,都是用的pyecharts库,今天我们来点不一样 的,我们使用百度地图开放api(免费)做一个热力图,你首先要做的就是申请一个百度地图开放平台的应用,操作很简单,如何申请可以 直接百度或者看看这篇文章:https://jingyan.baidu.com/article/363872eccda8286e4aa16f4e.html 需要注意的是:在申请应用的时候类型一定要选浏览器 5.推荐景点分析应该推荐怎样的景点呢?猪哥认为是:高评分、销量少、价格便宜。 推荐系数和评分成正比,和销量、价格成反比,所以猪哥设计了一个最简单的算法:
来看看这个简易的推荐算法得出的结果 如果你觉得我设计的推荐算法太low了,可以自己思考下如何设计更合理,然后自己动手调试,期待看到不一样的结果! 源码地址:https://github.com/pig6/qunar_spider |
|
来自: Four兄 > 《python爬虫》