Python告訴你iPhoneX有多熱賣(附程式碼)

青衫無名發表於2018-03-14

我們用Python來爬取淘寶店鋪的資料,分析一下iPhone X到底有多熱賣。先來看下淘寶上的銷量資料長什麼樣。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

淘寶上的銷量資料有兩種方式估算,一種方式是用累計付款人數近似銷量,像下面這種顯示在這個數字裡的每個人都至少購買了一部手機,所以總銷量一定大於等於累計付款人數。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

淘寶上並不是每一家店鋪都顯示累計付款人數,對於下面這種只顯示評論數的情況就只能用評論數來估算銷量了,具體怎麼估算後面會提到。

知道怎麼獲得銷量資料,接下類我們就開始爬資料了。我們要爬的資料藏在下面高亮的URL裡。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

我們用Python的Scrapy框架來實現一個爬蟲,爬取不同搜尋頁的URL,爬蟲程式碼如下:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

我們爬得溫柔點,這裡設了爬完一次休息2秒再爬。爬完的資料存入了mongodb,接下來我們將資料從mongodb中讀出來,去除不相關的產品和重複的產品,估算一下缺失累計付款人數商品的銷量資料,然後統計總的銷量和銷售額。

這裡重點講述一下怎麼用評論數來估算商品銷量。淘寶上的商品的評論只有在購買成功後才能新增,一次購買行為最多對應一條評論(首評,追評都會歸結到一條)。按常理分析,商品累計付款人數和評論數應該呈正相關的關係。

我們提取mongodb裡累計付款人數大於0並且評論數大於200的商品。銷量太少的商品的評論數量可能會存在一定隨機性,因此我們限定用於分析的商品的評論數必須大於200。用散點圖畫出累計付款人數和評論數的關係,如下:

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

上圖橫軸是評論數,縱軸是累計付款人數,累計付款人數和評論數還是呈現很明顯的正相關關係的。我們用線性來擬合這個關係,對於那些只有評論數的商品,我們用擬合出來的公式來推算該商品的累計付款人數,由此來估算銷量。

資料分析部分的程式碼如下:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

上面這段程式碼有如下的輸出:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

可以看到,至今為止,iPhone X在淘寶上共賣出了19萬部,銷售額達到了16億多。

這個銷售量到底什麼水平呢?我們可以統計一下差不多同期上市的幾款手機的銷量,做個比較。用同樣的方法,我們從淘寶上爬取了iPhone 8,華為Mate 10,小米Mix 2的銷量資料,將它們和iPhone X放在一起做比較,有如下的資料:

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

可以看到iPhone X無論在銷量還是銷售額上都遙遙領先,遠遠超過其他手機。

當然淘寶只是iPhone X的一個銷售平臺,同樣在銷售iPhone X的還有京東,蘇寧,蘋果線上和線下的實體商店等。由於很多大平臺並不公開銷量資料,要統計iPhone X總的銷售量還有很大的難度。但根據之前新聞報導iPhone X開賣2小時招行銷售額破20億、雙十一京東購機預約數量破200萬、蘋果商店門前排起長隊、黃牛將一部手機價格炒到2萬等這些來判斷,這次的iPhone X一定是大受好評的。

原文釋出時間為:2017-12-15

本文作者:強哥

本文來自雲棲社群合作伙伴“Python中文社群”,瞭解相關資訊可以關注“Python中文社群”微信公眾號


相關文章