oliverstian / taobao_spider

scrapy淘宝数据抓取和简要可视化

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

淘宝爬虫

1、淘宝登陆流程

step1:输入用户名后,浏览器会向淘宝(taobao.com)发起一个post的请求,判断是否出现滑块验证!

step2:用户输入密码后,浏览器向淘宝(taobao.com)又发起一个post请求,验证用户名密码是否正确,如果正确则返回一个token。

step3:浏览器拿着token去阿里巴巴(alibaba.com)交换st码

step4:浏览器获取st码之后,拿着st码获取cookies,登录成功

2、淘宝数据爬取

由于一个朋友做油纸伞生意,所以对油纸伞的相关数据比较感兴趣。所有数据都是在登陆的情况下抓取的,没有试过不登录是否也能抓取。爬虫采用scrapy框架,数据存储使用mongdb,之前看到网上说设置代理,后来发现设置代理后淘宝直接把我的账号给封了,估计是淘宝会检测异地登陆。

淘宝爬虫爬的过快基本上中途都会出现滑动验证码,由于本次只是做学习用,而且抓的数据量不多,所以就把爬取速度设置得很慢,10秒钟发送一次请求,100页总共约4200条数据基本上15分钟就能全部获取到,中途没有出现滑块的情况。

3、后续优化

淘宝反爬比较严重,主要体现在中途会出现验证码,selenium也能被淘宝识别出来,不过听说最近有个神器pyppteer可以完美躲过淘宝反爬,而且使用异步框架asyncio,速度应该会比selenium快,所以后续将尝试使用pyppteer优化淘宝数据爬取。

数据可视化

1、将爬取到的所有店铺的标题进行关键字分切,然后进行词云分析,看看油纸伞主要和哪些关键字关联比较大,可以看到油纸伞主要是用来做道具,装饰等用途。

2、画出价格和销量的散点图,价格在8-30元的区间销售量最大。

About

scrapy淘宝数据抓取和简要可视化


Languages

Language:Jupyter Notebook 95.4%Language:Python 4.6%