|
|
51CTO旗下网站
|
|
移动端

爬取点评成都数据,只为告诉你哪家火锅好吃

冬天到了,天气越来越冷,小编起床越来越困难了,每一天都想吃辣辣的火锅。那么如何选择火锅店呢?最简单的肯定是在美团、大众点评上找一找啊。所以,本文就从大众点评上爬取了成都的火锅数据,来进行了分析。

作者:胡萝卜酱来源:经管人学数据分析|2018-11-28 13:16

冬天到了,天气越来越冷,小编起床越来越困难了,每一天都想吃辣辣的火锅。成都到处都是火锅店,有名的店,稍微去晚一点,排队都要排好久,没听说的店,又怕味道不好。那么如何选择火锅店呢?最简单的肯定是在美团、大众点评上找一找啊。所以,本文就从大众点评上爬取了成都的火锅数据,来进行了分析。

1、爬虫

首先小编定位为成都,美食类型选的“火锅”,火锅具体类型选的不限,区域选的不限,排序选的智能,如图:

爬取点评成都数据,只为告诉你哪家火锅最好吃

你也可以选择别的选项,只是注意URL的变化。本文都是按照上述选项爬取的数据。接下来翻页观察一下URL的变化:

第二页:

爬取点评成都数据,只为告诉你哪家火锅最好吃

第三页:

爬取点评成都数据,只为告诉你哪家火锅最好吃

很容易观察出翻页变化的知识p后面的数字,倒推回***页,发现一样的显示内容,因此,写一个循环,便可以爬取全部页面。但是大众点评只提供了前50页的数据,所以,我们也只能爬取前50页。

这一次,小编用的pyquery来分析网页的,所以我们需要定位到我们所爬取的数据的位置,如图:

爬取点评成都数据,只为告诉你哪家火锅最好吃

在具体分析的网页的时候,我震惊了,大众点评的反爬做的太过分了,它的数字,一些文字居然都不是明文显示,而是代码,你还不知道怎么分析它。如图:

爬取点评成都数据,只为告诉你哪家火锅最好吃

很烦的,一些文字又可以显示,一些又用代码表示。一些数字也是,不过好一点的是数字只有9个,只要稍微观察一下,就能发现数字的代码是什么了。这里小编列出来了。 {'hs-OEEp': 0, 'hs-4Enz': 2, 'hs-GOYR': 3, 'hs-61V1': 4, 'hs-SzzZ': 5, 'hs-VYVW': 6, 'hs-tQlR': 7, 'hs-LNui': 8, 'hs-42CK': 9}。值得注意的是,数字1,是用明文表示的。

那么,如何用pyquery来定位呢,很简单,你找到你要获取的数据,然后右键→copy→cut selector,你复制到代码里面就OK了。pyquery的具体用法百度既有。

爬取点评成都数据,只为告诉你哪家火锅最好吃

***,我们获取了火锅50个页面的数据,每页15个数据,一共750家餐厅的数据。

爬取点评成都数据,只为告诉你哪家火锅最好吃

2、分析

大众点评已经给出了***评价,可以看看大致趋势。

爬取点评成都数据,只为告诉你哪家火锅最好吃

准五星商户最多,可能因为大部分食客都习惯给好评,只有实在不满时才会打出低评有关,造成了评级一般不低,但近满分还是蛮少的。

在本文,我们假设评论数目为饭店的热度,也就是它越火,评论数目越多。

爬取点评成都数据,只为告诉你哪家火锅最好吃

评论数目大多在1000以内,但是高于2000,甚至高于4000也还存在一些,这些饭店应该是一些网红店。以5000为约束,筛选出饭店均为小龙坎、蜀大侠都非常知名的火锅店。那么评论数量和***有关系吗?看下图:

爬取点评成都数据,只为告诉你哪家火锅最好吃

这里取其评论数平均值,发现对于四星以上商户来说,评论数和***并不关系,但均比低于四星的饭店销量更好。这说明在四星以上之后,人们选择差别不大,但一般不愿意接受评论太差的饭店。

对于小编这样的学生党来说,影响较大还有人均消费情况。

爬取点评成都数据,只为告诉你哪家火锅最好吃

成都的火锅店人均消费大部分都在50-100的区间内,高于150的也有一些。对于小编来讲,吃一顿火锅,人均在50-100是可以接受的,高于100,小编就要低头看看钱包了。那扩展看,人均消费和***、评论数量有关系吗?

爬取点评成都数据,只为告诉你哪家火锅最好吃

上图是人均消费和***的关系,看起来并无任何关系,那说明一些口碑好的火锅店,其实人均也不贵。下面看看人均和评论数目的关系吧。

爬取点评成都数据,只为告诉你哪家火锅最好吃

通过比较,发现评论数目低于500,人均在50-100区间是最多的。当然这肯定和评论数量、人均消费本身集中于这一阶段有关。

吃火锅,一家店的生意好坏,肯定还和它的特色菜有关,小编通过jieba分词,将爬取到的推荐菜做了一个词云图,如下。

爬取点评成都数据,只为告诉你哪家火锅最好吃

小编***的牛肉是特色菜之最啊,尤其是麻辣牛肉,只要去吃火锅,都要来上一份,其次是毛肚、虾滑、鹅肠等等。

接下来是大家都关心的,口味、环境和服务的情况。

爬取点评成都数据,只为告诉你哪家火锅最好吃

三者得分大多都是集中在8.0-9.2这一阶段,小编认为,低于7.5分的饭店还是不要去尝试了。同时,***评价应该也是由这三者得分产生的。

爬取点评成都数据,只为告诉你哪家火锅最好吃

爬取点评成都数据,只为告诉你哪家火锅最好吃

爬取点评成都数据,只为告诉你哪家火锅最好吃

果然如预想的一向,***评价越好,它在口味、环境和服务的得分越高。那么口味,环境,服务得分与评论数量,平均价格有关系吗?

爬取点评成都数据,只为告诉你哪家火锅最好吃

如图所看,并无什么直接关系,但是我们发现口味、环境和服务三者之间存在着非常好的线性关系,于是单独拿出来画了一个较大的图。

爬取点评成都数据,只为告诉你哪家火锅最好吃

我们并且拟合了线性关系,由于三星商户只有一家,它的情况较为特殊之外,其他***在口味、环境和服务的关系拟合中保持的相当一致,这也证明我们的猜想,这些变量之间存在线性关系。鉴于小编本文***的目的是做推荐,于是,我们进行了K-means聚类,这里小编取K为3,并且把***转换为数字,五星对应5分,准五星对应4.5分,以此类推。最终得到了三类,通过作图,看看聚类情况如何吧。

爬取点评成都数据,只为告诉你哪家火锅最好吃

爬取点评成都数据,只为告诉你哪家火锅最好吃

爬取点评成都数据,只为告诉你哪家火锅最好吃

爬取点评成都数据,只为告诉你哪家火锅最好吃

和我们想要的结果一致,在口味、环境、服务和***上得分越高,我们就越推荐。然而推荐的店铺还是好多,能不能在集中一些呢?于是小编通过限制评论数量、人均消费和特色菜来进行推荐。由于小编喜欢人少,便宜还有牛肉的店铺,这里得到了如下的结果:

爬取点评成都数据,只为告诉你哪家火锅最好吃

小编接下来要做的就是,吃遍它们,哈哈哈哈,想想都开心。

就酱~~~

代码在:https://github.com/summerheday/dazhongdianping-chengdu-hotpot

【编辑推荐】

  1. 从睫毛膏到太空垃圾,2018年度***数据可视化作品都在这了!
  2. 现代数据架构的7个关键技术
  3. 以内部视角来观察10个数据分析的成功案例
  4. 如何与医生更有效地进行数据沟通?
  5. Python数据可视化的四种简易方法
【责任编辑:未丽燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

网管员必读—网络应用(第2版)

本书虽然是《网管员必读—网络应用》的改版,但它绝不是简单的修改,而是完完全全的重写,内容更实用、更专业。全书共9章,13个大小方案,...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客