熱線電話:13121318867

登錄
首頁精彩閱讀用Python爬取了2900多款防脫洗發水數據分析,助你緩解脫發困擾
用Python爬取了2900多款防脫洗發水數據分析,助你緩解脫發困擾
2022-08-29
收藏

作者:俊欣

來源:關于數據分析與可視化

就在前段時間,一項由衛健委發起的脫發人群調查數據顯示:中國受脫發問題困擾的人群高達2.5億。聽到這兒,遠在韓國的各家媒體又開始出來搞事情了,

根據他們的計算,這些人完全脫發時的總脫發面積大約可達5900平方公里,相當于首爾市面積(605平方公里)的十倍,那么今天小編就以一個數據分析師的身份來為這些人群出出主意,挑幾款相對合適的防脫發洗發水給他們來使用

1. 聊聊脫發困擾

脫發其實分為很多種情況,如脂溢性脫發,表現為頭屑增多、頭皮痛癢、頭發油脂分泌旺盛。還有營養性脫發,當飲食作息不規律時,脫發情況就會愈發地嚴重,以及物理性脫發,有時頭發扎太緊、扯傷毛囊,都會造成脫發。

不過大家也不用太過于擔心,有研究表明,一個正常人每天脫落80-100根頭發屬于正常情況,但是如果超過100根就要提高警惕了,極大可能是頭發的生長跟不上脫發的速度了。而有一款合適的洗發水,保持頭皮的清潔衛生,對于防脫生發也有著極大的幫助,而對于不同頭皮發質、不同年齡段的人來說,使用的洗發水也是不盡相同的。

2. 數據采集

數據采集是數據可視化分析的第一步,也是最基礎的一步,本文主要是基于從電商平臺上抓取一些防脫發類型的洗發水,采集過程如下

2.1 頁面分析與程序的編寫

該頁面的總共60件商品由兩個子頁面構成的,每一個子頁面分別包含30件商品,通過page參數來進行調節,那么我們請求的構造方式就變得相當簡單了,

def get_xxx_html(page): params = (
        ('keyword', 'u9632u8131u53D1u6D17u53D1u6C34'),
        ('qrst', '1'),
        ('suggest', '1.def.0.base'),
        ('wq', 'u9632u8131u53D1u6D17u53D1u6C34'),
        ('stock', '1'),
        ('pvid', '4d8b661510984fb5ae2bf68fac6c50c7'),
        ('page', str(page)),
        ('s', '27'),
        ('scrolling', 'y'),
        ('log_id', '1633307411833.8939'),
        ('tpl', '1_M'),
        ('isList', '0'),
    )
    response = requests.get('https://search.xxxx.com/s_new.php', headers=headers, params=params, proxies=proxies)
    response_beau = BeautifulSoup(response.text, 'lxml') return response_beau

通過這個請求,可以獲取到的商品信息如下

而針對評論方面的內容,則是以json數據形式存在,比較好解析,而且接口api非常明確,可以直接通過商品id這個參數即可進行請求的獲取

params = (
        ('callback', 'fetchJSON_comment98'),
        ('productId', str(productId)),
        ('score', '0'),
        ('sortType', '5'),
        ('page', '0'),
        ('pageSize', '10'),
        ('isShadowSku', '0'),
        ('fold', '1'),
    )


response = requests.get('https://club.xxxxx.com/comment/productPageComments.action', headers=headers, params=params, cookies=cookies)
response_jsonified = response.text.replace("fetchJSON_comment98", "")[1:-2]
response_jsonified_again = json.loads(response_jsonified)
productCommentSummary = response_jsonified_again.get("productCommentSummary")
commentSum = productCommentSummary.get("commentCountStr")
goodRate = productCommentSummary.get("goodRate")

3.數據清洗

數據采集后,接下來便對其進行數據清洗,去除重復值與臟數據,有助于提高可視化分析的準確性。

導入商品數據


import pandas as pd
df = pd.read_excel("jd_product_info.xlsx")
df.info()

刪除重復數據


df.drop_duplicates()

特殊字符處理


df["product_name"] = df["product_name"].str.replace(r's','',regex=True)
df["commentSum"] = df["commentSum"].str.replace('+','',regex=True).str.replace('萬','0000',regex=True)
df.describe()

4. 可視化分析

以下我們將從商品的價格分布、評論分布、商品產地分布、旗艦店所賣商品分布,商品功效等維度來進行數據的可視化分析

商品價格分布


df["product_price"].plot.hist(stacked = True, bins=20)

可以看到大部分的商品價格都在250元以內,然后我們對商品的價格區間做一個統計分析

df["product_price_range"] = df["product_price"].apply(lambda x: range_price(x))
df["product_price_range"].value_counts()

評論數分布


大部分的商品評論數都是在5000+或者是2000+左右,或者是在200以及500左右的評論量,而評論數在50萬以上以及100萬以上的分別有22個和17個,我們可以基本認定這些類的商品,它的購買量是最多的,我們

df["commentSum"].value_counts().head(8)

而評論量在100萬以上的基本上都是霸王旗艦店或者是愛茉莉官方旗艦店所售賣的商品

df[df["commentSum"] == "1000000"]["product_shop_name"].value_counts()

哪些旗艦店的商品最多


那么從總體上來看,哪家店鋪賣的防脫發的洗發水更多呢,其中“霸王旗艦店”總體上來看也是售賣防脫發類型的產品最多的,其次便是“華貿美妝專營店”和“滋源官方旗艦店”等

df["product_shop_name"].value_counts().head(20)

不同頭皮與不同發質對應的洗發水


不同頭皮、不同發質所對應使用的洗發水不同,例如對于油性頭皮,想要“去屑、控油、防脫”功效的洗發水,可以這么來搜索

df_1 = df[df["product_head"] == "適合頭皮:油性"]
df_1["commentSum"] = df_1["commentSum"].astype("int")
df_1[df_1["product_function"].str.contains("去屑")].sort_values("commentSum", ascending = False)

例如對于中性頭皮,想要達到控油效果的洗發水,則可以這么來搜索

df_1 = df[df["product_head"] == "適合頭皮:中性"]
df_1["commentSum"] = df_1["commentSum"].astype("int")
df_1[df_1["product_function"].str.contains("控油")].sort_values("commentSum", ascending = False)

小結


  1. 本文僅供學習研究使用,提供的評論僅供參考。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢