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 08 Python
python根据文件大小打log日志
Oct 09 Python
Python面向对象编程中关于类和方法的学习笔记
Jun 30 Python
快速查询Python文档方法分享
Dec 27 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
Dec 11 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
Django urls.py重构及参数传递详解
Jul 23 Python
Python实现决策树并且使用Graphviz可视化的例子
Aug 09 Python
python生成随机红包的实例写法
Sep 02 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
Feb 12 Python
详解python内置模块urllib
Sep 09 Python
matplotlib绘制多子图共享鼠标光标的方法示例
Jan 08 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
解析isset与is_null的区别
2013/08/09 PHP
php读取3389的脚本
2014/05/06 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
一个css与js结合的下拉菜单支持主流浏览器
2014/10/08 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
Python中的模块和包概念介绍
2015/04/13 Python
pygame学习笔记(5):游戏精灵
2015/04/15 Python
python 以16进制打印输出的方法
2018/07/09 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
详解python程序中的多任务
2020/09/16 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
墨西哥网上超市:Superama
2018/07/10 全球购物
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
生产厂厂长岗位职责
2013/12/25 职场文书
计算机通信专业推荐信
2014/02/22 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
家具商场的活动方案
2014/08/16 职场文书
新党章心得体会
2014/09/04 职场文书
高三教师工作总结2015
2015/07/21 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python