生活中我们经常会用python进行数据爬取,但是爬取简单分析难,很多人喜欢用echarts图表接口或者是python的第三方库进行数据可视化,甚至是用matlab,基本上都需要用代码实现,在数据展示上十分繁琐,效率不高。

于是,我就想到用一种更简单的方式进行数据分析,那就是python爬取+BI分析,python强大的数据获取能力,配合轻量级BI简单快捷的可视化操作,分析效果奇佳。原理也很简单,数据层由Python来进行抓取到网页数据,解析后储存到mysql数据库;BI负责最后应用层的数据处理、加工和可视化。

话不多说,进入我们今天的主题:如何用python爬取淘宝某内衣店评论,并用FineBI进行数据分析?

注:演示工具为python+FineBI,本文仅供娱乐和数据分析学习,不要过于认真哦!

一、分析目的

数据分析之前要明确我们分析的目的是什么,当然了,本次实操的目的就是为了获取某京东内衣店的文胸评论情况,分析出什么款式的内衣最受妹子们的喜欢。(千万不要想歪了!)

虽然我没买过文胸,但是基本上也能推理出京东内衣的分析维度:文胸款式、颜色、大小等。

京东店家页面上可以作为数据指标的有:评论量、评分、评论、购买时间等。

python 如何制作fly brid python做bi_python 如何制作fly brid

 

二、数据获取

京东的python爬取比较简单,只需要知道想要爬取页面的url就ok了,所以第一步我们先爬一下数据。

我们选择一家京东内衣店并进入其评论界面,然后按下F12进入开发者模式-network,其中productId就是是每个商品的id,通过这个id就能去获取商品的评价记录

python 如何制作fly brid python做bi_数据分析_02

 

下面开始爬取,首先我们需要在搜索页面获取商品的id,为下面爬取用户评价提供productId。然后将前三页的商品id放入列表中,此时能看到返回的是一个 Json 数据 ,检查一下你会发现这串 Json 就是商品的评论数据了。

附上该模块的源代码:(文末有获取方式)

python 如何制作fly brid python做bi_大数据_03

 

同理,我们继续爬取页面上的内衣大小,颜色等等,其中Color即是产品颜色,Size即是产品尺寸,itemId当然就是是商品id等等。

附上该模块源代码:(文末有获取方式)

python 如何制作fly brid python做bi_数据_04

 

最后将这些模块组合在一起,就完成了最终的爬取代码,最终爬取了5000多条数据,如下:

python 如何制作fly brid python做bi_python 如何制作fly brid_05

 

源代码获取方式见文末!

三、FineBI数据加工

python爬取了数据之后,应该做一些在脏数据的处理和数据加工,但是因为代码写起来比较麻烦,不如直接用FineBI方便,所以我们将这些数据存入数据库,以便连接FineBI。(FineBI其实可以直接用上传excel数据,但是我个人习惯用数据库)

首先,打开FineBI的管理界面,点击数据连接,选择数据库连接之后,将爬取好的数据表直接导入到系统之中,供我们下一步分析使用。

python 如何制作fly brid python做bi_数据分析_06

 

FineBI中有一个很好用的功能是自助数据集,我可以直接将添加数据表中的对应指标,如下:

python 如何制作fly brid python做bi_数据可视化_07

 

然后我们就可以进行数据加工了,其中我们要先祛除一些脏数据,比如空值列,我们在finebi中选择筛选,设置条件为comment不等于null,如下:

python 如何制作fly brid python做bi_数据可视化_08

 

为了分析妹子们什么时间段最爱逛内衣店,需要将指标中的时间“年月日时”设置为“小时”,这时候我们新增一列,名称为“购买时间”,然后调用时间函数hour,设置方式如下:

python 如何制作fly brid python做bi_数据可视化_09

 

源数据中的文胸颜色有很多,比如卡卡色、淡粉色、桃粉色、性感粉等等,我们不需要这么多种类,只需要一个大概的色调即可,因此再新增一列,名称为“色调”,选择分组赋值,将同种颜色的色调分为同一组中,方便我们分析:

python 如何制作fly brid python做bi_大数据_10

 

同理,我们可以把内衣尺寸也进行分组赋值,按照大小归为A、B、C、D四个组,如下:

python 如何制作fly brid python做bi_数据_11

 

最后一步进行分组汇总,基本的数据加工就完成了,我们所需要的指标和维度都已经处理好了,下面就可以进入脸红心跳的可视化环节了!

四、可视化分析

FineBI是通过创建组件、设计仪表板的形式来进行可视化分析的,我们选择刚才处理好的数据集,添加组件,通过拖拽就可以通过饼图、柱状图、散点图、热力图、词云图等等图表进行分析了。

python 如何制作fly brid python做bi_数据_12

 

具体过程因为太简单这里就不说了,大家可以自己下载尝试一下,下面直接展示结果:

1、哪个尺寸的妹子最多?

python 如何制作fly brid python做bi_数据可视化_13

 

B罩杯的文胸卖的最多,而且总量超过了A、C、D三种罩杯内衣的总和,看来我们身边还是B罩杯的女生更多一些,应该属于我们国家的平均水平。(开玩笑,莫当真!)

2、哪个颜色的内衣最受欢迎?

 

python 如何制作fly brid python做bi_python 如何制作fly brid_14

 

这里我用的是气泡图,气泡大小代表评论量,能够直观地看到黑色文胸一骑绝尘,占据了该内衣店60%以上的销量,看来妹子们是真的喜欢黑色;

其次,粉色、灰色、肤色三种颜色占比差不多,比较受女生们喜爱;而蓝色、红色、绿色就几乎看不到了,如果你开了一家内衣店,千万不要卖太多这样颜色的文胸,否则销量可不好哦。

python 如何制作fly brid python做bi_数据分析_15

 

除了评论量,我们还需要用好评率来衡量某种颜色的文胸是否真的受欢迎,如上图所示,平均好评率为3.31,其中超过平均好评率的只有黑色、粉色、肤色、绿色和黄色。

其中黄色的销量虽然不高,但是好评率最高,可能是跟文胸的质量有关;

黑色的好评率居中,可能是因为样本数据太多,拉低了好评率,总体上表现良好;

白色销量差,好评率也最低,这家内衣店应该考虑去除白色的文胸,减少红色、蓝色文胸的比例;

3、妹子们什么时间更爱买内衣?

python 如何制作fly brid python做bi_python 如何制作fly brid_16

 

按照24小时的顺序分析评论量,可以大致看出妹子们逛内衣店的活动画像。

一天当中的高峰时间是上午的9点-11点,晚上的8点-12点,看来女生不仅喜欢晚上买内衣,还喜欢在上午买,商家可以考虑在上午推广活动,这样效果应该会更好一些;

下午和深夜属于低谷时间,不过仍然有些人在凌晨3点-5点买内衣,这些妹子不睡觉的吗?

4、这家内衣店的总体感受如何?

python 如何制作fly brid python做bi_数据分析_17

 

python可以直接制作云图,不过这里我是直接在excel表中用vba提取的关键词,直接放到了FineBI之中,比较方便快捷一些。

看得出来,这家内衣店卖的文胸总体上比较舒适,妹子们主要关注的是内衣是否舒服、合身、实惠等等,总体上好评比较高,女生们可以放心在这家店里买内衣了!