首頁 > 軟體

Python爬取奶茶店資料分析哪家最好喝以及價效比

2022-09-24 14:01:10

序篇

天氣真的很熱啊… 很想有一杯冰冰涼涼的奶茶來解渴~

但是現在奶茶店這麼多, 到底哪一家最好喝、價效比最高呢?

資料獲取

本文抓取了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個熱門城市的奶茶門店資料,

如果將範圍擴充套件到全國進行分析,

或許能得到更多有意思的結果。

到此這篇關於Python爬取奶茶店資料分析哪家最好喝以及價效比的文章就介紹到這了,更多相關Python爬取奶茶店內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com