网上大部分都是全量抓取的教程,想要做成一个单品获取优惠券接口没有教程,特意来补一个。
一.场景使用
- 为了直接领取该jd商品的优惠券
二.环境
- chome浏览器
- python
- 需要登陆
三.正文
-
打开chome,输入商品链接, 点击满125减100的字段,可以看到右边出现了优惠券的领取窗口。
-
领取成功后,搜索领取成功,点击响应,可以看到是领取成功的,然后再来看看领取成功的接口是怎么组成的。
一大串需要携带的参数,并且很多看起来就是加密的,到这里不要急,因为是GET请求,所以有些参数是可以省略的,我这里测试过了,只需要skuId、cat、roleld、key参数就可以领取成功。(领取是需要cookie的,不然到不了帐)
-
根据上述关键字可以回到chome浏览器中去搜索,看看都是在哪里出现的参数。
很明显的看到一次性搜索出了两个参数,roleId和key,其他两个参数不需要搜索,skuId是商品id,cat用0,0,0代替即可。 -
既然是这个文件生成的重要参数,那我们去标头把这个文件的网址给提取出来,去无痕浏览器看看能否通过不登陆访问到数据,如果可以则通过直接访问得到参数,不可以,那就要研究下其他方式了。
看来时是行不通了,那怎么才能获取到这两个参数呢。 -
既然想不需要cookie得到优惠券参数,那么就去无痕浏览器对这个商品看看。
搜索一下可以看到encryptedKey和roleId是不是和我们上面需要的key和roleId参数一模一样。
-
老样子,去标头拿到文件网址,可以看到又是一堆参数,经过测试只需要skuId就可以访问到数据了,skuId是商品id。
所以可以直接通过这个接口https://item-soa.jd.com/getWareBusiness?skuId=10032553024749拿到key和roleId。 -
带上参数和cookie,可以看到成功领取到,cookie怎么搞,会的则会,不会的…我也不教