feedback

意见

反馈

back-to-up

回到

顶部

科学选旅馆,数据说了算 | DT×NYCDSA

NYCDSA

Johnnie    08-31

我们外出旅游,酒店一定会占据一大部分开销。哪些酒店的价格时合理的?这个价格配得上它的地理位置么?这个价格和它对应的服务匹配么?数据侠 Johnnie 以纽约的酒店为例,尝试用数据一窥决定酒店价格的因素,做出一份出行居住指南。

Tripadvisor 是美国最大的旅游网站之一,你可以轻松查到纽约所有酒店的信息,包括:酒店星级,价格,位置,用户评论。

我使用了爬虫工具 Selenium 来爬取这个网站的数据。过程如下:首先打开主页;然后找到每一页的 url;点击每个url 进入对应页面,点击进入每个酒店的主页;最后,爬取细节信息(价格,星级,评分,地理位置,评论中最常用的词语)。

对我来说,挑战在于找到对应每个希望爬取的内容的XML路径语言。有时候是因为我检查网页时,没有找到单一的XML路径语言。有时候是因为信息是用 AJAX 写的,Selenium无法爬取。其中,我把每页的url 都列出来是因为在这个网站中,“下一页”按钮没有自己的XML路径语言。

而且,当我第一次爬取酒店价格数据时候,有许多酒店的数据是空的。当我回去查看一遍的时候,我发现他们的XML路径语言与其他酒店不同,所以我增加了更多XML路径语言直到完成所有爬取。

在做爬虫的过程中,我还是遇到了一些数据缺失。纽约酒店一共有四百多家,但我每次只能爬取100家。于是我爬取了三次,然后结合这些结果得到一共252家酒店的数据。

这说明,即使你对爬虫掌握的比较熟练,但是在实际爬取的过程中,由于不同网站的设计不同,你总会遇到很多意外的情况,有时候不能收集到完美的数据集。这是导致了第三方爬取数据产生误差的主要原因。

完成了数据爬取工作后,我对其进行了一些简要处理,然后就可以分析了。

首先我们来看看价格。曼哈顿酒店的平均价位是一晚上123美元。而且,281美元以下的占了75%。说明最常见的价格是在123到281美元之间。

接下来,我们来看一看价格与不同因子之间的关系。首先是价格和酒店星级。

通常,酒店星级越高,价格越贵。然而,从下图看出,即便五星酒店也有一些房间价格和低于五星酒店一样。所以这两个变量间没有很强的关联。可能是酒店在淡季打折造成的,至于旅客,价格一样当然选星级高的了。

其次是价格与排名。根据下图,其中的点在排名第一和排名251之间呈现均匀分布。说明价格和排名没有什么直接关系。

接着,我们来看看价格与位置。

我用邮编来代替具体地理位置。如下图,有些区域有最贵的均价,包括10010,10021,10023.(大概对应的是华盛顿广场公园,上东区,林肯中心)。然而,其他的所有区域价格就都比较相似了。所以,只有选择上述三个区域,才会支付比较贵的价格,可能高于400美元,否则他们基本不会花费超过300美元。

(图片说明:横坐标为邮编,代表地理位置,注意10010华盛顿广场公园)
(图片说明:横坐标为邮编,代表地理位置,注意10021上东区、10023林肯中心)

然后是酒店评价。酒店评价中包含了更多的信息。我为不同星级的酒店制作了4组词云图。

一方面,所有酒店都有“房间太小”这么个负面评价。这意味着,如果你住在纽约,房子就永远都会是很小。

另一方面,随着星级上升,人们开始更关心附加价值。比如,对于2星的酒店,我们可以看到“早餐”成为常出现的词语。三星是“免费早餐”,四星是“免费早餐”和“电影”以及“城市景色”。对于五星酒店,我们可以看到“屋顶酒吧”,“饭店”和“娱乐室”等。

(图片说明:左边是二星级酒店词云,右边是三星级酒店词云)

(图片说明:左边是四星级酒店词云,右边是五星级酒店词云)

所以,我们分析了这么多,到底什么价格是合理的呢?答案其实并不唯一。但是我们找到了几个有用的点,可以为你提供一些参考。

  1. 一个游客来到纽约,住宿可能需要每晚至少123美元
  2. 更高的星级,也可能会更便宜
  3. 一些地区(华盛顿广场公园,上东区,林肯中心)住宿更贵
  4. 大多数酒店的额房间都有点小
  5. 选择三星酒店或四星酒店很可能比二星酒店或五星酒店体验更佳

所以,下次来纽约的时候,希望你能选到自己最钟意的酒店咯。

本文编译自技术博客 Scriping Tripadvisor: A Guide for New York City Travelers on Choosing A Hotel,仅代表作者观点。)

数据侠门派

本文数据侠 Johnnie 是纽约数据科学学院的学生,对数据分析具有浓厚的兴趣。

关于DT×NYCDSA

DT财经与纽约数据科学学院是战略合作伙伴。DT×NYCDSA 系合作开设的系列专栏。

加入数据侠

数据侠计划是由第一财经旗下DT财经发起的数据社群,包含数据侠专栏、数据侠实验室系列活动和数据侠联盟,旨在聚集大数据领域精英,共同挖掘数据价值。申请入群请添加微信公号dtcaijing003并备注“数据社群”,合作请联系datahero@dtcj.com。

 

 

 

分享这篇文章到