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 相关文章推荐
pygame学习笔记(4):声音控制
Apr 15 Python
使用python3.5仿微软记事本notepad
Jun 15 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
Nov 30 Python
Django中的ajax请求
Oct 19 Python
更改Python的pip install 默认安装依赖路径方法详解
Oct 27 Python
python函数修饰符@的使用方法解析
Sep 02 Python
python实现超市商品销售管理系统
Oct 25 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
Nov 25 Python
python画图常规设置方式
Mar 05 Python
keras处理欠拟合和过拟合的实例讲解
May 25 Python
python制作抽奖程序代码详解
Jan 15 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 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
PHP页面中文乱码分析
2013/10/29 PHP
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
PHP里的单例类写法实例
2015/06/25 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
JS实现多物体缓冲运动实例代码
2013/11/29 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
2017/03/22 jQuery
BootStrap表单验证 FormValidation 调整反馈图标位置的实例代码
2017/05/17 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
[01:25:38]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第一场 1月19日
2021/03/11 DOTA
Python反转序列的方法实例分析
2018/03/21 Python
python实现人民币大写转换
2018/06/20 Python
Pandas 同元素多列去重的实例
2018/07/03 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
Python常见数据类型转换操作示例
2019/05/08 Python
露营世界:Camping World
2017/02/02 全球购物
C++:memset ,memcpy和strcpy的根本区别
2013/04/27 面试题
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
会议开场欢迎词
2014/01/15 职场文书
给学校的建议书
2014/03/12 职场文书
家长写给孩子的评语
2014/04/18 职场文书
《鲸》教学反思
2016/02/23 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
CSS中妙用 drop-shadow 实现线条光影效果
2021/11/11 HTML / CSS