Python爬取奶茶店数据分析哪家最好喝以及性价比
作者:蚂蚁爱Python 发布时间:2021-02-19 08:41:45
标签:Python,奶茶店,数据,爬虫
序篇
天气真的很热啊… 很想有一杯冰冰凉凉的奶茶来解渴~
但是现在奶茶店这么多, 到底哪一家最好喝、性价比最高呢?
数据获取
本文抓取了12个热门城市的奶茶店名单,
城市包括:北京、上海、广州、深圳、天津、西安、重庆、杭州、南京、武汉、成都和长沙。
共计68614家奶茶店,3万多个奶茶品牌。
在构建抓取URL时,
需要注意将城市的维度具体到城市商圈,
因为每个URL最多只显示32页内容,
保证抓取每个城市时的数据量是准确的。
# 构建抓取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)
数据可视化
当小编在制作可视化图表的时候,
会发现有些奶茶品牌的名称极为相似,
让人有一种傻傻分不清楚的感觉。
热门城市奶茶店铺数量情况
从全国12个热门城市来看奶茶店铺数量分布情况,
广州的店铺数量是最多的,拥有11419家,
之后是深圳(9367家)、上海(7940家)、成都(7361家)。
特色奶茶分布情况
有些奶茶店很有自己的地域特色,
如果你想品尝它们的原版奶茶,
就可能需要跑到别的城市才能喝到,
因为它们大部分分店都只开在本土城市。
大众奶茶分布情况
接下来介绍一下大众奶茶中的1点点,CoCo,书亦烧仙草和益禾堂的热门城市分布情况,
1点点和CoCo在上海的分店数量都是最多的,而书亦烧仙草在成都和长 * 较普遍,益禾堂则是在广州和深圳。
这4家奶茶品牌在广州分店数量均有上百家,也难怪走到哪都能看到这几家奶茶店。
来源:https://blog.csdn.net/xff123456_/article/details/126934858


猜你喜欢
- SQL中Case的使用方法Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex &nbs
- pandas读取、写入csv数据非常方便,但是有时希望通过excel画个简单的图表看一下数据质量、变化趋势并保存,这时候csv格式的数据就略
- 在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都
- HP注释规范注释在写代码的过程中非常重要,好的注释能让你的代码读起来更轻松,在写代码的时候一定要注意注释的规范。“php是一门及其容易入门的
- 1、要连接MySql数据库必须首先下载MySql官方的连接.net的文件,文件下载地址为http://dev.mysql.com/downl
- modf()方法返回两个项的元组x的整数小数部分。这两个元组具有相同x符号。则返回一个浮点数的整数部分。语法以下是modf()方
- 一、安装matplotlib1)由于已安装anaconda,可直接打开anaconda prompt,再用命令pip install mat
- 现在介绍加速网页图形显示速度的六种方法,为你解决这个难题。其最基本的宗旨就是,让你用买鱼的价钱,品尝到熊掌的美味和营养。 1.首先要确定图像
- Python安装流程:一.下载在网上(输入网址https://www.python.org/downloads/)下载Windows最新的p
- 在许多网页中,当鼠标移到一张图片上时,又弹出另一张图片,做这种广告条,要用到Macromedia DreamWeaver中的Lay
- 本文实例讲解了javascript实现无缝上下滚动的代码,分享给大家供大家参考,具体内容如下js实现上下无缝滚动的原理是这样的:1、首先给容
- 可以输入的下拉菜单,不错的一个效果,相信asp之家给大家收集的这个代码会有不少人需要!<html> <head> &
- 前言:在生活中工作中,我们经常使用Excel用于储存数据,Tableau等BI程序处理数据并进行可视化。我们也经常使用R、Python编程进
- 最近看到大家都练习写树,偶也学习学习写了一个,大家多多批评,我好进步。不过我看了一些树的xml文档都是在xml中就已经有了树的结构,所以我写
- 我们在很多网站上都可以看到用户注册使用电子邮件激活或启用的方式。也就是说,用户在注册后填写正确的电子邮件地址,接着网站会发送一封启用电子邮件
- 使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中State
- 前言模糊查询是数据库的基本操作之一,实现对给定的字符串是否与指定的模式进行匹配。如果字符完全匹配,可以用=等号表示,如果部分匹配可认为是一种
- 一个middleware的例子import timefrom django.urls import reversefrom django.u
- 在进行大量数据训练神经网络的时候,可能需要批量读取数据。于是参考了这篇文章的代码,结果发现数据一直批量循环输出,不会在数据的末尾自动停止。然
- 这篇文章主要为大家详细介绍了python编写实现抽奖器,文中代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下# codi