FIRE

Nothing is impossible

“识货”球鞋价格分析

随语

球鞋又溢价了…就搞不懂大众跟风能把市场作成这种亚子(=_=)

水是越来越深了,算了算了咱不跟风,价格你可劲涨,我买算我输(¬㉨¬)反正好看的鞋子海了去了,总有贩子看不上的🙃干脆去网上爬爬现在的球鞋数据分析一波好了嘿嘿嘿~

源码数据👉基于Scrapy的网站球鞋价格分析

市场分析

现在玩鞋的人基本都是年轻人或是学生党,因为NBA盛行的缘故,当下大多热门的球鞋均为篮球鞋,而篮球鞋的目标受众一般有两种:

  1. 以球鞋为特殊收藏品的球鞋爱好者,搜集各种各样的球鞋只为放在陈列柜里,这类人多数富有,对于球鞋的价格几乎是一种无所谓的态度,多少钱只要自己喜欢都会收。
  2. 热爱篮球的实战党,球鞋在高强度的篮球训练或篮球比赛种会快速磨损,所以对于实战党来说,球鞋的更换频率极高。

一双热门的鞋款几乎都要千元人民币左右,这对于学生党而言并不是小数目,而且就算购置,这些鞋款也不一定适用于实战,所以对于这类学生党或是年轻人,面对时下如此庞大的市场,如何选购一双价格亲民、品牌靠得住、适用于实战的球鞋,是他们最最需要的。

概要设计

技术栈选型:Matplotlab

Matplotlib是Python基础的2D绘图库,可以将原始数据处理成柱状图、散点图、条形图等等图形,基于此项目并没有很多数据,而且需要将数据直观化,所以项目的技术栈选用Matplotlib

数据爬取总体流程

详细设计

数据源说明

球鞋数据基于”识货”网站,此站包含全网各球鞋的最低价,考虑到鞋子因尺码同款不同价,此数据分析仅供参考

当下热门的球鞋交易网站有很多,比如“stockx”、“识货”、“淘宝”,但相较而言,“stockx”作为一个海外网站,爬取延时较高,数据爬取存在损失的问题,“淘宝”多数都无法辨认真伪,假冒、水货的风险较高,以一个球鞋狂热爱好者的角度,“识货”网站上的数据更加可靠,而且分析结果面向的受众多为学生,“识货”的全网最低价很显然符合本项目的需求,因此爬取此网站上的数据。

球鞋品牌种类众多,旗下不同类型的球鞋更加如此,所以,为了在短时间内能高效地分析出所需的球鞋数据,爬取“识货”球鞋排行榜的数据,排行版可以直接反馈当前市场上最热门的鞋款,选取前10页的内容,每页内容均有60双鞋,所以获取对象就是600双鞋,本项目就基于着600双鞋的部分鞋款进行详细分析。

数据表说明

字段英文名 字段中文名 数据类型与精度 是否主外键
serial number 序号 integer 主键
sneaker Name 球鞋名称 string
price 价格 float (.2f)

具体问题解决方案

网站难以爬取

在选取网站方面,由于部分网站的限制要求较高,不容易爬取网站上的数据,查阅网络资料获知爬取此类网站需要先伪装服务器,将request中的header值进行部分的修改。在爬虫进行之前,可以复制网页url到Convert curl syntax to Python将header值在提交时进行修改。

绘制图标时中文无法显示

在获取完网页的完整信息的情况下,对基础信息进行汇总作图,发现X轴、Y轴的具体名称无法使用中文输入,查阅资料,得到与Matplotlib相关的代码修改。

1
2
3
# 中文显示
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False

垂直直方图的数据显示位置存在问题

Matplotlib自带的垂直直方图并没有确定数据显示位置的函数(有可能没查到),每柱的数据显示在中间更加直观,所以就通过修改height和width值的方法,把数据显示的位置调整至中间,问题解决。

1
2
3
4
5
# 用于垂直柱状图数据显示
def autolabel(rects):
for rect in rects:
height = rect.get_height()
plt.text(rect.get_x()+rect.get_width()/2. - 0.05, 1.01*height, '%s' % int(height))

数据分析&可视化

通过网络爬虫获取网站数据,进行分类汇总,根据各品牌在市场的占比进行排序,使用水平柱状图将数据分析的结果进行呈现,“Nike”品牌高居榜首,占比超25%,而在最后的AND1、Time、回力、Equalizer和New Balance几乎看不出占比差距,相对以上品牌算是冷门品牌,因此不作为此次的分析对象

为了分析的对象更具有针对性,所以将所有占比计算均值,占比大于均值的球鞋品牌进行下一轮的分析,但不难看出,尽管已经做了排序,但占比的差异性无法体现出来,所以接下来的分析不再使用水平柱状图进行显示。相比较而言,饼图更合适。

基于获得的饼图,获得了在市场占比大于均值的前7 的球鞋品牌,分别是“Nike”、“李宁”、“Jordan”、“adidas”、“Air Jordan”、“安踏”和“匹克”,通过饼图可以看出前3名直接占据了整个饼图的50%,所以下一步的分析对象就是排行前3的品牌,分别是“Nike”、“Jordan”和“李宁”。

“Air Jordan”和“Jordan”其实均属于“Nike”的旗下品牌,但“Jordan”和“Air Jordan”是迈克尔·乔丹的独创品牌,和“Nike”的主创球鞋还是有些差异,因此分开,“Jordan”和“Air Jordan”的差异仅在于“Air Jordan”是乔丹正代(经典鞋款),所以把“Air Jordan”的球鞋放入“Jordan”鞋款一并分析

为了分析的结果更加具体,所以将球鞋依照品牌分类分析,因为需要划分价格区间,所以首先要获取3个品牌的价格最大值,通过排序获得最贵的球鞋Nike Shox VC III,售价3899元,因而价格的全区间就为0-4000,再根据500进行细分:

每个品牌的价格集中区一目了然,“Nike”价格多集中在500-1000中,“李宁”价格多集中在0-500中,而“Jordan”在0-500和500-1000这两个价格区间的球鞋款式数量不相上下,且Nike是唯一具有2500元以上鞋款的品牌。

结论

基于“识货”网站热门球鞋排行版所获取前600的球鞋,通过详细的数据分析,以及绘图结果可知:

  • 通过对球鞋的品牌分析可知,进入球鞋领域的品牌数量远超想象,仅仅排行前600的球鞋就有21个品牌;

  • 当下球鞋行业的领头品牌是“Nike”、“李宁”和 “Jordan”三个品牌;

  • 和预想的结果不同,在普通人的眼中,“Nike”和“adidas”均是鞋企的首屈一指,但“adidas”并未进入前三的行列,位次“Jordan”,排行第四;

  • 基于“识货”这一宣称全网最低价的球鞋网站,获得的最低球鞋价格和市面上流通的大多数球鞋的价格相比相差甚远,可知当前市场球鞋价格虚高的现象非常严重,球鞋爱好者因此现象深受伤害;

  • 将“李宁”、“Nike”和“Jordan”三个品牌的球鞋分开逐一分析,并基于价格区间进行分类汇总,得知“李宁”品牌的价格多为0-500元,Jordan也没有想象中的昂贵,价格也都集中在0-500元,而Nike的大多数球鞋价格均在500-1000元,且是三个品牌唯一一个有超过2500元球鞋的品牌;

  • 基于以上的价格分析,不难看出,“李宁”的价格更为亲民,比较适合喜爱球鞋的学生党,而“Nike”基于它“老大哥”的地位,报价相对而言较高,对于实战的需要频繁换鞋的学生而言并不适合;

  • 对它们价格集中的区间进行详细分析,获取区间的品牌价格天梯,“Nike”就算是低于1000元也有很多999.99元的球鞋,不难猜测球鞋爱好者买账的原因绝大多数还是“Nike”的品牌效应

作为一名球鞋爱好者,面对当下鞋贩子盛行、球鞋价格满天飞的状况着实头大,而“识货”提供了全网每双球鞋的最低价格的购买路径,所以可以基于此网站的数据,对热门球鞋的价格进行详细分析,便于未来购买自己喜爱的鞋款,而且,如果未来能够从其他网站平台获取更多的相关数据,可以通过深度学习对每双自己想要购置的球鞋进行价格预测,躲开鞋贩子挖下的雷区❤。

-------- 🎈本文结束 感谢阅读🎈 --------
感謝老闆支持!