我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

本文記錄了筆者用 Python 爬取淘寶某商品的全過程,並對商品數據進行了挖掘與分析,最終得出結論。

項目內容

本案例選擇>> 商品類目:沙發;

數量:共100頁 4400個商品;

篩選條件:天貓、銷量從高到低、價格500元以上。

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

項目目的

1. 對商品標題進行文本分析 詞雲可視化

2. 不同關鍵詞word對應的sales的統計分析

3. 商品的價格分佈情況分析

4. 商品的銷量分佈情況分析

5. 不同價格區間的商品的平均銷量分佈

6. 商品價格對銷量的影響分析

7. 商品價格對銷售額的影響分析

8. 不同省份或城市的商品數量分佈

9.不同省份的商品平均銷量分佈

注:本項目僅以以上幾項分析為例。

項目步驟

1. 數據採集:Python爬取淘寶網商品數據

2. 對數據進行清洗和處理

3. 文本分析:jieba分詞、wordcloud可視化

4. 數據柱形圖可視化 barh

5. 數據直方圖可視化 hist

6. 數據散點圖可視化 scatter

7. 數據迴歸分析可視化 regplot

工具&模塊:

模塊:requests、retrying、missingno、jieba、matplotlib、wordcloud、imread、seaborn 等。

一、爬取數據

因淘寶網是反爬蟲的,雖然使用多線程、修改headers參數,但仍然不能保證每次100%爬取,所以 我增加了循環爬取,每次循環爬取未爬取成功的頁 直至所有頁爬取成功停止。

說明:淘寶商品頁為JSON格式 這裡使用正則表達式進行解析;

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

二、數據清洗、處理:

(此步驟也可以在Excel中完成 再讀入數據)

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

說明:根據需求,本案例中只取了 item_loc, raw_title, view_price, view_sales 這4列數據,主要對 標題、區域、價格、銷量 進行分析。

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

三、數據挖掘與分析:

【1】. 對 raw_title 列標題進行文本分析:

使用結巴分詞器,安裝模塊pip install jieba

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

對 title_s(list of list 格式)中的每個list的元素(str)進行過濾 剔除不需要的詞語,即 把停用詞表stopwords中有的詞語都剔除掉:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

因為下面要統計每個詞語的個數,所以 為了準確性 這裡對過濾後的數據 title_clean 中的每個list的元素進行去重,即 每個標題被分割後的詞語唯一。

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

觀察 word_count 表中的詞語,發現jieba默認的詞典 無法滿足需求:

有的詞語(如 可拆洗、不可拆洗等)卻被cut,這裡根據需求對詞典加入新詞(也可以直接在詞典dict.txt裡面增刪,然後載入修改過的dict.txt)

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

詞雲可視化:

安裝模塊 wordcloud:

方法1: pip install wordcloud

方法2: 下載Packages安裝:pip install 軟件包名稱

軟件包下載地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

注意:要把下載的軟件包放在Python安裝路徑下。

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

分析結論:

1. 組合、整裝商品佔比很高;

2. 從沙發材質看:布藝沙發佔比很高,比皮藝沙發多;

3. 從沙發風格看:簡約風格最多,北歐風次之,其他風格排名依次是美式、中式、日式、法式 等;

4. 從戶型看:小戶型佔比最高、大小戶型次之,大戶型最少。

【2】. 不同關鍵詞word對應的sales之和的統計分析:

(說明:例如 詞語 ‘簡約’,則統計商品標題中含有‘簡約’一詞的商品的銷量之和,即求出具有‘簡約’風格的商品銷量之和)

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

對錶df_word_sum 中的 word 和 w_s_sum 兩列數據進行可視化

(本例中取銷量排名前30的詞語進行繪圖)

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

由圖表可知:

1. 組合商品銷量最高 ;

2. 從品類看:布藝沙發銷量很高,遠超過皮藝沙發;

3. 從戶型看:小戶型沙發銷量最高,大小戶型次之,大戶型銷量最少;

4. 從風格看:簡約風銷量最高,北歐風次之,其他依次是中式、美式、日式等;

5. 可拆洗、轉角類沙發銷量可觀,也是頗受消費者青睞的。

【3】. 商品的價格分佈情況分析:

分析發現,有一些值太大,為了使可視化效果更加直觀,這裡我們結合自身產品情況,選擇價格小於20000的商品。

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

由圖表可知:

1. 商品數量隨著價格總體呈現下降階梯形勢,價格越高,在售的商品越少;

2. 低價位商品居多,價格在500-1500之間的商品最多,1500-3000之間的次之,價格1萬以上的商品較少;

3. 價格1萬元以上的商品,在售商品數量差異不大。

【4】. 商品的銷量分佈情況分析:

同樣,為了使可視化效果更加直觀,這裡我們選擇銷量大於100的商品。

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

由圖表及數據可知:

1. 銷量100以上的商品僅佔3.4% ,其中銷量100-200之間的商品最多,200-300之間的次之;

2. 銷量100-500之間,商品的數量隨著銷量呈現下降趨勢,且趨勢陡峭,低銷量商品居多;

3. 銷量500以上的商品很少。

【5】. 不同價格區間的商品的平均銷量分佈:

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

由圖表可知:

1. 價格在1331-1680之間的商品平均銷量最高,951-1331之間的次之,9684元以上的最低;

2. 總體呈現先增後減的趨勢,但最高峰處於相對低價位階段;

3. 說明廣大消費者對購買沙發的需求更多處於低價位階段,在1680元以上 價位越高 平均銷量基本是越少。

【6】. 商品價格對銷量的影響分析:

同上,為了使可視化效果更加直觀,這裡我們結合自身產品情況,選擇價格小於20000的商品。

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

由圖表可知:

1. 總體趨勢:隨著商品價格增多 其銷量減少,商品價格對其銷量影響很大;

2. 價格500-2500之間的少數商品銷量衝的很高,價格2500-5000之間的商品多數銷量偏低,少數相對較高,但價格5000以上的商品銷量均很低 沒有銷量突出的商品。

【7】. 商品價格對銷售額的影響分析:

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

由圖表可知:

1. 總體趨勢:由線性迴歸擬合線可以看出,商品銷售額隨著價格增長呈現上升趨勢;

2. 多數商品的價格偏低,銷售額也偏低;

3. 價格在0-20000的商品只有少數銷售額較高,價格2萬-6萬的商品只有3個銷售額較高,價格6-10萬的商品有1個銷售額很高,而且是最大值。

【8】. 不同省份的商品數量分佈:

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

由圖表可知:

1. 廣東的最多,上海次之,江蘇第三,尤其是廣東的數量遠超過江蘇、浙江、上海等地,說明在沙發這個子類目,廣東的店鋪占主導地位;

2. 江浙滬等地的數量差異不大,基本相當。

【9】. 不同省份的商品平均銷量分佈:

代碼如下:

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”

熱力型地圖

我用Python爬了4400條淘寶商品數據,竟發現了這些“潛規則”


分享到:


相關文章: