京东最近的反扒措施貌似有所升级,尤其对于ip的监测力度很大,不过好在有解决办法,下面来看看具体怎么操作:
一、网页分析
1、进入产品页面后,在商品介绍一栏,可以看到商品编号,此编号可作为后代码中的产品识别ID。以csv格式存储在本地,这样就可以自动批量爬取
2、点开商品评价,并查看网页源代码,发现评论数据藏在pagecomments下,从而获取到RequestRURL,发起请求时需要带着请求参数
params = {'callback': 'fetchJSON_comment98',
'productId': id,
'score': cate,
'sortType': '5',
'page': i,
'pageSize': '10',
'isShadowSku':'0',
'fold':'1',
'pin': 'null',
'_': true_string,
'wd':'120.194.42.157'
}
3、分析URL对应的数据格式 ,需要用json来提取其中标准数据格式的内容。js = json.loads(res.text[20:-2])
4、主体思路就是这样,通过带参数的请求,批量爬取,解析,并存储到本地。注意要使用ip代理,以及间隙休眠,休眠时间我调整为1-2S,成功拿到3w+的数据,以下是爬取成功的部分数据截图。
5、以上内容仅供学习交流,欢迎批评指正,V:xh1126FA