使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”


Posted in Python onMarch 23, 2018

本文记录了笔者用 Python 爬取淘宝某商品的全过程,并对商品数据进行了挖掘与分析,最终得出结论。

项目内容

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

本案例选择>> 商品类目:沙发;
数量:共100页  4400个商品;
筛选条件:天猫、销量从高到低、价格500元以上。

项目目的

1. 对商品标题进行文本分析 词云可视化
2. 不同关键词word对应的sales的统计分析
3. 商品的价格分布情况分析
4. 商品的销量分布情况分析
5. 不同价格区间的商品的平均销量分布
6. 商品价格对销量的影响分析
7. 商品价格对销售额的影响分析
8. 不同省份或城市的商品数量分布
9.不同省份的商品平均销量分布

注:本项目仅以以上几项分析为例。

项目步骤

1. 数据采集:Python爬取淘宝网商品数据
2. 对数据进行清洗和处理
3. 文本分析:jieba分词、wordcloud可视化
4. 数据柱形图可视化 barh
5. 数据直方图可视化 hist
6. 数据散点图可视化 scatter
7. 数据回归分析可视化 regplot

工具&模块:

工具:本案例代码编辑工具 Anaconda的Spyder
模块:requests、retrying、missingno、jieba、matplotlib、wordcloud、imread、seaborn 等。

一、爬取数据

因淘宝网是反爬虫的,虽然使用多线程、修改headers参数,但仍然不能保证每次100%爬取,所以 我增加了循环爬取,每次循环爬取未爬取成功的页 直至所有页爬取成功停止。
说明:淘宝商品页为JSON格式 这里使用正则表达式进行解析;

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

二、数据清洗、处理:

(此步骤也可以在Excel中完成 再读入数据)

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

说明:根据需求,本案例中只取了 item_loc, raw_title, view_price, view_sales 这4列数据,主要对 标题、区域、价格、销量 进行分析。

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

三、数据挖掘与分析:

【1】. 对 raw_title 列标题进行文本分析:

使用结巴分词器,安装模块pip install jieba

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

对 title_s(list of list 格式)中的每个list的元素(str)进行过滤 剔除不需要的词语,即 把停用词表stopwords中有的词语都剔除掉:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

因为下面要统计每个词语的个数,所以 为了准确性 这里对过滤后的数据 title_clean 中的每个list的元素进行去重,即 每个标题被分割后的词语唯一。

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

观察 word_count 表中的词语,发现jieba默认的词典 无法满足需求:
有的词语(如 可拆洗、不可拆洗等)却被cut,这里根据需求对词典加入新词(也可以直接在词典dict.txt里面增删,然后载入修改过的dict.txt)

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

词云可视化:

安装模块 wordcloud:
方法1: pip install wordcloud
方法2: 下载Packages安装:pip install 软件包名称
软件包下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

注意:要把下载的软件包放在Python安装路径下。

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

分析结论:

1. 组合、整装商品占比很高;

2. 从沙发材质看:布艺沙发占比很高,比皮艺沙发多;
3. 从沙发风格看:简约风格最多,北欧风次之,其他风格排名依次是美式、中式、日式、法式 等;
4. 从户型看:小户型占比最高、大小户型次之,大户型最少。

【2】. 不同关键词word对应的sales之和的统计分析:

(说明:例如 词语 ‘简约',则统计商品标题中含有‘简约'一词的商品的销量之和,即求出具有‘简约'风格的商品销量之和)

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

对表df_word_sum 中的 word 和 w_s_sum 两列数据进行可视化
(本例中取销量排名前30的词语进行绘图)

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

由图表可知:

1. 组合商品销量最高 ;

2. 从品类看:布艺沙发销量很高,远超过皮艺沙发;
3. 从户型看:小户型沙发销量最高,大小户型次之,大户型销量最少;
4. 从风格看:简约风销量最高,北欧风次之,其他依次是中式、美式、日式等;
5. 可拆洗、转角类沙发销量可观,也是颇受消费者青睐的。

【3】. 商品的价格分布情况分析:

分析发现,有一些值太大,为了使可视化效果更加直观,这里我们结合自身产品情况,选择价格小于20000的商品。

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

由图表可知:

1. 商品数量随着价格总体呈现下降阶梯形势,价格越高,在售的商品越少;
2. 低价位商品居多,价格在500-1500之间的商品最多,1500-3000之间的次之,价格1万以上的商品较少;
3. 价格1万元以上的商品,在售商品数量差异不大。

【4】. 商品的销量分布情况分析: 

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

同样,为了使可视化效果更加直观,这里我们选择销量大于100的商品。

代码如下:

由图表及数据可知:

1. 销量100以上的商品仅占3.4% ,其中销量100-200之间的商品最多,200-300之间的次之;
2. 销量100-500之间,商品的数量随着销量呈现下降趋势,且趋势陡峭,低销量商品居多;
3. 销量500以上的商品很少。

【5】. 不同价格区间的商品的平均销量分布:

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

由图表可知:

1. 价格在1331-1680之间的商品平均销量最高,951-1331之间的次之,9684元以上的最低;
2. 总体呈现先增后减的趋势,但最高峰处于相对低价位阶段;
3. 说明广大消费者对购买沙发的需求更多处于低价位阶段,在1680元以上 价位越高 平均销量基本是越少。

【6】. 商品价格对销量的影响分析:

同上,为了使可视化效果更加直观,这里我们结合自身产品情况,选择价格小于20000的商品。

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

由图表可知:

1. 总体趋势:随着商品价格增多 其销量减少,商品价格对其销量影响很大;
2. 价格500-2500之间的少数商品销量冲的很高,价格2500-5000之间的商品多数销量偏低,少数相对较高,但价格5000以上的商品销量均很低 没有销量突出的商品。

【7】. 商品价格对销售额的影响分析:

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

由图表可知:

1. 总体趋势:由线性回归拟合线可以看出,商品销售额随着价格增长呈现上升趋势;
2. 多数商品的价格偏低,销售额也偏低;
3. 价格在0-20000的商品只有少数销售额较高,价格2万-6万的商品只有3个销售额较高,价格6-10万的商品有1个销售额很高,而且是最大值。

【8】. 不同省份的商品数量分布:

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

由图表可知:

1. 广东的最多,上海次之,江苏第三,尤其是广东的数量远超过江苏、浙江、上海等地,说明在沙发这个子类目,广东的店铺占主导地位;

2. 江浙沪等地的数量差异不大,基本相当。

【9】. 不同省份的商品平均销量分布:

代码如下:

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

热力型地图

使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”

总结

以上所述是小编给大家介绍的使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python读写Excel文件方法介绍
Nov 22 Python
python计算对角线有理函数插值的方法
May 07 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
python删除某个字符
Mar 19 Python
对python Tkinter Text的用法详解
Oct 11 Python
如何利用Anaconda配置简单的Python环境
Jun 24 Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 Python
Windows系统Python直接调用C++ DLL的方法
Aug 01 Python
pytorch中使用cuda扩展的实现示例
Feb 12 Python
OpenCV Python实现拼图小游戏
Mar 23 Python
Django调用支付宝接口代码实例详解
Apr 04 Python
PyCharm Community安装与配置的详细教程
Nov 24 Python
python 将字符串转换成字典dict的各种方式总结
Mar 23 #Python
Python自定义线程类简单示例
Mar 23 #Python
python如何实现内容写在图片上
Mar 23 #Python
Python实现的自定义多线程多进程类示例
Mar 23 #Python
python爬取各类文档方法归类汇总
Mar 22 #Python
关于Python正则表达式 findall函数问题详解
Mar 22 #Python
Django自定义过滤器定义与用法示例
Mar 22 #Python
You might like
多文件上载系统完整版
2006/10/09 PHP
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
jquery选择器简述
2015/08/31 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
vue debug 二种方法
2018/09/16 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
js实现导航跟随效果
2018/11/17 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
2020/03/17 Javascript
多版本Python共存的配置方法
2017/05/22 Python
解决Python plt.savefig 保存图片时一片空白的问题
2019/01/10 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
python如何实现DES加密
2020/09/21 Python
市政施工员自我鉴定
2014/01/15 职场文书
仓管员岗位责任制
2014/02/19 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
教研处工作方案
2014/05/26 职场文书
婚前协议书标准版
2014/10/19 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python