基于Scarpy爬取Shopee网站商品数据

一、实现的主要功能:

1、基于Scarpy框架爬取Shopee网站马来西亚站点商品数据,包括商品url,最低价、最高价、销量、商品图片url、店铺名称、店铺开通时间;

2、针对反爬,获取免费ip代理网站的ip自动更换ip;

关注公众号,发送shopee获取项目代码下载链接

二、项目结构:

图片

 

三、用到的接口有:

接口1、获取当前页50个商品数据:

  •  
https://my.xiapibuy.com/api/v2/search_items/?by=sales&limit=50&match_id=17&newest=0&order=desc&page_type=search

第一页newest=0,每增加一页newest加50,第二页newest=50。match_id=17,指的是Men's-Clothing类目。

 

接口2、获取商品店铺的相关信息:

  •  
https://my.xiapibuy.com/api/v2/shop/get?is_brief=1&shopid={}

接口1可以获取商品所在店铺的shopid,shopid传入接口二既可获取店铺的相关信息,本案例只获取了店铺的注册时间和店铺名称。接口2返回的还有店铺的其他数据,像店铺介绍那些。

 

四、用到的库:

用pip逐一安装,或者运行pip install -r requirements.txt进行安装:

  •  
  •  
  •  
  •  
fake_useragent==0.1.11Twisted==18.7.0Scrapy==1.5.1FreeProxy==1.0.2

 

五、项目启动:

终端下执行start.py即可:

  •  
python start.py

 

六、结果截图:

1、终端运行结果:

图片

获取代理

图片

爬取数据

2、保存的json:

图片


 

七、需注意的地方:

1、直接安装的FreeProxy会去请求国外代理网站,需要自行修改FreeProxy的源码,注释掉去国外代理网站获取免费ip的方法。

 

2、本案例只是爬取shopee马来西亚站点Men's-Clothing类目下的数据,也就是接口1里match_id=17,获取所有类目的接口是这个:

  •  
https://my.xiapibuy.com/api/v2/category_list/get

请求这个接口就可以找到所有类目的match_id。

关注公众号,发送shopee获取项目代码下载链接


有其他问题问,看到了会及时回复。


本案例仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。


版权声明:本文为spartanfuk原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。