本文转载自微信公众号「志斌的python笔记」,作者志斌 。转载本文请联系志斌的python笔记公众号。
大家好,我是志斌~
最近的几天真的是太热了,志斌翻了翻自己的衣柜,发现去年的大裤衩已经不在适合自己现在肥胖的体型,所以志斌打开淘宝,搜索了1741条大裤衩的数据,然后进行了可视化分析,最终找到一条可以入手的大裤衩。
在后台回复[大裤衩]即可获得数据集。
01数据采集
淘宝网站是一个动态加载的网站,我们之前可以采用解析接口或者用selenium自动化测试工具来爬取数据,但是现在淘宝对接口进行了加密,使我们很难分析出来其中的规律,同时淘宝也对selenium进行了反爬限制,所以我们要换种思路来进行数据获取。
因为篇幅问题,数据采集的方式在这里就不在过多的讲解,有兴趣的小伙伴可以看看这篇文章,它详细的介绍了淘宝商品数据的获取方式,我们这里只展示核心代码。
- response = requests.get('https://s.taobao.com/search', headers=headers, params=params)
- shangpinming = re.findall('"raw_title":"(.*?)"', response.text)
- jiage = re.findall('"view_price":"(.*?)"', response.text)
- fahuodi = re.findall('"item_loc":"(.*?)"', response.text)
- fukuanrenshu = re.findall('"view_sales":"(.*?)人付款"', response.text)
- dianpumingcheng = re.findall('"nick":"(.*?)"', response.text)
- for i in range(44):
- try:
- if (fukuanrenshu[i] == '1.5万+'):
- f = 15000
- elif (fukuanrenshu[i] == '1.0万+'):
- f = 10000
- elif ('+' in fukuanrenshu[i]):
- f = re.findall('\d+', fukuanrenshu[i])
- else:
- f = fukuanrenshu[i]
- if float(jiage[i]) > 10:
- sheet.append([dianpumingcheng[i], shangpinming[i], float(jiage[i]), f
02数据清洗
01导入商品数据
用pandas读取爬取后的商品数据并预览。
- df = pd.read_excel('裤衩男.xlsx',names=['店铺名称','商品名','价格','产地','付款人数'])
- print(df.head())
02删除重复数据
- df.drop_duplicates()
03查看数据类型
查看字段类型和缺失值情况,符合分析需要,无需另做处理。
- df.info()
03数据可视化
我们来对这1741条大裤衩的数据进行可视化分析。
01在售的大裤衩的特点。
通过对大裤衩的商品名称进行词云图绘制,志斌发现,大裤衩的主要特点是宽松,其次是休闲和运动。仔细想来,夏天的时候大家的穿着确实是比较宽松和休闲的。
02各省市产量分布图
通过对各商品的产地数据进行统计并绘制了全国地图,我们发现福建和浙江这两个地方盛产大裤衩。
我们对这两个省份的数据进行更一步的分析发现:福建省的大裤衩主产地在泉州,占据全省产量的70.4%
浙江省的大裤衩主产地在杭州,占据全省产量的87.4%。
03各价位商品数量图
通过对商品价格进行分段可视化,我们可以看出100元以下的大裤衩占据全部市场的77.4%,可见大家对大裤衩的心理价位选择普遍较低。
04大裤衩月销量top20商家
通过对各商品月销售量进行可视化分析,我们发现,巴布衫旗舰店的月销量最多是10000。语克旗舰店的商品在月销量top20中占据6个,top5中占据了3个,看来这个旗舰店的商品受大众喜欢的类型更多。同时我们还能看出,用户们更喜欢去旗舰店和专卖店进行购物。
05选择合适的大裤衩并入手
经过以上的分析和对宝贝的评价、好评率等数据进行综合考虑之后,志斌最终选择购买这条大裤衩来入手。
05小结
1. 本文仅供学习研究使用,提供的评论仅供参考。如有不妥之处请及时告知作者。
2. 如需代码,请联系作者进行获取。