作者 | 胡萝卜酱

责编 | 伍杏玲

成都到处都是火锅店,有名的店,稍微去晚一点,排队都要排好久,没听说的店,又怕味道不好。

那么如何选择火锅店呢?最简单的肯定是在美团。大众点评上找一找啊。所以,本文就从大众点评上爬取了成都的火锅数据,来进行了分析。

爬虫

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

你也可以选择别的选项,只是注意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来定位呢,很简单,你找到你要获取的数据,然后右键copycut selector,你复制到代码里面就OK了。pyquery的具体用法百度既有。

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

分析

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

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

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

评论数目大多在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分,以此类推。最终得到了三类,通过作图,看看聚类情况如何吧。

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

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

就酱,┏(^0^)

代码在:

https://github.com/summerheday/dazhongdianping-chengdu-hotpot

热 文推 荐

python爬取大众点评数据_Python 爬取大众点评 50 页数据,最好吃的成都火锅竟是它!...相关推荐

  1. python爬取大众点评_Python 爬取大众点评 50 页数据,最好吃的成都火锅竟是它!...

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

  2. python从txt拿取数据_python requests + xpath 获取分页详情页数据存入到txt文件中

    直接代码,如有不懂请加群讨论 # *-* coding:utf-8 *-* # import json import requests import pytesseract import time i ...

  3. python中xpath如何获取内容_python requests + xpath 获取分页详情页数据存入到txt文件中...

    直接代码,如有不懂请加群讨论 # *-* coding:utf-8 *-* # import json import requests import pytesseract import time i ...

  4. python爬取虎扑评论_Python爬取NBA虎扑球员数据

    虎扑是一个认真而有趣的社区,每天有众多JRs在虎扑分享自己对篮球.足球.游戏电竞.运动装备.影视.汽车.数码.情感等一切人和事的见解,热闹.真实.有温度. 受害者地址 https://nba.hupu ...

  5. Recyclerview删除数据后无法加载下一页数据(或者是漏了一条数据)

    使用场景:项目中用到了"订单列表"界面,会有个删除订单的功能,点击删除之后,之前一页的10个数据会变成9个,然后加载更多就触发不了(也可能会少一条数据) 分析:触发不了是我的rec ...

  6. python爬取地理数据_python爬取所有人位置信息——腾讯位置大数据

    腾讯位置大数据 网站 https://heat.qq.com/ 网站功能介绍 腾讯位置大数据会将提供所有用户使用腾讯位置的数据信息,但没有用户信息(只有位置信息).从这个网站我们可以获取所有使用腾讯位 ...

  7. python爬虫数据_python爬取数据分析

    一.python爬虫使用的模块 1.import requests 2.from bs4 import BeautifulSoup 3.pandas 数据分析高级接口模块 二. 爬取数据在第一个请求中 ...

  8. python爬取微博恶评_Python爬取新浪微博评论数据,了解一下?

    开发工具 **Python版本:**3.6.4 相关模块: argparse模块: requests模块: jieba模块: wordcloud模块: 以及一些Python自带的模块. 环境搭建 安装 ...

  9. python爬虫数据分析项目 双十一_Python爬取淘宝商品数据,价值千元的爬虫外包项目!...

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 完整代码可以点击下方链 ...

最新文章

  1. 面试官:Redis用过是吧?那你讲讲Redis都有哪些监控指标?
  2. VMware 虚拟机 1、ubuntu 扩容(扩展硬盘容量)2、修改内存大小
  3. MySQL(10)数据库实现高可用架构之MHA
  4. mysql自增id用完了_MySQL 自增 ID 用完了怎么办?
  5. 来到博客园 就要好好记录 分享技术
  6. OpenCV3学习(8.3)模板匹配函数matchTemplate详解
  7. linux脚本中空格怎么显示,linux vim 显示空格
  8. fcm脑图像分割matlab,MATLAB程序:用FCM分割脑图像
  9. python目标函数_python遗传算法目标函数怎么编
  10. android布局置顶_android linearlayout imageview置顶摆放
  11. 连接到此计算机的本地打印机无法选择,Win7系统连接打印机出现本地打印后台处理程序服务没有运行怎么办...
  12. 在ubuntu中运行qq
  13. 系统大作业. 多酶级联反应酶配比及投料优化(1)
  14. android 排他button,javascript排他思想
  15. 【转】加油站压力/真空阀(PV阀)的工作原理及安全注意事项
  16. “墨子”升空 首席科学家谈中国量子通信技术
  17. 自然语言处理中的迁移学习(下)
  18. Ubuntu官方下载地址
  19. Kerberos介绍(全)
  20. CSS选择器优先级比较

热门文章

  1. 计算机毕业设计ssmJava网名推荐系统5j37v系统+程序+源码+lw+远程部署
  2. 群晖黑科技docker套件_群晖Docker套件下搭建运行MSSQL方法
  3. Github学习之旅
  4. C语言中static关键字和break/continue在for/while循环中的作用
  5. linux调整屏幕位置,怎么消除linux下的屏幕偏移现象和调整屏幕刷新率?
  6. iOS 查漏补缺 - RunLoop
  7. Hessian序列化实例
  8. parseFloat详解
  9. 【客户案例】母婴行业头部品牌是如何做私域的
  10. Redis Sentinel-深入浅出原理和实战