Python告訴你iPhoneX有多熱賣(附程式碼)
我們用Python來爬取淘寶店鋪的資料,分析一下iPhone X到底有多熱賣。先來看下淘寶上的銷量資料長什麼樣。
淘寶上的銷量資料有兩種方式估算,一種方式是用累計付款人數近似銷量,像下面這種顯示在這個數字裡的每個人都至少購買了一部手機,所以總銷量一定大於等於累計付款人數。
淘寶上並不是每一家店鋪都顯示累計付款人數,對於下面這種只顯示評論數的情況就只能用評論數來估算銷量了,具體怎麼估算後面會提到。
知道怎麼獲得銷量資料,接下類我們就開始爬資料了。我們要爬的資料藏在下面高亮的URL裡。
我們用Python的Scrapy框架來實現一個爬蟲,爬取不同搜尋頁的URL,爬蟲程式碼如下:
我們爬得溫柔點,這裡設了爬完一次休息2秒再爬。爬完的資料存入了mongodb,接下來我們將資料從mongodb中讀出來,去除不相關的產品和重複的產品,估算一下缺失累計付款人數商品的銷量資料,然後統計總的銷量和銷售額。
這裡重點講述一下怎麼用評論數來估算商品銷量。淘寶上的商品的評論只有在購買成功後才能新增,一次購買行為最多對應一條評論(首評,追評都會歸結到一條)。按常理分析,商品累計付款人數和評論數應該呈正相關的關係。
我們提取mongodb裡累計付款人數大於0並且評論數大於200的商品。銷量太少的商品的評論數量可能會存在一定隨機性,因此我們限定用於分析的商品的評論數必須大於200。用散點圖畫出累計付款人數和評論數的關係,如下:
上圖橫軸是評論數,縱軸是累計付款人數,累計付款人數和評論數還是呈現很明顯的正相關關係的。我們用線性來擬合這個關係,對於那些只有評論數的商品,我們用擬合出來的公式來推算該商品的累計付款人數,由此來估算銷量。
資料分析部分的程式碼如下:
上面這段程式碼有如下的輸出:
可以看到,至今為止,iPhone X在淘寶上共賣出了19萬部,銷售額達到了16億多。
這個銷售量到底什麼水平呢?我們可以統計一下差不多同期上市的幾款手機的銷量,做個比較。用同樣的方法,我們從淘寶上爬取了iPhone 8,華為Mate 10,小米Mix 2的銷量資料,將它們和iPhone X放在一起做比較,有如下的資料:
可以看到iPhone X無論在銷量還是銷售額上都遙遙領先,遠遠超過其他手機。
當然淘寶只是iPhone X的一個銷售平臺,同樣在銷售iPhone X的還有京東,蘇寧,蘋果線上和線下的實體商店等。由於很多大平臺並不公開銷量資料,要統計iPhone X總的銷售量還有很大的難度。但根據之前新聞報導iPhone X開賣2小時招行銷售額破20億、雙十一京東購機預約數量破200萬、蘋果商店門前排起長隊、黃牛將一部手機價格炒到2萬等這些來判斷,這次的iPhone X一定是大受好評的。
原文釋出時間為:2017-12-15
本文作者:強哥
本文來自雲棲社群合作伙伴“Python中文社群”,瞭解相關資訊可以關注“Python中文社群”微信公眾號
相關文章
- 資料視覺化告訴你,北京究竟有多熱?視覺化
- 我來告訴你程式碼重構有什麼好處
- 用資料告訴你,今年考研上岸有多難!
- 我試圖透過這篇文章告訴你,這行原始碼有多牛逼。原始碼
- 第1天 | 12天搞定Python,告訴你有什麼用?Python
- 安全管理難?信服雲告訴你“內建安全”有多靠譜
- 三十二張圖告訴你,Jenkins構建Spring Boot 有多簡單~JenkinsSpring Boot
- python程式設計師告訴你,python怎麼學?13個特性帶你快速瞭解pythonPython程式設計師
- Python告訴你:為何年終獎多發一元,到手卻少兩千多?Python
- 有答案了!一張圖告訴你到底學Python還是Java!你咋看?PythonJava
- 資料告訴你特斯拉都賣到中國哪兒了
- 碼教授告訴你IT程式設計師如何找到高薪職業程式設計師高薪
- 一文告訴你Java日期時間API到底有多爛JavaAPI
- 趙本山:我的時代還沒有結束 | Python告訴你Python
- 一篇文章告訴你:“12306”的架構到底有多牛逼?架構
- 後Python時代, Julia告訴你速度和靈活性真的都可以有Python
- 使用 MacBook Pro 時如何防止過熱,這篇文章告訴你Mac
- 教你0 程式碼,搭應用,宜搭開發手冊告訴你
- 碼教授告訴你什麼事人工智慧人工智慧
- 一張圖告訴你學JAVA還是學Python!JavaPython
- 程式設計師單身比例有多高?【2019開發者圖鑑】告訴你程式設計師
- 告訴你幾個Windows下寫程式碼比Linux還順手的工具WindowsLinux
- Python老司機告訴你,學習Python應該讀哪些書!Python
- 讓 CPU 告訴你硬碟和網路到底有多慢硬碟
- 碼教授告訴你人工智慧的就業前景人工智慧就業
- 碼教授告訴你大資料該怎麼用大資料
- 程式猿,讓我來告訴你怎麼追女生!!!
- 請你告訴我合併兩個陣列,你有多少種方法陣列
- Python 告訴你絕不知道的1983-2018 春晚Python
- python和Java學哪個?過來人告訴你答案!PythonJava
- 0基礎如何學習Python?4種方法告訴你!Python
- 自媒體高手不會告訴你的3個熱點網站!網站
- 2021年國慶你的朋友去哪浪了?讓Python告訴你!Python
- 作為一個程式設計師,告訴你一些編碼知識程式設計師
- 為了賣皮膚,你知道《英雄聯盟》有多努力嗎?
- volatile和synchronized到底啥區別?多圖文講解告訴你synchronized
- 帶你入門比Python更高效的Numpy(附程式碼)Python
- 告訴你,我是一個與眾不同的密碼密碼