使用Python爬了4400條淘寶商品數(shù)據(jù),竟發(fā)現(xiàn)了這些“潛規(guī)則”
本文記錄了筆者用 Python 爬取淘寶某商品的全過(guò)程,并對(duì)商品數(shù)據(jù)進(jìn)行了挖掘與分析,最終得出結(jié)論。
項(xiàng)目?jī)?nèi)容
本案例選擇>> 商品類目:沙發(fā);
數(shù)量:共100頁(yè) 4400個(gè)商品;
篩選條件:天貓、銷量從高到低、價(jià)格500元以上。
項(xiàng)目目的
1. 對(duì)商品標(biāo)題進(jìn)行文本分析 詞云可視化
2. 不同關(guān)鍵詞word對(duì)應(yīng)的sales的統(tǒng)計(jì)分析
3. 商品的價(jià)格分布情況分析
4. 商品的銷量分布情況分析
5. 不同價(jià)格區(qū)間的商品的平均銷量分布
6. 商品價(jià)格對(duì)銷量的影響分析
7. 商品價(jià)格對(duì)銷售額的影響分析
8. 不同省份或城市的商品數(shù)量分布
9.不同省份的商品平均銷量分布
注:本項(xiàng)目?jī)H以以上幾項(xiàng)分析為例。
項(xiàng)目步驟
1. 數(shù)據(jù)采集:Python爬取淘寶網(wǎng)商品數(shù)據(jù)
2. 對(duì)數(shù)據(jù)進(jìn)行清洗和處理
3. 文本分析:jieba分詞、wordcloud可視化
4. 數(shù)據(jù)柱形圖可視化 barh
5. 數(shù)據(jù)直方圖可視化 hist
6. 數(shù)據(jù)散點(diǎn)圖可視化 scatter
7. 數(shù)據(jù)回歸分析可視化 regplot
工具&模塊:
工具:本案例代碼編輯工具 Anaconda的Spyder
模塊:requests、retrying、missingno、jieba、matplotlib、wordcloud、imread、seaborn 等。
一、爬取數(shù)據(jù)
因淘寶網(wǎng)是反爬蟲(chóng)的,雖然使用多線程、修改headers參數(shù),但仍然不能保證每次100%爬取,所以 我增加了循環(huán)爬取,每次循環(huán)爬取未爬取成功的頁(yè) 直至所有頁(yè)爬取成功停止。
說(shuō)明:淘寶商品頁(yè)為JSON格式 這里使用正則表達(dá)式進(jìn)行解析;
代碼如下:
二、數(shù)據(jù)清洗、處理:
(此步驟也可以在Excel中完成 再讀入數(shù)據(jù))
代碼如下:
說(shuō)明:根據(jù)需求,本案例中只取了 item_loc, raw_title, view_price, view_sales 這4列數(shù)據(jù),主要對(duì) 標(biāo)題、區(qū)域、價(jià)格、銷量 進(jìn)行分析。
代碼如下:
三、數(shù)據(jù)挖掘與分析:
【1】. 對(duì) raw_title 列標(biāo)題進(jìn)行文本分析:
使用結(jié)巴分詞器,安裝模塊pip install jieba
對(duì) title_s(list of list 格式)中的每個(gè)list的元素(str)進(jìn)行過(guò)濾 剔除不需要的詞語(yǔ),即 把停用詞表stopwords中有的詞語(yǔ)都剔除掉:
因?yàn)橄旅嬉y(tǒng)計(jì)每個(gè)詞語(yǔ)的個(gè)數(shù),所以 為了準(zhǔn)確性 這里對(duì)過(guò)濾后的數(shù)據(jù) title_clean 中的每個(gè)list的元素進(jìn)行去重,即 每個(gè)標(biāo)題被分割后的詞語(yǔ)唯一。
觀察 word_count 表中的詞語(yǔ),發(fā)現(xiàn)jieba默認(rèn)的詞典 無(wú)法滿足需求:
有的詞語(yǔ)(如 可拆洗、不可拆洗等)卻被cut,這里根據(jù)需求對(duì)詞典加入新詞(也可以直接在詞典dict.txt里面增刪,然后載入修改過(guò)的dict.txt)
詞云可視化:
安裝模塊 wordcloud:
方法1: pip install wordcloud
方法2: 下載Packages安裝:pip install 軟件包名稱
軟件包下載地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
注意:要把下載的軟件包放在Python安裝路徑下。
代碼如下:
分析結(jié)論:
1. 組合、整裝商品占比很高;
2. 從沙發(fā)材質(zhì)看:布藝沙發(fā)占比很高,比皮藝沙發(fā)多;
3. 從沙發(fā)風(fēng)格看:簡(jiǎn)約風(fēng)格最多,北歐風(fēng)次之,其他風(fēng)格排名依次是美式、中式、日式、法式 等;
4. 從戶型看:小戶型占比最高、大小戶型次之,大戶型最少。
【2】. 不同關(guān)鍵詞word對(duì)應(yīng)的sales之和的統(tǒng)計(jì)分析:
(說(shuō)明:例如 詞語(yǔ) ‘簡(jiǎn)約',則統(tǒng)計(jì)商品標(biāo)題中含有‘簡(jiǎn)約'一詞的商品的銷量之和,即求出具有‘簡(jiǎn)約'風(fēng)格的商品銷量之和)
代碼如下:
對(duì)表df_word_sum 中的 word 和 w_s_sum 兩列數(shù)據(jù)進(jìn)行可視化
(本例中取銷量排名前30的詞語(yǔ)進(jìn)行繪圖)
由圖表可知:
1. 組合商品銷量最高 ;
2. 從品類看:布藝沙發(fā)銷量很高,遠(yuǎn)超過(guò)皮藝沙發(fā);
3. 從戶型看:小戶型沙發(fā)銷量最高,大小戶型次之,大戶型銷量最少;
4. 從風(fēng)格看:簡(jiǎn)約風(fēng)銷量最高,北歐風(fēng)次之,其他依次是中式、美式、日式等;
5. 可拆洗、轉(zhuǎn)角類沙發(fā)銷量可觀,也是頗受消費(fèi)者青睞的。
【3】. 商品的價(jià)格分布情況分析:
分析發(fā)現(xiàn),有一些值太大,為了使可視化效果更加直觀,這里我們結(jié)合自身產(chǎn)品情況,選擇價(jià)格小于20000的商品。
代碼如下:
由圖表可知:
1. 商品數(shù)量隨著價(jià)格總體呈現(xiàn)下降階梯形勢(shì),價(jià)格越高,在售的商品越少;
2. 低價(jià)位商品居多,價(jià)格在500-1500之間的商品最多,1500-3000之間的次之,價(jià)格1萬(wàn)以上的商品較少;
3. 價(jià)格1萬(wàn)元以上的商品,在售商品數(shù)量差異不大。
【4】. 商品的銷量分布情況分析:
同樣,為了使可視化效果更加直觀,這里我們選擇銷量大于100的商品。
代碼如下:
由圖表及數(shù)據(jù)可知:
1. 銷量100以上的商品僅占3.4% ,其中銷量100-200之間的商品最多,200-300之間的次之;
2. 銷量100-500之間,商品的數(shù)量隨著銷量呈現(xiàn)下降趨勢(shì),且趨勢(shì)陡峭,低銷量商品居多;
3. 銷量500以上的商品很少。
【5】. 不同價(jià)格區(qū)間的商品的平均銷量分布:
代碼如下:
由圖表可知:
1. 價(jià)格在1331-1680之間的商品平均銷量最高,951-1331之間的次之,9684元以上的最低;
2. 總體呈現(xiàn)先增后減的趨勢(shì),但最高峰處于相對(duì)低價(jià)位階段;
3. 說(shuō)明廣大消費(fèi)者對(duì)購(gòu)買(mǎi)沙發(fā)的需求更多處于低價(jià)位階段,在1680元以上 價(jià)位越高 平均銷量基本是越少。
【6】. 商品價(jià)格對(duì)銷量的影響分析:
同上,為了使可視化效果更加直觀,這里我們結(jié)合自身產(chǎn)品情況,選擇價(jià)格小于20000的商品。
代碼如下:
由圖表可知:
1. 總體趨勢(shì):隨著商品價(jià)格增多 其銷量減少,商品價(jià)格對(duì)其銷量影響很大;
2. 價(jià)格500-2500之間的少數(shù)商品銷量沖的很高,價(jià)格2500-5000之間的商品多數(shù)銷量偏低,少數(shù)相對(duì)較高,但價(jià)格5000以上的商品銷量均很低 沒(méi)有銷量突出的商品。
【7】. 商品價(jià)格對(duì)銷售額的影響分析:
代碼如下:
由圖表可知:
1. 總體趨勢(shì):由線性回歸擬合線可以看出,商品銷售額隨著價(jià)格增長(zhǎng)呈現(xiàn)上升趨勢(shì);
2. 多數(shù)商品的價(jià)格偏低,銷售額也偏低;
3. 價(jià)格在0-20000的商品只有少數(shù)銷售額較高,價(jià)格2萬(wàn)-6萬(wàn)的商品只有3個(gè)銷售額較高,價(jià)格6-10萬(wàn)的商品有1個(gè)銷售額很高,而且是最大值。
【8】. 不同省份的商品數(shù)量分布:
代碼如下:
由圖表可知:
1. 廣東的最多,上海次之,江蘇第三,尤其是廣東的數(shù)量遠(yuǎn)超過(guò)江蘇、浙江、上海等地,說(shuō)明在沙發(fā)這個(gè)子類目,廣東的店鋪占主導(dǎo)地位;
2. 江浙滬等地的數(shù)量差異不大,基本相當(dāng)。
【9】. 不同省份的商品平均銷量分布:
代碼如下:
熱力型地圖
總結(jié)
以上所述是小編給大家介紹的使用Python爬了4400條淘寶商品數(shù)據(jù),竟發(fā)現(xiàn)了這些“潛規(guī)則”,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Python爬蟲(chóng)_城市公交、地鐵站點(diǎn)和線路數(shù)據(jù)采集實(shí)例
- 一個(gè)月入門(mén)Python爬蟲(chóng)學(xué)習(xí),輕松爬取大規(guī)模數(shù)據(jù)
- 基于python爬蟲(chóng)數(shù)據(jù)處理(詳解)
- python實(shí)現(xiàn)爬蟲(chóng)數(shù)據(jù)存到 MongoDB
- Python爬蟲(chóng)抓取手機(jī)APP的傳輸數(shù)據(jù)
- python實(shí)現(xiàn)爬蟲(chóng)統(tǒng)計(jì)學(xué)校BBS男女比例之?dāng)?shù)據(jù)處理(三)
相關(guān)文章
python的pyecharts繪制各種圖表詳細(xì)(附代碼)
這篇文章主要介紹了python的pyecharts繪制各種圖表詳細(xì)(附代碼),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11一文教會(huì)你用Python實(shí)現(xiàn)pdf轉(zhuǎn)word
python實(shí)現(xiàn)pdf轉(zhuǎn)word,支持中英文轉(zhuǎn)換,轉(zhuǎn)換精度高,可以達(dá)到使用效果,下面這篇文章主要給大家介紹了關(guān)于用Python實(shí)現(xiàn)pdf轉(zhuǎn)word的相關(guān)資料,需要的朋友可以參考下2023-01-01openCV實(shí)踐項(xiàng)目之銀行卡卡號(hào)識(shí)別功能
最近在惡補(bǔ)opencv,在前期不太那么認(rèn)真的學(xué)習(xí)狀態(tài)下,著手搞了一下這個(gè)小項(xiàng)目實(shí)戰(zhàn),基于模板匹配下的銀行卡卡號(hào)識(shí)別,下面這篇文章主要給大家介紹了關(guān)于openCV實(shí)踐項(xiàng)目之銀行卡卡號(hào)識(shí)別功能的相關(guān)資料,需要的朋友可以參考下2022-11-11利用Python函數(shù)實(shí)現(xiàn)一個(gè)萬(wàn)歷表完整示例
這篇文章主要給大家介紹了關(guān)于如何利用Python函數(shù)實(shí)現(xiàn)一個(gè)萬(wàn)歷表的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01django請(qǐng)求返回不同的類型圖片json,xml,html的實(shí)例
今天小編就為大家分享一篇django請(qǐng)求返回不同的類型圖片json,xml,html的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05關(guān)于Python的文本文件轉(zhuǎn)換編碼問(wèn)題
這篇文章主要介紹了關(guān)于Python的文本文件轉(zhuǎn)換編碼問(wèn)題,編程過(guò)程中,經(jīng)成會(huì)遇到字符編碼的問(wèn)題,需要的朋友可以參考下2023-04-04