(图片由CSDN付费下载自东方IC)

作者 | 猪哥

来源 | 裸睡的猪(ID:IT--Pig)

2019年国庆马上就要到来,
今年来点新花样吧,
玩肯定是要去玩的,
不然怎么给祖国庆生?
那去哪里玩?人少档次还高呢?
咱不是程序员嘛,
那就用数据分析下,
看看哪些地方值得去!
目标
使用Python分析出国庆哪些旅游景点:好玩、便宜、人还少的地方,不然拍照都要抢着拍!
获取数据
既然做数据分析肯定要先搞到数据,最开始笔者在一些官方网站查找旅游信息,毕竟官方的数据可信度高点, 但我一无所获,有点失望!
然后寻找其他替代方案:爬取出行网站的旅游景点售票数据,这样也可以反映出旅游景点的热度!
笔者首先想到“去哪儿”,这里必须要安利一波去哪儿,同样的酒店同样的房间,去哪儿价格基本都是最低,所以笔者也用的最多!
选好学习对象,那我就开始吧!(注:本教程仅用作学习交流,请勿用作商用用途!)
1. 爬取单页数据
我们可以在哪去儿的门票页搜索:**国庆旅游景点**,就可以看到推荐的景点的一些信息,如:名称、地区、热度、销量、价格、等级、地理信息等等,信息应该说是比较全,良心!
http://piao.qunar.com/ticket/list.htm?keyword=

然后按下F12打开浏览器调试窗口,查找加载数据的url(翻页就可以看到):
竟然直接返回了json数据,真是太方便了:
最后使用requests库写一个get请求就可以了
这样一页数据就抓取下来了,是不是很简单?
这里说下去哪儿门票页抓取数据还是很简单,不需要登录、不需要代理 、甚至不需要header也可以成功,后面批量抓取页没出现限制,相对于淘宝来说简单了许多!
2. 提取有效信息
既然数据拿到了,那就看看数据结构,然后提取自己想要的属性吧:
这里猪哥提取了:id、名称、星级、评分、门票价格、销量、地区、坐标、简介这些信息,基本有效信息都保存起来!

3. 保存到excel
需要的数据提取出来之后,我们就可以将他们保存起来。这里我们使用pandas库保存excel文件。
没有安装pandas库的同学安装一下:
pip install xlrd
pip install openpyxl
pip install numpy
pip install pandas

这里单页数据的处理就完成了,爬取、解析、保存三步走~
4. 批量爬取
批量爬取也很简单,先找分页数据,多点几下页数比较不同参数就能看出来
经过一会的分析,我们便可以看出参数 page 就是分页参数了,这样我们在外层写一个for循环,把页数传入就可以实现批量爬取

那个36是我在网页上看到了,当然也可以实现自动判断是否爬取完成,只要判断每次返回的条数即可!
看看批量爬取的效果:
分析数据
数据都下载完毕后,就要思考如何去利用分析这些数据了,猪哥简单做了几个分析:
  1. 景点门票销量排行分析
  2. 景点门票销售额排行分析
  3. 各省各等级景点数分析
  4. 景点销量热力图分析
  5. 推荐景点分析
我们使用的可视化库仍然是:pyecharts库 ,更多维度分析等待你去思考~
1.景点门票销量排行分析
我们先来分析下景点门票销量排行:
我们创建了一个透视表,然后根据销量排序!最后生成柱状图,一起来看看效果:
我们可以看到迪士尼门票销量排第一
2.景点销售额排行分析
销售额=单价*销量,我们可以将每行的price和sale相乘算出销售额:
我们将得到的销售额数据放回df中,然后再排序:
迪士尼真是吸金厉害!!!
3.各省各等级景点数分析
由于时间原因,该项分析暂未完成,本想分析下每个省每个等级的景点有多少个,但是由于时间原因暂未完成,感兴趣的同学可以下载源码自己试试 ,就当课后作业叭~
4.景点销量热力图分析
之前我们也做过很多热力图,都是用的pyecharts库,今天我们来点不一样 的,我们使用百度地图开放api(免费)做一个热力图,你首先要做的就是申请一个百度地图开放平台的应用,操作很简单,如何申请可以 直接百度或者看看下面链接的文章,需要注意的是:在申请应用的时候类型一定要选浏览器:
https://jingyan.baidu.com/article/363872eccda8286e4aa16f4e.html
然后你就可以下载一个百度热力图的demo的html,在html中把ak码换成自己的。
换完ak码就要换json数据了,我们先生成和默认数据一样格式的json数据,然后再替换掉
最后来看看效果叭,动态地图支持放大缩小,可仔细查看各省、市、区景点热力图
5.推荐景点分析
应该推荐怎样的景点呢?笔者认为是:高评分、销量少、价格便宜。
推荐系数和评分成正比,和销量、价格成反比,所以笔者设计了一个最简单的算法:
瞎推荐系数=评分/(销量价格) * 1000
来看看这个简易的推荐算法得出的结果
可以看到在这个瞎推荐TOP20中国外景点很多(尤其是日本),确实国内到国庆了哪里其实人都是挺多的!
如果你觉得我设计的推荐算法太low了,可以自己思考下如何设计更合理,然后自己动手调试,期待看到不一样的结果!
源码地址,欢迎 Star:
https://github.com/pig6/qunar_spider

(*本文为 AI科技大本营转载文章,转载请联系原作者)

精彩推荐

2019 中国大数据技术大会(BDTC)历经十一载,再度火热来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。【早鸟票】【特惠学生票】限时抢购,扫码了解详情!

推荐阅读

  • 王霸之路:从0.1到2.0,一文看尽TensorFlow“奋斗史”

  • 伯克利人工智能研究院开源深度学习数据压缩方法Bit-Swap,性能创新高

  • NLP被英语统治?打破成见,英语不应是「自然语言」同义词

  • TensorFlow2.0正式版发布,极简安装TF2.0(CPU&GPU)教程

  • 肖仰华:知识图谱构建的三要素、三原则和九大策略 | AI ProCon 2019

  • 微软语音AI技术与微软听听文档小程序实践 | AI ProCon 2019

  • AI落地遭“卡脖子”困境:为什么说联邦学习是解决良方?

  • 10分钟搭建你的第一个图像识别模型 | 附完整代码

  • 限时早鸟票 | 2019 中国大数据技术大会(BDTC)超豪华盛宴抢先看!

你点的每个“在看”,我都认真当成了喜欢

Python告诉你这些旅游景点好玩、便宜、人又少!相关推荐

  1. 【S2023017计算机专业毕设之基于python的协同过滤旅游景点推荐系统-哔哩哔哩】 https://b23.tv/JLR2Ekk

    [S2023017计算机专业毕设之基于python的协同过滤旅游景点推荐系统-哔哩哔哩] https://b23.tv/JLR2Ekk https://b23.tv/JLR2Ekk flask+景点+ ...

  2. Python 分析国庆热门旅游景点,告诉你哪些地方好玩、便宜、人又少!

    作者 | 裸睡的猪 责编 | 屠敏 2019年国庆马上就要到来, 今年来点新花样吧, 玩肯定是要去玩的, 不然怎么给祖国庆生? 那去哪里玩?人少档次还高呢? 咱不是程序员嘛, 那就用数据分析下, 看看 ...

  3. 临近五一,游玩地点想好了吗,Python帮你查找旅游景点的详细数据

    前言 好不容易没有了疫情,三年整整三年,都要把我憋死了,想到去年暑假的时候,准备去厦门,攻略做好了,厦门疫情来了,想着转去济南也是这样,去三亚,结果收到好几万人都被留在三亚了- 搞的我又在家里躺了一个 ...

  4. 基于python马蜂窝网的旅游景点推荐系统

    设计出基于Python的青岛市旅游数据系统,主要功能包括获取各个旅游景点的数据.分析各个旅游景点的价钱.淡旺季.路线等方面,合理的向使用系统的人推荐适合的旅游景点.为此准备把各省市的热门景点通过数据分 ...

  5. python爬虫可以爬取个人信息吗_手把手教你利用Python网络爬虫获取旅游景点信息...

    爬虫系列: 当我们出去旅游时,会看这个地方有哪些旅游景点,景点价格.开放时间.用户的评论等. 本文基于Python网络爬虫技术,以hao123旅游网为例,获取旅游景点信息. 1.项目目标 获取网站的景 ...

  6. python家乡美食与旅游景点导游推荐系统django源码介绍

    现在各个行业相互渗透,单一的美食网已经不能满足人们的需求,综合性的网站会越来越成为人们的关注重点.人们的生活水平在不断提高,旅游已经成为大部分人假期生活的首要选择,但是人们在跟团旅游的时候最不满意的就 ...

  7. Python数据分析 I 全国旅游景点分析案例,哪里好玩一目了然

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 刘亦菲的老公 PS:如有需要Python学习资料的小伙伴可以加点击下 ...

  8. Python抓取全国旅游景点以及小吃数据,想做旅游攻略?Python助你事半功倍。

    前言 疫情自从来了之后已经很久没有出去旅游过了,蹭着这段疫情好转,那肯定是要出去走一走的,这一篇其实是全国旅游中的一站,因为每个城市能玩的地方太多了,一篇文章下来肯定是写不了的,所以今天就抓取一下-- ...

  9. 计算机毕业设计(2)python毕设作品之旅游景点景区售票系统

    项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于web网页的景区景点购票系统,整个网站项目使用了B/S架构,基于python的Django框架下开发:管理员通过后台录入信息.管理信息,设置 ...

最新文章

  1. leetcode 376. Wiggle Subsequence | 376. 摆动序列(动态规划)
  2. 漫画:什么是人工智能
  3. Dataloader与Dataset
  4. NLP 《分词方法》
  5. HDU1847 Good Luck in CET-4 Everybody!【SG函数】
  6. FaceBook ATC 弱网测试工具环境搭建
  7. 深刻理解Binder机制
  8. uci2019计算机录取,美国加州大学这九所分校2019最新录取数据
  9. python黑底白字的车牌_Python+OpenCV实现车牌字符分割和识别
  10. 最新1000道高频Java面试题,包含25个技术栈等面试攻略(多线程、JVM、高并发、spring、微服务、kafka,redis、分布式)从底层原理到架构
  11. 从事分布式工作10余年,这本书颠覆了我的认知 | 文末赠书
  12. 微软新搜索引擎Bing探秘(组图)
  13. StartActivity的2种用法
  14. “零售之王”银行数字化转型四大法则
  15. 计算机无法u盘启动,用u盘启动不了电脑没反应,教你用u盘启动不了电脑没反应怎么办...
  16. velocity模板大小写转换
  17. Nature综述:人类微生物培养及培养组学culturomics
  18. whoosh使用简介
  19. L1 正则化和L2正则化
  20. js引用类型之RegExp类型-new RegExp()

热门文章

  1. 2018-3-19科学网--贾琳老师《思维力量》笔记摘选(触动自己)
  2. Matlab 快捷键 设置
  3. 浅谈批处理获取管理员运行权限的几种方法
  4. 个人银行账户管理程序
  5. DTrace memory leak 内存泄露
  6. PHP PSR-4 Autoloader 自动加载(中文版)
  7. day09_读写分离_组件介绍
  8. 信息安全系统设计基础期末总结
  9. 推荐60+ Flex开发参考网站
  10. 【第22周复盘】可以查成绩了!