又快到一年一度的 618 了,6 月 18 日是京东的店庆日,在这一天会有大量的优惠券,但我们知道有一些优惠券是不太好抢的,本文我们来看一下如何使用 Python 来领取京东优惠券。
首先,我们在浏览器上登录自己的京东账号,接着点击首页的优惠券,如下图所示:
我们点击之后会跳转到优惠券列表页面,我们尝试手动领取一张优惠券,看一下领取时发送的请求,具体操作为:打开开发者工具并选择 Network,然后点击立即领取按钮,如下图所示:
从图中,我们可以看出领券时发送的请求是 get 方式的,参数都是拼接在 URL 后面的,其中参数 key 就是标识优惠券的。
我们需要向服务端传 cookie 值用作其判断登录用户的,向下拉就可以看到了该值了,如下图所示:
我们接着来看一下如何查看优惠券的 key,我们将开发者工具切换到 Elements,然后选中优化券,如下图所示:
上图中的 data-key 就是我们需要的 key 值了。
看一下实现代码:
cookie = '自己的cookie'
key = '要领取优惠券的key'
url = 'https://a.jd.com/indexAjax/getCoupon.html?callback=jQuery2784014&key={0}&type=1&_=1591626076742'.format(key)
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0?',
'Referer': 'https://a.jd.com/',
'Cookie': cookie}
res = requests.get(url, headers=headers)
res.encoding = 'utf-8'
print(res.text)
我们选择一张优惠券,看一下运行结果:
jQuery2784014({"code":"999","success":true,"message":"领券成功"})
此时说明我们已经成功领取优惠券了,我们可以验证一下,比如我们再次运行一下领取的代码,看一下运行结果:
jQuery2784014({"code":"15","success":false,"message":"您今天已经参加过此活动,别太贪心哟,明天再来~"})
当然,我们还可以到自己的京东账号进行查看。