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 urlopen 使用小示例
Sep 06 Python
Python和perl实现批量对目录下电子书文件重命名的代码分享
Nov 21 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
python实现自动登录后台管理系统
Oct 18 Python
Python高级特性与几种函数的讲解
Mar 08 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
Feb 21 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
pycharm 快速解决python代码冲突的问题
Jan 15 Python
python 自动识别并连接串口的实现
Jan 19 Python
pandas中对文本类型数据的处理小结
Nov 01 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新手NOTICE错误常见解决方法
2011/12/07 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
tp5框架使用composer实现日志记录功能示例
2019/01/10 PHP
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
2016/03/30 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
Vue 无限滚动加载指令实现方法
2019/05/28 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
import的本质解析
2017/10/30 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
对tensorflow 的模型保存和调用实例讲解
2018/07/28 Python
Python函数参数操作详解
2018/08/03 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
pytorch 常用线性函数详解
2020/01/15 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
小学教研工作制度
2014/01/15 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
Python中使用subprocess库创建附加进程
2021/05/11 Python
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers