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

618购物节,辰哥准备分析一波购物节你们都喜欢买什么?本文以某东为例,Python爬取618活动的畅销商品数据,并进行数据清洗,最后以可视化的方式从不一样角度去了解畅销商品中,名列前茅的商品是哪些?销售数据如何?用户好评如何?等等json

本文结构以下异步

一、爬取某东畅销商品数据函数

二、清洗数据并并进行简单分析3d

三、将数据进行可视化展现excel

数据的字段以下:blog

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

0一、获取数据

1.   分析网页接口

在编写代码以前,先来分析一波网页。get

上面是某东的畅销商品,经过辰哥分析分析,该网页有异步加载(前面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条某东畅销商品数据

0二、数据分析&可视化

1.数据清洗

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

清洗目标

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

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

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

清洗结果:

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

从清洗后数据中取出:商品名称和打折这两列,进行【排序】从打折最大到打折最小。最后取出前15名进行可视化

核心代码****以下:

可视化效果

3.可视化-好评率统计

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

核心代码****以下:

可视化效果

3.可视化-畅销商品销量排行

从数据中取出:商品名称和评论数这两列,这里根据评论数去做为销售依据,对商品的销量进行排序(高到低),并取出前15名进行可视化。

核心代码****以下:

可视化效果

4.可视化-畅销商品前15名原价与秒杀价对比

在上面的分析中能够知道畅销商品的销量前15名,这里将这15件商品的原价和秒杀价进行可视化对比。

核心代码****以下:

可视化效果

0三、小结

本文以某东为例,Python爬取618活动的畅销商品数据,并进行数据清洗,最后以可视化的方式从不一样角度去了解畅销商品中,名列前茅的商品是哪些?销售数据如何?用户好评如何?等等

不明白的地方能够在下方留言,一块儿交流。