备战 618,用 Python 领取京东优惠券

时间:2022-07-23
本文章向大家介绍备战 618,用 Python 领取京东优惠券,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

又快到一年一度的 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":"您今天已经参加过此活动,别太贪心哟,明天再来~"})

当然,我们还可以到自己的京东账号进行查看。