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中__init__和__new__的区别详解
Jul 09 Python
对于Python编程中一些重用与缩减的建议
Apr 14 Python
Python中如何获取类属性的列表
Dec 26 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 Python
python合并同类型excel表格的方法
Apr 01 Python
Numpy数组转置的两种实现方法
Apr 17 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
Jul 10 Python
对Python发送带header的http请求方法详解
Jan 02 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
Django项目如何获得SSL证书与配置HTTPS
Apr 30 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实现合并discuz用户
2015/08/05 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
浅谈javascript中的作用域
2012/04/07 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
Bootstrap模态框调用功能实现方法
2016/09/19 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
python实现ipsec开权限实例
2014/11/11 Python
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
python 实现倒排索引的方法
2018/12/25 Python
python实现飞机大战游戏
2020/10/26 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Python 去除字符串中指定字符串
2020/03/05 Python
python PIL模块的基本使用
2020/09/29 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
美国在线家居装饰店:Belle&June
2018/10/24 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
大一学生的职业生涯规划书范文
2014/01/19 职场文书
抄作业检讨书
2014/02/17 职场文书
小学生倡议书范文
2014/05/13 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
2019同学聚会主持词
2019/05/06 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python
Python实现机器学习算法的分类
2021/06/03 Python
Spring Boot 整合 Apache Dubbo的示例代码
2021/07/04 Java/Android