评论

收藏

[python] 用Python爬取分析【某东618】畅销商品销量数据,带你看看大家都喜欢买什么!

编程语言 编程语言 发布于:2021-06-24 10:07 | 阅读数:538 | 评论:0

  618购物节,辰哥准备分析一波购物节大家都喜欢买什么?本文以某东为例,Python爬取**618活动的畅销商品数据,并进行**数据清洗**,最后以**可视化的方式从不同角度去了解畅销商品中,名列前茅的商品是哪些?销售数据如何?用户好评如何?等等
本文结构如下:  1、爬取某东畅销商品数据
  2、清洗数据并并进行简单分析
  3、将数据进行可视化展示
数据的字段如下:  
DSC0000.jpg

  一共爬取了243条某东畅销商品数据

01、获取数据

  1.   分析网页
  在编写代码之前,先来分析一波网页。

DSC0001.jpg
  上面是某东的畅销商品**,通过辰哥分析分析,该网页有异步加载(前面10个商品是**静态加载**,剩下的是动**态异步加载),因此我们需要写了个请求去获取数据。
2.   获取静态网页商品链接  商品的销售、评论等数据在商品详情页,这里先获取商品详情页链接

DSC0002.jpg
  结果如下:

DSC0003.jpg
  3.   获取动态网页商品链接
  通过抓包可以获取到动态加载链接,并获取到商品标题和商品id(这里的商品id可以用于后面拼接商品详情页链接)

DSC0004.jpg
  
DSC0005.jpg

  获取json数据后,提取出商品标题**和**商品ID

DSC0006.jpg
  4.** **获取打折、原价、秒杀价
  通过商品ID可以获取到商品打折、原价、秒杀价(这里有接口,接口是通过抓包获取的,感兴趣的可以去自己去尝试,不明白的可以直接使用)

DSC0007.jpg
  这里将该功能封装成函数,通过传入商品ID就可以获取该商品的商品打折、原价、秒杀价
  结果如下:

DSC0008.jpg
  5.** **获取评论数、好评数、中评数、差评数、好评率
  通过商品ID可以获取到评论数、好评数、中评数、差评数、好评率(同样这里有接口,接口是通过抓包获取的,感兴趣的可以去自己去尝试,不明白的可以直接使用)

DSC0009.jpg
  结果如下:

DSC00010.jpg
  6.   保存到excel
  接着开始遍历商品,并通过ID去获取商品的销售情况(步骤4和步骤5的函数),最后把数据保存到execl
定义表头  
DSC00011.jpg

写入数据  
DSC00012.jpg

  其中的get_price和CommentCount是步骤4和步骤5的函数。count是excel中行数,因此在循环中count+1,依次写入下一行。
最终保存结果  
DSC00013.jpg

  一共爬取了243条某东畅销商品数据

02、数据分析&可视化

  1.数据清洗

DSC00014.jpg
  需要清洗的内容,主要有图中这三列(标题、打折、好评数)。
清洗目标

  • 标题过长(长度控制在10内),不方便后面的画图


  • 打折字段中含有折字,在进行排序时不能直接转数值型。


  • 好评数中的,转为具体数值,如1.2万转为12000

  
DSC00015.jpg

清洗结果:  
DSC00016.jpg

2.可视化-商品打折力度  从清洗后数据中取出:商品名称和打折**这两列,进行【排序】从打折最大到打折最小。最后取出**前15名进行可视化
核心代码****如下:  
DSC00017.jpg

可视化效果:  
DSC00018.jpg

3.可视化-好评率统计  从数据中取出:好评率这列,对不同的好评率进行统计,如好评率是100%(1)的商品多少件,好评率99%(0.99)的商品多少件等。

DSC00019.jpg
  核心代码****如下:

DSC00020.jpg
  可视化效果

DSC00021.jpg
  3.可视化-畅销商品销量排行
  从数据中取出:商品名称和评论数这两列,这里根据评论数去作为销售依据,对商品的销量进行排序(高到低),并取出前15名进行可视化。
核心代码****如下:  
DSC00022.jpg

可视化效果:  
DSC00023.jpg

4.可视化-畅销商品前15名原价与秒杀价对比  在上面的分析中可以知道畅销商品的销量前15名,这里将这15件商品的原价和秒杀价进行可视化对比。
核心代码****如下:  
DSC00024.jpg

可视化效果:  
DSC00025.jpg


03、小结

  本文以某东为例,Python爬取**618活动的畅销商品数据,并进行**数据清洗**,最后以**可视化的方式从不同角度去了解畅销商品中,名列前茅的商品是哪些?销售数据如何?用户好评如何?等等
不明白的地方可以在下方留言,一起交流。
关注下面的标签,发现更多相似文章