Python爬取奶茶店数据分析哪家最好喝以及性价比


Posted in Python onSeptember 23, 2022

序篇

天气真的很热啊… 很想有一杯冰冰凉凉的奶茶来解渴~

但是现在奶茶店这么多, 到底哪一家最好喝、性价比最高呢?

数据获取

本文抓取了12个热门城市的奶茶店名单,

城市包括:北京、上海、广州、深圳、天津、西安、重庆、杭州、南京、武汉、成都和长沙。

共计68614家奶茶店,3万多个奶茶品牌。

在构建抓取URL时,

需要注意将城市的维度具体到城市商圈,

因为每个URL最多只显示32页内容,

保证抓取每个城市时的数据量是准确的。

Python爬取奶茶店数据分析哪家最好喝以及性价比

# 构建抓取URL
def get_url_1():
    for city,city_code in city_dict.items():
        for block_dict in area_dict[city]:
            for children in block_dict['children']:
                for page in range(1,33):
                    block_code = children['id']
                    offset = 32 * (page-1)
                    # print(city, area, block, block_code)
                    url = 'https://apimobile.meituan.com/group/v4/poi/pcsearch/{}?uuid=6ddabcb37fdd4a8e9cdf.1599125825.1.0.0&userid=280531290&limit=32&offset={}&cateId=-1&q=奶茶果汁&areaId={}&sort=solds'.format(city_code,offset,block_code)
                    redis_db.sadd('meituan_milk', url)

数据清洗

数据清洗部分,主要清洗了奶茶店铺名称,

但是同一个奶茶品牌会有多种格式,如1点点和1點點,

大卡司和大卡司DAKASI。

由于奶茶品牌数量众多,

并且真假难辨,所以只能进行针对性清洗,

对部分名气高的奶茶品牌名称要保证其统一。

# 清洗字段
def clean(x):
    title = re.sub(u"(.*?)", "", x['title'])
    title = title.replace('點點','点点').replace('(','').replace(')','')
    title = title.replace('一点点','1点点')
    if '一杯会说话的茶' in title:
        title = '1314一杯会说话的茶'
    elif '大卡司' in title:
        title = '大卡司DAKASI'
    elif '1点点' in title:
        title = '1点点'
    elif '都可' in title:
        title = 'CoCo都可'
    elif '书亦烧仙草' in title:
        title = '书亦烧仙草'
    elif '蜜雪冰城' in title:
        title = '蜜雪冰城'
    elif 'royal' in title or 'Royal' in title or 'ROYAL' in title:
        title = 'Royaltea皇茶'
    elif 'ALS' in title:
        title = 'ALS GONG CHA贡茶'
    elif 'GONG' in title:
        title = '贡茶'
    elif '茶百道' in title:
        title = '茶百道'
    elif '吾饮良品' in title:
        title = '吾饮良品'
    elif '悸动烧仙草' in title:
        title = '悸动烧仙草'
    elif '沪上阿姨' in title:
        title = '沪上阿姨'
    elif '7分甜' in title:
        title = '7分甜'
    elif '古茗' in title:
        title = '古茗'
    elif '奈雪' in title:
        title = '奈雪の茶'
    elif '悦色' in title:
        title = '茶颜悦色'
    else:
        pass
    return title
df['title'] = df.apply(clean, axis=1)

数据可视化

当小编在制作可视化图表的时候,

会发现有些奶茶品牌的名称极为相似,

让人有一种傻傻分不清楚的感觉。

Python爬取奶茶店数据分析哪家最好喝以及性价比

热门城市奶茶店铺数量情况

从全国12个热门城市来看奶茶店铺数量分布情况,

广州的店铺数量是最多的,拥有11419家,

之后是深圳(9367家)、上海(7940家)、成都(7361家)。

Python爬取奶茶店数据分析哪家最好喝以及性价比

特色奶茶分布情况

有些奶茶店很有自己的地域特色,

如果你想品尝它们的原版奶茶,

就可能需要跑到别的城市才能喝到,

因为它们大部分分店都只开在本土城市。

Python爬取奶茶店数据分析哪家最好喝以及性价比

大众奶茶分布情况

接下来介绍一下大众奶茶中的1点点,CoCo,书亦烧仙草和益禾堂的热门城市分布情况,

1点点和CoCo在上海的分店数量都是最多的,而书亦烧仙草在成都和长沙比较普遍,益禾堂则是在广州和深圳。

这4家奶茶品牌在广州分店数量均有上百家,也难怪走到哪都能看到这几家奶茶店。

Python爬取奶茶店数据分析哪家最好喝以及性价比

总结

此次小编只分析了12个热门城市的奶茶门店数据,

如果将范围扩展到全国进行分析,

或许能得到更多有意思的结果。

到此这篇关于Python爬取奶茶店数据分析哪家最好喝以及性价比的文章就介绍到这了,更多相关Python爬取奶茶店内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
用Python遍历C盘dll文件的方法
May 06 Python
python实现多线程的方式及多条命令并发执行
Jun 07 Python
python数据结构链表之单向链表(实例讲解)
Jul 25 Python
使用Python实现博客上进行自动翻页
Aug 23 Python
Django使用详解:ORM 的反向查找(related_name)
May 30 Python
Python面向对象之反射/自省机制实例分析
Aug 24 Python
python装饰器简介---这一篇也许就够了(推荐)
Apr 01 Python
Django 表单模型选择框如何使用分组
May 16 Python
Python:二维列表下标互换方式(矩阵转置)
Dec 02 Python
Python基于xlrd模块处理合并单元格
Jul 28 Python
利用python绘制中国地图(含省界、河流等)
Sep 21 Python
利用Python将多张图片合成视频的实现
Nov 23 Python
使用python生成大量数据写入es数据库并查询操作(2)
Sep 23 #Python
Python sklearn分类决策树方法详解
详解Golang如何实现支持随机删除元素的堆
python中validators库的使用方法详解
Sep 23 #Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 #Python
Python编写车票订购系统 Python实现快递收费系统
Aug 14 #Python
Golang Web 框架Iris安装部署
Aug 14 #Python
You might like
怎样在PHP中通过ADO调用Asscess数据库和COM程序
2006/10/09 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
用JS实现选项卡
2020/03/23 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
Python之自动获取公网IP的实例讲解
2017/10/01 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
使用Python来开发微信功能
2018/06/13 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
实例讲解Python3中abs()函数
2019/02/19 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
Python切图九宫格的实现方法
2019/10/10 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
2014年医院后勤工作总结
2014/12/06 职场文书
Java并发编程必备之Future机制
2021/06/30 Java/Android