python 爬取淘宝第二弹(淘宝数据爬取)
经过上次淘宝登录以后,可以进行淘宝商品的采集了,首先我们需要知道的是我们需要的数据在哪里,我通过搜索第一个手机的名字可以看到在这个页面中有我们想要的数据,但是他是镶嵌在script标签里面的我们只能通过正则拿到他。
首先经验可知get请求一般搜索关键字都会在链接里出现,页数也是会显示在链接里面 淘宝我们不能只采集一页,所以说我们需要分析链接进行翻页操作。
‘https://s.taobao.com/search?q=%E6%89%8B%E6%9C%BA&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306&bcoffset=3&ntoffset=3&p4ppushleft=1%2C48&s=44’
我大概翻了几页可以看到s是页数,可以拼接一下每页会增加44,所以s=page*44,q代表的是关键字搜索。
然后我们就可以构造请求了。
在去请求前需要我们之前登陆淘宝的session,所以这里我们去调用登录模块,使session能够携带登陆信息。
将页面拿下来之后需要我们进行正则匹配,这里说明一下正则是我从一位大佬那里直接拿过来的。因为我并不怎么会正则。可以看到拿下来的数据,然后我们只需先将数据变成json格式,在根据我们想要什么直接将数据拿下来。
需要注意的是,采集的时候我们淘宝会封ip,需要有ip代理池。有兴趣要源码的同学可以评论留下你的微信~