正值国庆七天小长假来临
也许你想着要去哪里浪
当你计划好所有行程
出门时可能遇到以下这种情况
......
为避免以上情况出现
我用 Python 爬取了马蜂窝的出行数据之后
告诉你国庆这几个地方不要去!
真的 hin 挤!
1、获得城市编号
马蜂窝中的所有城市、景点以及其他的一些信息都有一个专属的 5 位数字编号,我们第一步要做的就是获取城市(直辖市+地级市)的编号,进行后续的进一步分析。
以上两个页面就是我们的城市编码来源。需要首先从目的地页面获得各省编码,之后进入各省城市列表获得编码。
过程中需要 Selenium 进行动态数据爬取,部分代码如下:
2、获得城市信息
城市数据分别从以下几个页面获取:
(a)小吃页面
(b)景点页面
(c)标签页面
我们将每个城市获取数据的过程封装成函数,每次传入之前获得的城市编码,部分代码如下:
3、数据分析
PART1:城市数据
首先我们看一下游记数量最多的 TOP 10 城市:
游记数量 TOP 10 数量基本上与我们日常所了解的热门城市相符,我们进一步根据各个城市游记数量获得全国旅行目的地热力图:
看到这里,是不是有种似曾相识的感觉,如果你在朋友圈里看到别人晒的足迹图与这幅图很相符,那么说明马蜂窝的数据与你不谋而合。
最后我们看一下大家对于各个城市的印象是如何的,方法就是提取标签中的属性,我们将属性分为了休闲、饮食、景点三组,分别看一下每一组属性下大家印象最深的城市:
看来对于马蜂窝的用户来说,厦门给大家留下的印象是非常深的,不仅游记数量充足,并且能从中提取的有效标签也非常多。重庆、西安、成都也无悬念地给吃货们留下了非常深的印象,部分代码如下:
PART2:景点数据
我们提取了各个景点评论数,并与城市游记数量进行对比,分别得到景点评论的绝对值和相对值,并据此计算景点的人气、代表性两个分数,最终排名 TOP 15 的景点如下:
马蜂窝网友对于厦门真的是情有独钟,鼓浪屿也成为了最具人气的景点,在城市代表性方面西塘古镇和羊卓雍措位列前茅。暑假之际,如果担心上排的景点人太多,不妨从下排的景点中挖掘那些人少景美的旅游地。
PART3:小吃数据
最后我们看一下大家最关注的的与吃相关的数据,处理方法与 PART2 景点数据相似,我们分别看一下最具人气和最具城市代表性的小吃。
出乎意料,马蜂窝网友对沙茶面是真爱,竟然超过火锅、烤鸭、肉夹馍,跻身最具人气的小吃。
在城市代表性方面,海鲜的出场频率非常高,这点与大(ben)家(ren)的认知也不谋而合,PART2 与 3 的部分代码如下:
网友评论