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绘制人人网好友关系图示例
Apr 01 Python
python 数据的清理行为实例详解
Jul 12 Python
python 列表删除所有指定元素的方法
Apr 19 Python
python 以16进制打印输出的方法
Jul 09 Python
python斐波那契数列的计算方法
Sep 27 Python
对python自动生成接口测试的示例讲解
Nov 30 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
May 07 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
Django模板语言 Tags使用详解
Sep 09 Python
原生python实现knn分类算法
Oct 24 Python
python实现简单飞行棋
Feb 06 Python
python Matplotlib基础--如何添加文本和标注
Jan 26 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 生成唯一id的几种解决方法
2013/03/08 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
thinkPHP+LayUI 流加载实现功能
2019/09/27 PHP
js中键盘事件实例简析
2015/01/10 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
自制微信公众号一键排版工具
2016/09/22 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
vue中的inject学习教程
2019/04/24 Javascript
JavaScript实现捕获鼠标坐标
2020/04/12 Javascript
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
python实现挑选出来100以内的质数
2015/03/24 Python
python概率计算器实例分析
2015/03/25 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
Python requests库用法实例详解
2018/08/14 Python
python微信好友数据分析详解
2018/11/19 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
Python读写锁实现实现代码解析
2020/11/28 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
平安工地建设方案
2014/05/06 职场文书
宿舍标语大全
2014/06/19 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
2015年业务工作总结范文
2015/04/10 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
对公司的意见和建议
2015/06/04 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android