当前位置 博文首页 > 用Python爬取618当天某东热门商品销量数据,看看大家喜欢什么!

    用Python爬取618当天某东热门商品销量数据,看看大家喜欢什么!

    作者:Python研究者 时间:2021-08-06 18:27

    前言

    本文结构如下:

    1、爬取某东畅销商品数据

    2、清洗数据并并进行简单分析

    3、将数据进行可视化展示

    数据的字段如下:

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

    一、获取数据

    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条某东畅销商品数据

    二、数据分析&可视化

    1.数据清洗

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

    清洗目标:

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

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

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

    清洗结果:

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

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

    核心代码****如下:

    可视化效果:

    3.可视化-好评率统计

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

    核心代码****如下:

    可视化效果:

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

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

    核心代码****如下:

    可视化效果:

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

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

    核心代码****如下:

    可视化效果:

    jsjbwy
    下一篇:没有了