爬取完几个主流电商平台的信息,今天想着也去攻克一下拼多多。于是先去GitHub上面找一下有没有哪位大神搞过了借鉴一下,然后果然发现一个好用的接口。
想着既然找到了就先下载下来跑一下,嗯。。。“热门”的感觉可以,应该很简单。然后就兴高采烈地扩展一下别的商品种类,果然很多坑。。
一、思路分析
经过谷歌F12工具一番分析,总结一下爬取思路:
1、“热门”商品比较特殊,其他商品种类有细分小分类,故需从大分类获取到小分类地址,然后进一步请求。以“女装”为例:地址为:http://apiv3.yangkeduo.com/operation/14/groups?page=1&size=100&opt_type=1 ,size为单页显示商品数量,最大可以400,大分类opt_type为1,小分类opt_type为2,14是“女装”ID。
2、大分类和小分类页面有时第一次请求会失败,需多次请求才能成功,故需要设置一个循环。
3、店铺信息在商品页列表里面每次请求会有所缺失,故需到商品页里面获取,但是商品页需要带请求参数,主要是cookie和AccessToken(访问令牌)。这两个参数会过期,解决方法后面讨论。
二、爬取字段
店铺信息获取比较麻烦,如果不要的话会简单很多,商品评价如果要获取可以参考一下上面的GitHub地址,这里先注释掉。
goods_id = scrapy.Field() # 商品ID
goods_name