但是本文需要爬取两层数据,首先需要在店铺列表取得店铺id、店铺名和销量等相关数据,第二步还需要根据刚刚的店铺id进入每一个店铺请求评论数据,相关代码如下
for k in url_list:
url = k
r = requests.get(url,headers = headers,proxies=proxies)
data = r.json()[‘data’][‘poiInfos’]
for i in range(len(data)):
ID = data[i][‘poiId’]
biaoti = data[i][‘title’]
junfen = data[i][‘avgScore’]
pingjia = data[i][‘allCommentNum’]
dizhi = data[i][‘address’][0:3]
junjia = data[i][‘avgPrice’]
youhui = 1 if len(data[i][‘dealList’]) > 0 else 0
df.loc[s] = [ID,biaoti,junfen,pingjia,dizhi,junjia,youhui]
s = s + 1
来看下最终爬取并清洗完毕的数据,经过提取共有评论数据、店铺基本信息数据、评论标签数据👇
首先看下重庆市不同地区的火锅店分布,找火锅店嘛,总要找火锅店多的地区,这样能选择的店铺也更多
从上图可以看到,重庆市的火锅店基本集中在渝中区、渝北区、沙坪坝区、南岸区,并且经过进一步的计算可以得到这四个区的火锅店总数为388家,在所有进入统计的重庆市27个区县共750家店铺中占到了超过一半,所以优先去这四个区,十步一家火锅店,总有你要的!
在对地点分析之后,我们来对吃火锅的时间进行分析,以评论数量代替同时吃火锅的人数,并使用Pandas提取含有时间的评论并进行整理得到不同时间的人流量与平均评分
从上图可以看到,重庆人民吃火锅的时间集中在下午和晚上,并且高峰期集中在晚上7点至11点
,所以想安安静静吃火锅可以避开这段时间。不过从整体评价来看下午的评价不太好,反而晚上10点之后的评价比较高,可能是大家对于老板也耐心等候表示认可👇
每个店铺下的评价都有顾客评价的标签
本节我们通过绘制好评用户的矩形数图来看下带有哪些标签的火锅店获得的好评更多
从上图可以看出除了味道赞,重庆人更喜欢去回头客多、上菜快的店铺,所以当我们寻找一家火锅店的时候,点开店铺评价,按照带有上面标签找准没错。
在挑选一家火锅店的时候,价格也是很重要的一项参考指标,本节对人均价格绘制直方图同时添加对应价格的平均分曲线👇
可以看到,虽然重庆火锅店多,但是人均价格超过一百的并不多,大多集中在50—80之间,并且不是越便宜得到的评分越高,反而平均分最高的一个价格区间为100-110,其次是70-80,所以想要火锅吃的爽,至少准备一百块。
相信大家都会在去吃火锅之前看下商家是否有代金券/团购,所以本节使用箱线图对重庆市火锅店的优惠信息进行分析
图中箱子越宽说明数量越多,可以看到大部分商家是出售代金券的,是否有代金券对于高分评价没啥影响,但是有代金券的最低分是0分而没有代金券的商家最低分是3+,所以并不是一定要选有优惠的,有时没有优惠可能体验更好哦。
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!