Python爬取奶茶店
蚂蚁爱Python 人气:0序篇
天气真的很热啊… 很想有一杯冰冰凉凉的奶茶来解渴~
但是现在奶茶店这么多, 到底哪一家最好喝、性价比最高呢?
数据获取
本文抓取了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家奶茶品牌在广州分店数量均有上百家,也难怪走到哪都能看到这几家奶茶店。
总结
此次小编只分析了12个热门城市的奶茶门店数据,
如果将范围扩展到全国进行分析,
或许能得到更多有意思的结果。
加载全部内容