‘callback’: ‘jQuery{}’.format(random.randint(1000000, 9999999)),
‘catalogId’: ‘118’,
‘page’: str(i),
‘pageSize’: ‘9’,
‘_’: str(int(time.time() * 1000)),
}
try:
resp = session.get(url=url, params=params, headers=headers)
json = parse_json(resp.text)
couponList.extend(json[‘couponList’])
if json[‘totalNum’] == 1:
continue
else:
break
except Exception:
print(‘出错了!’)
return couponList
示例结果就不写了,返回的 json 串太长了
最后一步领取优惠劵,在浏览器控制台中 url 地址上有一个 key,这个 key 存在与优惠劵列表的返回值中
最后一步,领取优惠券
def get_coupon(coupon_list):
url = ‘https://a.jd.com/indexAjax/getCoupon.html’
headers = {
‘User-Agent’: user_agent,
‘Referer’: ‘https://a.jd.com/?cateId=118’,
}
for coupon in coupon_list:
params = {
‘callback’: ‘jQuery{}’.format(random.randint(1000000, 9999999)),
‘key’: coupon[‘key’],
‘type’: ‘1’,
‘_’: str(int(time.time() * 1000)),
}
time.sleep(1)
resp = session.get(url=url, params=params, headers=headers)
print(resp.text)
示例结果
jQuery1912666({“code”:“15”,“success”:false,“message”:“您今天已经参加过此活动,别太贪心哟,明天再来~”})
jQuery3381540({“code”:“15”,“success”:false,“message”:“您今天已经参加过此活动,别太贪心哟,明天再来~”})
jQuery6247320({“code”:“16”,“success”:false,“message”:“本时段优惠券已抢完,请14:00再来吧!”})
jQuery5888701({“code”:“15”,“success”:false,“message”:“您今天已经参加过此活动,别太贪心哟,明天再来~”})
jQuery5048959({“code”:“14”,“success”:false,“message”:“您已经参加过此活动,别太贪心哟,下次再来~”})
jQuery8608381({“code”:“14”,“success”:false,“message”:“您已经参加过此活动,别太贪心哟,下次再来~”})
jQuery2