用Python爬取分析【某東618】暢銷商品銷量數據,帶你看看大家都喜歡買什麼!

  • 2021 年 6 月 19 日
  • 筆記

618購物節,辰哥準備分析一波購物節大家都喜歡買什麼?本文以某東為例,Python爬取618活動的暢銷商品數據,並進行數據清洗,最後以可視化的方式從不同角度去了解暢銷商品中,名列前茅的商品是哪些?銷售數據如何?用戶好評如何?等等

本文結構如下

1、爬取某東暢銷商品數據

2、清洗數據並並進行簡單分析

3、將數據進行可視化展示

數據的字段如下:

一共爬取了243條某東暢銷商品數據

01、獲取數據

1.   分析網頁

在編寫代碼之前,先來分析一波網頁。

上面是某東的暢銷商品,通過辰哥分析分析,該網頁有異步加載(前面10個商品是靜態加載,剩下的是動態異步加載),因此我們需要寫了個請求去獲取數據。

2.   獲取靜態網頁商品鏈接

商品的銷售、評論等數據在商品詳情頁,這裡先獲取商品詳情頁鏈接

結果如下:

3.   獲取動態網頁商品鏈接

通過抓包可以獲取到動態加載鏈接,並獲取到商品標題和商品id(這裡的商品id可以用於後面拼接商品詳情頁鏈接)

獲取json數據後,提取出商品標題商品ID

4. 獲取打折、原價、秒殺價

通過商品ID可以獲取到商品打折、原價、秒殺價(這裡有接口,接口是通過抓包獲取的,感興趣的可以去自己去嘗試,不明白的可以直接使用)

這裡將該功能封裝成函數,通過傳入商品ID就可以獲取該商品的商品打折、原價、秒殺價

結果如下:

5. 獲取評論數、好評數、中評數、差評數、好評率

通過商品ID可以獲取到評論數、好評數、中評數、差評數、好評率(同樣這裡有接口,接口是通過抓包獲取的,感興趣的可以去自己去嘗試,不明白的可以直接使用)

結果如下:

6.   保存到excel

接着開始遍歷商品,並通過ID去獲取商品的銷售情況(步驟4和步驟5的函數),最後把數據保存到execl

定義表頭

寫入數據

其中的get_price和CommentCount是步驟4和步驟5的函數。count是excel中行數,因此在循環中count+1,依次寫入下一行。

最終保存結果

一共爬取了243條某東暢銷商品數據

02、數據分析&可視化

1.數據清洗

需要清洗的內容,主要有圖中這三列(標題、打折、好評數)。

清洗目標

  1. 標題過長(長度控制在10內),不方便後面的畫圖

  2. 打折字段中含有折字,在進行排序時不能直接轉數值型。

  3. 好評數中的,轉為具體數值,如1.2萬轉為12000

清洗結果:

2.可視化-商品打折力度

從清洗後數據中取出:商品名稱和打折這兩列,進行【排序】從打折最大到打折最小。最後取出前15名進行可視化

核心代碼****如下:

可視化效果

3.可視化-好評率統計

從數據中取出:好評率這列,對不同的好評率進行統計,如好評率是100%(1)的商品多少件,好評率99%(0.99)的商品多少件等。

核心代碼****如下:

可視化效果

3.可視化-暢銷商品銷量排行

從數據中取出:商品名稱和評論數這兩列,這裡根據評論數去作為銷售依據,對商品的銷量進行排序(高到低),並取出前15名進行可視化。

核心代碼****如下:

可視化效果

4.可視化-暢銷商品前15名原價與秒殺價對比

在上面的分析中可以知道暢銷商品的銷量前15名,這裡將這15件商品的原價和秒殺價進行可視化對比。

核心代碼****如下:

可視化效果

03、小結

本文以某東為例,Python爬取618活動的暢銷商品數據,並進行數據清洗,最後以可視化的方式從不同角度去了解暢銷商品中,名列前茅的商品是哪些?銷售數據如何?用戶好評如何?等等

不明白的地方可以在下方留言,一起交流。