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 sys.argv用法实例
May 28 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
使用python进行文本预处理和提取特征的实例
Jun 05 Python
Python将list中的string批量转化成int/float的方法
Jun 26 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
Django中提示消息messages的设置方式
Nov 15 Python
使用python 计算百分位数实现数据分箱代码
Mar 03 Python
Python 字符串池化的前提
Jul 03 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 26 Python
实例详解Python的进程,线程和协程
Mar 13 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
一个基于PDO的数据库操作类
2011/03/24 PHP
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
动态读取JSON解析键值对的方法
2014/06/03 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
js提取中文拼音首字母的封装工具类
2018/03/12 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
JavaScript多种图形实现代码实例
2020/06/28 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
Python关于反射的实例代码分享
2020/02/20 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
Vuori官网:运动服装的终级表现
2021/01/27 全球购物
高中毕业自我鉴定范文
2013/10/02 职场文书
4s店总经理岗位职责
2013/12/31 职场文书
影视广告专业求职信
2014/09/02 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
慰问信(范文3篇)
2019/10/23 职场文书
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python