本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

今天带着大家用python分析一下美团上的按摩项目,看看老司机都喜欢玩什么服务。

本文主要分为两部分:

  • 一是数据爬取
  • 二是数据可视化

一、爬取数据

1.抓包获取数据接口

打开美团,搜索“按摩”关键词,用火狐浏览器抓包

美团这个反爬很有意思,如果单纯刷新网页,数据显示不全,“更多优惠”的内容不显示,如下图:

但是点击智能排序等排序方式时就会显示出来,如下图:

数据接口url为:

https://apimobile.meituan.com/group/v4/poi/pcsearch/1?uuid=86d6fed675bd4d2eb544.1600266551.1.0.0&userid=-1&limit=32&offset=0&cateId=-1&q=按摩&sort=default

用limit和offfset控制页码,limit表示返回数据条数,offfset代表数据返回起点,经过分析,总共大概有1000条数据。

2.爬虫爬取数据并保存为csv

经过测试发现,该url连续请求会被服务器拒绝,于是只能设置间隔时间,并且limit可以更改,最大能设置到150,也就是说我们最多1次可获取150条数据,代码如下:

url='https://apimobile.meituan.com/group/v4/poi/pcsearch/1?uuid=86d6fed675bd4d2eb544.1600266551.1.0.0&userid=92855137&limit=150&offset=1050&cateId=-1&q=按摩&sort=default'
response=requests.get(url, headers=headers)
datas=json.loads(response.text)['data']['searchResult']
print(len(datas))
for data in datas:if data['deals']!=None:title=data['title']  #名字address=data['address']  #地址lowestprice=data['lowestprice']  #最低价avgprice=data['avgprice']    #平均价格latitude=data['latitude']   longitude = data['longitude']avgscore = data['avgscore']comments = data['comments']historyCouponCount = data['historyCouponCount']areaname = data['areaname']backCateName = data['backCateName']deals = data['deals']for deal in deals:title_deal=deal['title']  #项目名字price_deal = deal['price']   #项目团购价格value_deal = deal['value']   #项目原价sales_deal = deal['sales']   #项目已售次数result=[title, address, lowestprice, avgprice,latitude,longitude,avgscore,comments,historyCouponCount,areaname,backCateName,title_deal,price_deal,value_deal,sales_deal]with open('1.csv', 'a+', newline='',encoding='gb18030') as f:f_csv = csv.writer(f)f_csv.writerow(result)

基本把有用的数据都保存了,数据展示如下:

二、数据可视化

先用pandas读取数据

import pandas as pd
data=pd.read_csv('美团按摩.csv',encoding='gb18030')

1.价格分布极坐标系

我们先来看看所有按摩项目价格的分布情况

price_dict={}
for i in list(set(list(data['price_deal']))):price_dict[i]=list(data['price_deal']).count(i)
prices=[(i,price_dict[i]) for i in list(price_dict.keys())]
c = (Polar({"theme": ThemeType.PURPLE_PASSION}).add_schema(angleaxis_opts=opts.AngleAxisOpts(start_angle=0, min_=0,type_="value", is_clockwise=True)).add("", prices, type_="scatter", label_opts=opts.LabelOpts(is_show=False)).set_global_opts(tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),title_opts=opts.TitleOpts(title="按摩价格分布极坐标图",pos_right='40%'),)
)
c.render_notebook()

不是很明显,再对价格划分区间,看一下饼状图

price_range=['0-200元','200-500元','500-1000元','1000-2000元','2000元以上']
price_dict={}
price_dict[price_range[0]]=len(list(data[data['price_deal']<=200]['price_deal']))
price_dict[price_range[1]]=len(list(data[data['price_deal']<=500]['price_deal']))-price_dict[price_range[0]]
price_dict[price_range[2]]=len(list(data[data['price_deal']<=1000]['price_deal']))-price_dict[price_range[1]]
price_dict[price_range[3]]=len(list(data[data['price_deal']<=2000]['price_deal']))-price_dict[price_range[2]]
price_dict[price_range[4]]=len(list(data[data['price_deal']>=1000]['price_deal']))
from pyecharts import options as opts
from pyecharts.charts import Pie
pie = (Pie().add("",[(i,price_dict[i])for i in list(price_dict.keys())],radius=["30%", "75%"],center=["50%", "50%"],rosetype="radius",label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="Pie-玫瑰图示例")).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
)
pie.render_notebook()

从价格分布图上来看,大概200元以内的项目占31.58%,200-500元以内的占15.59,500-1000元以内的占35.95%,1000-2000元以内的占16.22%,2000元以上0.86%。商家侧重的价格区间在500-1000元。

2.价格最贵的20个项目

price_rank=data.sort_values(by='price_deal',ascending=False).head(20)
bar = (Bar(init_opts=opts.InitOpts(width=1200,height=900)).add_xaxis(list(price_rank['title_deal'])[::-1]).add_yaxis("", [float(i) for i in list(price_rank['price_deal'])[::-1]],color='#2F4F4F').reversal_axis().set_global_opts(title_opts=opts.TitleOpts("最贵按摩服务排行",pos_right='40%',pos_top='0%'),xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True),name="价格"),yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True),axislabel_opts=opts.LabelOpts(color='#FF6347'),name="项目"),).set_series_opts(label_opts=opts.LabelOpts(position="right",color='#006400')))grid = (Grid().add(bar, grid_opts=opts.GridOpts(pos_left="25%",pos_right="5%"))
)
grid.render_notebook()

看起来都好高大上,你中意哪一个?

3.销量最高的项目(老司机最喜欢的)

bar = (Bar({"theme": ThemeType.DARK}).add_xaxis(list(price_rank['title_deal'])[::-1]).add_yaxis("", [float(i) for i in list(price_rank['sales_deal'])[::-1]]).reversal_axis().set_global_opts(title_opts=opts.TitleOpts("最受喜爱服务项目排行",pos_right='40%',pos_top='0%'),xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True),axislabel_opts=opts.LabelOpts(color='#FFD700')),).set_series_opts(label_opts=opts.LabelOpts(position="right",color='#FF1493')))grid = (Grid({"theme": ThemeType.DARK}).add(bar, grid_opts=opts.GridOpts(pos_left="25%",pos_right="0%"))
)
grid.render_notebook()

这是什么鬼,九阳神功足疗?明显已经超出我的认知范围了

初步观察,应该是美团连锁店,销量都是共享的,或者是刷销量的,咱也不懂,咱也不敢问

于是我决定对项目列进行去重,再把价格加上

price_rank=data_quchong.sort_values(by='sales_deal',ascending=False).head(10)
bar = (Bar({"theme": ThemeType.DARK}).add_xaxis(['{0}:  {1}元'.format(str(i),j) for i,j in zip(list(price_rank['title_deal'])[::-1],list(price_rank['price_deal'])[::-1])]).add_yaxis("", [float(i) for i in list(price_rank['sales_deal'])[::-1]]).reversal_axis().set_global_opts(title_opts=opts.TitleOpts("最受喜爱服务项目排行",pos_right='40%',pos_top='0%'),xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True),axislabel_opts=opts.LabelOpts(color='#FFD700')),).set_series_opts(label_opts=opts.LabelOpts(position="right",color='#FF1493')))grid = (Grid({"theme": ThemeType.DARK}).add(bar, grid_opts=opts.GridOpts(pos_left="30%",pos_right="5%"))
)
grid.render_notebook()

看的我激动的直搓手,泡脚足浴毫无悬念排第一,老司机的最爱,价格实惠效果好!
但是我就是想知道排第二的九阳神功足疗到时是什么奇特的效果

于是我特意查了一下

感觉还不错哈!

以下文章来源于python数据分析之禅 ,作者小dull鸟

转载地址

https://blog.csdn.net/fei347795790?t=1

九阳神功足疗是什么?分析美团按摩项目,泡脚足浴排第一相关推荐

  1. 实地走访,开一间足疗店能挣多少钱?

    大家好,我是小z 今天给老司机们分享一篇足疗店的硬核内容 近几年广州街头出现很多足疗店,20平米店面,几张足疗椅加上几个足疗师就可以营业,租金成本不高,感觉门槛也不高,我禁不住好奇开一间这样的店能挣多 ...

  2. 软件有效期如何实现_足疗洗浴收银软件如何实现跨店管理?

    随着人们对于健康养生的需求,市场上足疗洗浴门店越来越多,有许多门店已经形成了自己的品牌,开始了连锁加盟发展模式,但是呢,连锁加盟同样带来了各种各样的问题,再详尽的连锁加盟条款也无法解决管理上的各种痛点 ...

  3. 足疗师手把手教你家中做足疗

    足疗师手把手教你家中做足疗 一.含苞未放:把脚擦干,之后涂抹润肤油; 二.金鱼摆尾:双手横向拍打双脚外侧,起到放松小腿肌肉的作用; 三.隔墙有耳:双手握住一只脚,向内稍用力挤压; 四.仙鹤展翅:双手在 ...

  4. DBA一族九阳神功秘籍

    标签 PostgreSQL , 节假日巡检 , 监控 , 闪回 , flash back query , trigger , event trigger , 回收站 , recycle bin , p ...

  5. 商业研究(21):活力蛙,足疗O2O,曾经的“中国上门足疗领先品牌”

    友情提示: 商业研究系列文章,只探讨项目和相关项目的商业本身,不针对任何人和任何组织!!! 2015年,在京东-东家 股权众筹平台,参与投资了足疗O2O项目,活力蛙.      后来由于,股市大跌和资 ...

  6. 足疗浴池收银软件如何帮助商店进行良好的市场定位?

    对于足疗洗浴店来说,市场定位非常重要,这是影响足疗店特色经营的关键,也是该店成功经营的第一步.简而言之,它是指足疗浴场主营业务的项目定位.这是在经营门店之前需要确定的内容,在足疗和沐浴店持续经营期间也 ...

  7. 基础知识真的是九阳神功吗?

    有不少读者咨询过基础知识相关的问题. 有问怎么能够学好基础知识,有问基础知识到底有什么用,也有直接过来喷我,说工作只有CRUD,基础知识就是忽悠. 当然,也有一种论调说,基础知识就像是编程中的九阳神功 ...

  8. 编程基础知识真的是九阳神功吗?

    作者|大飞码字 来源|大飞码字(ID:BigFly1024) 有不少读者咨询过基础知识相关的问题. 有问怎么能够学好基础知识,有问基础知识到底有什么用,也有直接过来喷我,说工作只有CRUD,基础知识就 ...

  9. 38岁女强人转行做足疗店,只用一年就把两家同行都挤垮了?

    琴姐今年38岁,至今未婚,一个人经营着一家足疗店.很多人都说,像琴姐这个年纪,不结婚就算了,连个孩子都没有,以后的生活肯定会过得很苦.然而在我看来,生活苦不苦其实和结婚或者是生孩子都没有关系. 一个人 ...

  10. php足疗预约,足浴养生管理系统轻松实现各种线上预约功能?

    越来越多的人开始注重养生,不仅是因为工作压力,也是由于人们开始注重自身健康,毕竟革命需要本钱,花钱去做一次足疗.足浴换得身心的短暂修复,成为了许多人的首选,所以传统足疗足浴行业面临新的消费人群,以及消 ...

最新文章

  1. 深度学习中的反向卷积
  2. 线上比赛中关于视觉AI组与信标组补充说明
  3. 网络营销外包——网络营销外包专员如何做好网站锚文本优化?
  4. AKOJ-2037-出行方案
  5. vscode 注释_VSCode最强助攻
  6. 【win32】vs2010的窗体程序Helloworld
  7. 论文浅尝 | LGESQL: 结合线性有向图以及普通有向图的自然语言转换SQL语句模型...
  8. windows2008强制卸载辅域和元数据
  9. swift版的StringAttribute
  10. 95-268-280-源码-Flink通信层的序列化与反序列化
  11. el-input输入值无法在输入框显示
  12. Inondb中的checkpoint
  13. next主题设定代码高亮格式
  14. 【One by one系列】一步步部署.net core应用
  15. PHP获取grpc请求时间,Go gRPC进阶-超时设置(六)
  16. 安装 Linux双系统
  17. 全球软件公司排名2020
  18. 深度学习基础 - 余弦定理
  19. python 获取qq群成员信息_用Python编写工具获取QQ群成员的昵称和号码,使用,及,小...
  20. 理财U24 认股权证、可赎债、可转债、永续债、优先股 教材解读

热门文章

  1. 风控小白必看!主流风控模型解析
  2. java 图片去水印_Java实现图片水印
  3. 【EMNLP2020】忒修斯之船启发下的知识蒸馏新思路 - 微软研究院
  4. fiddler进行弱网测试
  5. uniapp实现拨打电话跳转手机拨号盘
  6. 应用stm32f10x的定时器TIM3的PWM实现歌曲播放
  7. Activiti工作流会签设计
  8. 多家银行手机转账现高危漏洞 ,用户资金或被非法窃取
  9. 全阶滑模观测器程序_滑模观测器设计
  10. 安卓各版本大变化(Android 6.0到10.0),兼容适配