用Python爬取分析【某东618】畅销商品销量数据,带你看看大家都喜欢买什么!
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.数据清洗
需要清洗的内容,主要有图中这三列(标题、打折、好评数)。
清洗目标:
-
标题过长(长度控制在10内),不方便后面的画图
-
打折字段中含有折字,在进行排序时不能直接转数值型。
-
好评数中的万,转为具体数值,如1.2万转为12000
清洗结果:
2.可视化-商品打折力度
从清洗后数据中取出:商品名称和打折这两列,进行【排序】从打折最大到打折最小。最后取出前15名进行可视化
核心代码****如下:
可视化效果:
3.可视化-好评率统计
从数据中取出:好评率这列,对不同的好评率进行统计,如好评率是100%(1)的商品多少件,好评率99%(0.99)的商品多少件等。
核心代码****如下:
可视化效果:
3.可视化-畅销商品销量排行
从数据中取出:商品名称和评论数这两列,这里根据评论数去作为销售依据,对商品的销量进行排序(高到低),并取出前15名进行可视化。
核心代码****如下:
可视化效果:
4.可视化-畅销商品前15名原价与秒杀价对比
在上面的分析中可以知道畅销商品的销量前15名,这里将这15件商品的原价和秒杀价进行可视化对比。
核心代码****如下:
可视化效果:
03、小结
本文以某东为例,Python爬取618活动的畅销商品数据,并进行数据清洗,最后以可视化的方式从不同角度去了解畅销商品中,名列前茅的商品是哪些?销售数据如何?用户好评如何?等等
不明白的地方可以在下方留言,一起交流。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MateCloud 3.7.8 正式版发布, Spring Cloud Alibaba 的微服务平台
一、升级说明 1.1、功能升级 #32 优化mate-starter-lock分布式锁的bug @aaronuu 新增自定义验证框架 @aaronuu #I3UFXE 修复消息消费多个的bug @madi 1.2、依赖升级 升级至RocketMQ 4.9.0 升级至 Seata 1.4.2 升级至Mybatis Plus 3.4.3.1 升级至elasticsearch 7.13.2 二、平台说明 MateCloud 是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合 Spring Cloud Gateway、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ 等服务套件,旨在为用户者提供技术框架的基础能力的封装,减少开发工作,可以专心于业务。 2.1 功能特点 采用最新的 Spring Cloud Hoxton SR8, Spring Boot 2.3.7.RELEASE, Spring Cloud Alibaba 2.2.3.RELEASE 版本进行系统设计 支持 nacos 作为注册中心,实现多配置、...
- 下一篇
🏆Java技术专题-JVM研究系列(36) 性能调优之CMS垃圾回收器(上)
前提概要 如果没有冬天,春天不会如此悦人;如果没有偶尔的不幸,幸运不会如此受人欢迎。 CMS垃圾回收的6个重要阶段 initial-mark 初始标记(CMS的第一个STW阶段),标记GC Root直接引用的对象,GC Root直接引用的对象不多,所以很快。 concurrent-mark并发标记阶段,由第一阶段标记过的对象出发,所有可达的对象都在本阶段标记。 concurrent-preclean 并发预清理阶段,也是一个并发执行的阶段。在本阶段,会查找前一阶段执行过程中,[从新生代晋升或新分配或被更新的对象]。通过并发地重新扫描这些对象,预清理阶段可以减少下一个stop-the-world 重新标记阶段的工作量。 concurrent-abortable-preclean,并发可中止的预清理阶段。这个阶段其实跟上一个阶段做的东西一样,也是为了减少下一个STW重新标记阶段的工作量。增加这一阶段是为了让我们可以控制这个阶段的结束时机,比如扫描多长时间(默认5秒)或者Eden区使用占比达到期望比例(默认50%)就结束本阶段。 remark重标记阶段(CMS的第二个STW阶段),暂停所有用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7,8上快速安装Gitea,搭建Git服务器