炎炎夏日,长裤已难以满足广大男生的需求,为了在搬砖和摆摊的过程中增添一丝舒适感,他们开始寻找一种神奇的存在——大裤衩。J哥在种菜的这些日子里也日益感受到大裤衩的重要性,于是,默默打开了淘宝并搜索了大裤衩,但翻了半天也不知道买啥。
无比懊恼的J哥扔掉了手机,打开电脑并爬取了淘宝4403条大裤衩数据,然后进行了可视化分析,并最终找到一条可以入手的大裤衩。本文主要尝试解决以下几个问题:
淘宝网站是一个ajax动态加载的网站,只能通过解析接口或用selenium自动化测试工具去爬取。
本次数据获取采用selenium,由于J哥的谷歌浏览器版本更新较快,导致原来的谷歌驱动失效。于是,我禁用了浏览器自动更新,并下载了对应版本的驱动。
浏览器驱动必须与浏览器版本匹配,否则selenium将失效,这里也给出下载链接:
http://chromedriver.storage.googleapis.com/index.html
接着,J哥利用selenium在淘宝网搜索大裤衩,手机扫码登录,获得了大裤衩的商品名称、商品价格、付款人数、店铺名称、发货地址等信息,最终保存为big_pants.xlsx。
1def main():
2 browser.get('https://www.taobao.com/')
3 page = search_product(key_word)
4 print(page)
5 get_data()
6 page_num = 1
7 while int(page) != page_num:
8 print("-" * 100)
9 print("正在爬取第{}页大裤衩数据".format(page_num + 1))
10 browser.get('https://s.taobao.com/search?q={}&s={}'.format(key_word, page_num*44))
11 browser.implicitly_wait(10)
12 get_data()
13 page_num += 1
14 print("大裤衩数据抓取完成")
15
16if __name__ == '__main__':
17 key_word = "大裤衩 男"
18 browser = webdriver.Chrome("./chromedriver")
19 main()
短短几分钟就爬下了4403条大裤衩样本数据,为了方便数据分析,还需要对原始数据进行简单清洗。
数据清洗干净后,接下来就可以做可视化分析了,本次可视化分析主要用到Python的pyecharts库和BI工具。
我们首先来看点有意思的数据,最贵的大裤衩和最便宜的大裤衩的区别:
最便宜的大裤衩
对比一下,不难发现这两条大裤衩的区别,一个风度翩翩,一个花里胡哨。作为一名种菜的民工,风度没暖用(主要还是买不起),便宜无好货的认知在开始学种菜的时候就印刻在J哥的脑海里了,于是J哥继续分析。
J哥利用省份和付款人数字段数据做了个全国地图,发现福建和浙江这两个地方盛产大裤衩。根据一般的经济学原理,产业集聚更容易带来专业化分工和规模化经营。于是,J哥首先锁定了这两个地方的大裤衩并进一步下钻分析。
在盛产大裤衩的两个省份中,泉州占到了福建大裤衩的44.28%,杭州占到了浙江大裤衩的37.02%。目标进一步缩小,J哥内心无比激动。
要想买到一条合适的大裤衩,不仅需要分析销量因素,咱们还得分析价格因素。由上图可知,80%的大裤衩价格在50元以下,100元以上的大裤衩占比不到2%。可见,大家对大裤衩的心理价位普遍不高。