前言:

Python对于本人来讲也是一个在逐渐学习掌握的过程,这次的内容就从旅游开始讲起,进入正文前首先附(fang)上(du)最令我垂涎欲滴的海鲜盛宴。

数据爬取:

最近几天朋友圈被大家的旅行足迹刷屏了,惊叹于那些把全国所有省基本走遍的朋友。与此同时,也萌生了写一篇旅行相关的内容,本次数据来源于一个对于爬虫十分友好的旅行攻略类网站:蚂蜂窝

PART1:获得城市编号

蚂蜂窝中的所有城市、景点以及其他的一些信息都有一个专属的5位数字编号,我们第一步要做的就是获取城市(直辖市+地级市)的编号,进行后续的进一步分析。

以上两个页面就是我们的城市编码来源,需要首先从目的地页面获得各省编码,之后进入各省城市列表获得编码。过程中需要Selenium进行动态数据爬取,部分代码如下:

PART2:获得城市信息

城市数据分别从以下几个页面获取:

(a)小吃页面

(b)景点页面

(c)标签页面

我们将每个城市获取数据的过程封装成函数,每次传入之前获得的城市编码,部分代码如下:

数据分析:

PART1:城市数据

首先我们看一下游记数量最多的TOP10城市:

游记数量TOP10数量基本上与我们日常所了解的热门城市相符,我们进一步根据各个城市游记数量获得全国旅行目的地热力图:

看到这里,是不是有种似曾相识的感觉,如果你在朋友圈晒的足迹图与这幅图很相符,那么说明蚂蜂窝的数据与你不谋而合。

最后我们看一下大家对于各个城市的印象是如何的,方法就是提取标签中的属性,我们将属性分为了休闲、饮食、景点三组,分别看一下每一组属性下大家印象最深的城市:

看来对于蚂蜂窝的用户来说,厦门给大家留下的印象是非常深的,不仅游记数量充足,并且能从中提取的有效标签也非常多。重庆、西安、成都也无悬念的给吃货们留下了非常深的印象,部分代码如下:

PART2:景点数据

我们提取了各个景点评论数,并与城市游记数量进行对比,分别得到景点评论的绝对值和相对值,并据此计算景点的人气、代表性两个分数,最终排名TOP15的景点如下:

蚂蜂窝网友对于厦门真的是情有独钟,鼓浪屿也成为了最具人气的景点,在城市代表性方面西塘古镇和羊卓雍措位列前茅。小长假来临之际,如果担心上排的景点人太多,不妨从下排的景点中挖掘那些人少景美的旅游地。

PART3:小吃数据

最后我们看一下大家最关注的的与吃相关的数据,处理方法与PART2景点数据相似,我们分别看一下最具人气和最具城市代表性的小吃

出乎意料,蚂蜂窝网友对厦门果真爱得深沉,让沙茶面得以超过火锅、烤鸭、肉夹馍跻身最具人气的小吃。在城市代表性方面,海鲜的出场频率非常高,这点与大(ben)家(ren)的认知也不谋而合,PART2与3的部分代码如下:

做一个python的旅游系统_我把全国旅游数据用Python爬下来后发现,这个地方才是真正的旅游胜地...相关推荐

  1. python操作word填表_#如何将现有的数据利用python 填入word的表格中?#

    如何让Word表格中的数据自动填入到Excel表格中 你好 在插入对象中,建立一个数据源 怎么把excel中的数据批量导入到word中的表格中 1.首先打开excel文件,随意复制文件一块区域. 2. ...

  2. 如何用python做一个会聊天的女朋友_戏精程序员,用python开发了一个女朋友,天天秀恩爱...

    很多人都知道,程序员大部分都是单身狗,然而,无奈Python实在太强大,居然可以用来开发一个女朋友出来. 其实,这个女朋友类似很多视频中,那些假装自己有女朋友或男朋友的人一样,也是在假装哦,但是程序员 ...

  3. python手机销售系统_京东手机销售数据分析kaggle复盘python+tableau分析

    1.数据获取 由于手机的价格以及评论数是需要经过javascript渲染的动态信息,单纯用requests模块是爬取不到的.解决方案是首先使用selenium的webbrowser模块使用本地Chro ...

  4. 【Unity3d】 教会你如何做一个简单的电梯系统(升降平台)

    博主第一次写博客,语言略俗,有不足之处还请指正! 由于自己还处在unity小白阶段,受2d升降平台的影响(后续我也会上传关于2d升降平台的文章),突发奇想如何用3d做一个电梯系统,查阅网上资料后,发现 ...

  5. 用U盘做一个即插即用的unbuntu20系统

    用U盘做一个即插即用的unbuntu20系统 前言 因为常规安装方法会和硬件绑定,所以你在移动硬盘.U盘烧录了一个unbuntu,换一个系统就用不了.会很麻烦.所以这里用VMware做一个随身可带的系 ...

  6. 使用c#做一个书店买书系统

    用VS做一个书店智能售卖系统,运行结果如图所示 下面展示一些 内联代码片. // An highlighted blockint lvYe = 59;int chaHua = 46;int shiGe ...

  7. python分布式爬虫系统_如何构建一个分布式爬虫:理论篇

    前言 本系列文章计划分三个章节进行讲述,分别是理论篇.基础篇和实战篇.理论篇主要为构建分布式爬虫而储备的理论知识,基础篇会基于理论篇的知识写一个简易的分布式爬虫,实战篇则会以微博为例,教大家做一个比较 ...

  8. python股票全套系统_熬了一晚上,小白用Python写了一个股票提醒系统

    码农小马七夕节去相亲了,见了一个不错的姑娘,长的很是甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!可是突然想起年初还有几万块在股市里面 ...

  9. python实现秒杀系统_双十一买买买,教你用Python实现秒杀系统

    原标题:双十一买买买,教你用Python实现秒杀系统 简书博客地址: https://www.jianshu.com/u/8f4d80000566 架构搭建是重点,代码或语言实现较简单. 本篇用pyt ...

最新文章

  1. python数据分析numpy_Python数据分析之numpy学习
  2. 【RegExp】JavaScript中正则表达式判断匹配规则以及常用方法
  3. python批量删除注释_批量删除C和C++注释
  4. 快速掌握MATLAB应用,只要从这一步开始!
  5. 网易云容器服务基于Kubernetes的实践探索
  6. 往mysql数据库中存当前日期_在MySQL数据库中存储日期的最简单方法是什么?
  7. SetWindowLong 除去窗体标题栏
  8. android自定义布局中的平滑移动
  9. PHPCrawl webcrawler library/framework
  10. iconfont-阿里巴巴矢量图标库的使用方法
  11. Android 6.0 双向通话自动录音
  12. java视频教程,Java面试资料
  13. Springboot上传视频到阿里云(视频点播)和aliyun-java-sdk-vod依赖报红问题
  14. 关于C++中Eigen库效率提升的思考
  15. LabVIEW学习分享(2)
  16. 常见网络聊天术语(中英文对照)
  17. R语言Excel的读写
  18. 北京数字认证bjca证书垃圾,报错:错误代码 EC999
  19. python怎么消除警告_Python-警告处理
  20. linux进程管理 实现管道通信,Linux进程管理(二)管道通信 · lww’s Blog

热门文章

  1. 干货 | 携程IT数字办公平台iDesk的运营实践
  2. Github 定制炫酷主页
  3. 金三银四之ConcurrentHashMap剖根问底栏目(二)
  4. photoshop-v.1.0.1源码分析第三篇–FilterInterface.p
  5. C++ 猜数字游戏之全英文版
  6. ux设计工具_UX设计人员的5种视觉设计工具
  7. 发生交通事故后需要注意什么
  8. 分布式系统知识学习(四)分布式时钟
  9. java swing jtoolbar_Java Swing JToolBar
  10. Docker+k8s 容器云建设中 10 个常见难点