文章目录
- 前言
-
- 项目内容
- 项目目的
- 项目步骤
- 工具&模块:
- 一、爬取数据
- 二、数据清洗、处理:
- 三、数据挖掘与分析:
前言
本文记录了笔者用 Python 爬取淘宝某商品的全过程,并对商品数据进行了挖掘与分析,最终得出结论。
项目内容

本案例选择>> 商品类目:沙发;
数量:共100页 4400个商品;
筛选条件:天猫、销量从高到低、价格500元以上。
项目目的
- 对商品标题进行文本分析 词云可视化
- 不同关键词word对应的sales的统计分析
- 商品的价格分布情况分析
- 商品的销量分布情况分析
- 不同价格区间的商品的平均销量分布
- 商品价格对销量的影响分析
- 商品价格对销售额的影响分析
- 不同省份或城市的商品数量分布
- 不同省份的商品平均销量分布
注:本项目仅以以上几项分析为例。
项目步骤
- 数据采集:Python爬取淘宝网商品数据
- 对数据进行清洗和处理
- 文本分析:jieba分词、wordcloud可视化
- 数据柱形图可视化 barh
- 数据直方图可视化 hist
- 数据散点图可视化 scatter
- 数据回归分析可视化 regplot
工具&模块:
工具:本案例代码编辑工具 Anaconda的Spyder
模块:requests、retrying、missingno、jieba、matplotlib、wordcloud、imread、seaborn 等。
一、爬取数据
因淘宝网是反爬虫的,虽然使用多线程、修改headers参数,但仍然不能保证每次100%爬取,所以 我增加了循环爬取,每次循环爬取未爬取成功的页 直至所有页爬取成功停止。
说明:淘宝商品页为JSON格式 这里使用正则表达式进行解析;
代码如下:

二、数据清洗、处理:
(此步骤也可以在Excel中完成 再读入数据)
代码如下:


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

三、数据挖掘与分析:
【1】. 对 raw_title 列标题进行文本分析:
使用结巴分词器,安装模块pip install jieba

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

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

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

词云可视化:
安装模块 wordcloud:
方法1: pip install wordcloud
方法2: 下载Packages安装:pip install 软件包名称
软件包下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
注意:要把下载的软件包放在Python安装路径下。
代码如下:


分析结论:
-
组合、整装商品占比很高;
-
从沙发材质看:布艺沙发占比很高,比皮艺沙发多;
-
从沙发风格看:简约风格最多,北欧风次之,其他风格排名依次是美式、中式、日式、法式 等;
-
从户型看:小户型占比最高、大小户型次之,大户型最少。
【2】. 不同关键词word对应的sales之和的统计分析:
(说明:例如 词语 ‘简约’,则统计商品标题中含有‘简约’一词的商品的销量之和,即求出具有‘简约’风格的商品销量之和)
代码如下:

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


由图表可知:
-
组合商品销量最高 ;
-
从品类看:布艺沙发销量很高,远超过皮艺沙发;
-
从户型看:小户型沙发销量最高,大小户型次之,大户型销量最少;
-
从风格看:简约风销量最高,北欧风次之,其他依次是中式、美式、日式等;
-
可拆洗、转角类沙发销量可观,也是颇受消费者青睐的。
【3】. 商品的价格分布情况分析:
分析发现,有一些值太大,为了使可视化效果更加直观,这里我们结合自身产品情况,选择价格小于20000的商品。
代码如下:


由图表可知:
- 商品数量随着价格总体呈现下降阶梯形势,价格越高,在售的商品越少;
- 低价位商品居多,价格在500-1500之间的商品最多,1500-3000之间的次之,价格1万以上的商品较少;
- 价格1万元以上的商品,在售商品数量差异不大。
【4】. 商品的销量分布情况分析:


同样,为了使可视化效果更加直观,这里我们选择销量大于100的商品。
代码如下:
由图表及数据可知:
- 销量100以上的商品仅占3.4% ,其中销量100-200之间的商品最多,200-300之间的次之;
- 销量100-500之间,商品的数量随着销量呈现下降趋势,且趋势陡峭,低销量商品居多;
- 销量500以上的商品很少。
【5】. 不同价格区间的商品的平均销量分布:
代码如下:


由图表可知:
- 价格在1331-1680之间的商品平均销量最高,951-1331之间的次之,9684元以上的最低;
- 总体呈现先增后减的趋势,但最高峰处于相对低价位阶段;
- 说明广大消费者对购买沙发的需求更多处于低价位阶段,在1680元以上 价位越高 平均销量基本是越少。
【6】. 商品价格对销量的影响分析:
同上,为了使可视化效果更加直观,这里我们结合自身产品情况,选择价格小于20000的商品。
代码如下:


由图表可知:
- 总体趋势:随着商品价格增多 其销量减少,商品价格对其销量影响很大;
- 价格500-2500之间的少数商品销量冲的很高,价格2500-5000之间的商品多数销量偏低,少数相对较高,但价格5000以上的商品销量均很低 没有销量突出的商品。
【7】. 商品价格对销售额的影响分析:
代码如下:

由图表可知:
- 总体趋势:由线性回归拟合线可以看出,商品销售额随着价格增长呈现上升趋势;
- 多数商品的价格偏低,销售额也偏低;
- 价格在0-20000的商品只有少数销售额较高,价格2万-6万的商品只有3个销售额较高,价格6-10万的商品有1个销售额很高,而且是最大值。
【8】. 不同省份的商品数量分布:
代码如下:


由图表可知:
-
广东的最多,上海次之,江苏第三,尤其是广东的数量远超过江苏、浙江、上海等地,说明在沙发这个子类目,广东的店铺占主导地位;
-
江浙沪等地的数量差异不大,基本相当。
【9】. 不同省份的商品平均销量分布:
代码如下:


总结
以上所述是小编给大家介绍的使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小编的支持!
-END-
关于Python学习指南
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
👉Python所有方向的学习路线👈
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉Python大厂面试资料👈
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


👉Python副业兼职路线&方法👈
学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方优快云官方认证二维码或者点击链接免费领取【保证100%免费】
本文详细描述了作者使用Python爬取淘宝100页沙发类商品数据,进行数据清洗、分词分析、词云可视化,以及对商品价格、销量、风格等多维度的深入挖掘,揭示了商品销售的规律和趋势。

被折叠的 条评论
为什么被折叠?



