这是一个可以帮助我们抢券的小工具。不一定能抢到,只是增加了概率。

首先我们需要安装python环境

这里我们选用Anaconda,它可以方便的管理python包和环境。

下载地址https://www.anaconda.com/products/individual

我们使用Anaconda中的Spyder来编辑抢券小工具

image.png

浏览器选择

我使用了火狐浏览器,以下讲解截图均是基于火狐浏览器。

下载地址https://www.firefox.com.cn/

正片开始

1.首先使用火狐浏览器打开京东商城,登录账号,进入优惠券页面

image.png

2.右键选择检查元素

image.png

3.点击页面领取一个优惠券,查看网络

领券网络截图

接口参数讲解

需要用到2个接口,第一行和第四行。第一行这个接口是京东进行身份验证用的,第四行接口是抢券用的。

身份验证接口

我们需要从中获取一些有用信息。请求头参数(User-Agent、Referer、Cookie)。其中User-Agent、Referer这2个参数和抢券接口是相同的。

通过复制请求头。我们从中剥离出User-Agent、Referer、Cookie数据,它们分别对应完整代码中的user_agent、referer、cookie_1

image.png

通过复制网址获取身份验证接口的地址,对应完整代码中的url_1

image.png

抢券接口

和身份验证接口一样,通过复制信息获取Cookie和接口地址,分别对应完整代码中的cookie_2、url_2。

需要注意的是,下面数据是接口地址,其中的key要删除掉,这个key是优惠券的编码,我们需要把它替换成想要抢的券的编码。对应完整代码中的coupon_key

https://a.jd.com/indexAjax/getCoupon.html?callback=jQuery5746673&key=0271DFD6890D3B60ACB8BA8A9E49BEB17FE8E6323A36834B63FE69E95D38088EEB376E75E098A8957F9DCEC56AAF5FD6EE12CF82BAC47129E098BA801496C8C2BED55B0AD982233C8C5D05B90A17FC67F0C6597810E700D247B396787AA294B7&type=1&_=1597754338810

需要改成这样,这里的coupon_key是券的编码

url_2 = "https://a.jd.com/indexAjax/getCoupon.html?callback=jQuery5746673&key={0}&type=1&_=1597754338810".format(coupon_key)

获取券编码方式:

激活选取页面中的元素功能

image.png

点击优惠券,找到带有data-key层级的div标签。这个data-key的值就是我们要找的券的编码。对应完整代码中的coupon_key

image.png

至此,我们已经获取到需要的数据了,请自行替换参数。scheduled_time是设置抢券的时间,可以精确到秒。完整代码如下:

import requests

import datetime

# 设置抢券的时间

scheduled_time = "2020-08-19 11:36:59"

# 浏览器及版本

user_agent = ""

# 接口的referer参数

referer = ""

# cookie参数(验证身份接口)

cookie_1 = ""

# 验证身份接口请求头

header_1={

'User-Agent':user_agent,

'Referer':referer,

'Cookie':cookie_1}

# 验证身份接口地址

url_1 = ""

# cookie参数(抢券接口)

cookie_2 = ""

# 抢券接口请求头

header_2={

'User-Agent':user_agent,

'Referer':referer,

'Cookie': cookie_2}

# 券的编号

coupon_key = ""

# 抢券接口地址

# 注意把获取到的接口地址改成下面代码模样

url_2 = "https://a.jd.com/indexAjax/getCoupon.html?callback=jQuery5746673&key={0}&type=1&_=1597754338810".format(coupon_key)

session = requests.session()

# 先调用京东反爬接口,进行身份验证

response_1 = session.get(url_1, headers=header_1)

print(response_1.text)

# 执行抢券操作

print('等待抢券中......')

while True:

# 当前时间

now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

# 如果到预定时间就开始调用抢券接口,然后打印结果

if now >= scheduled_time:

response_2 = requests.get(url_2, headers=header_2)

response_2.encoding='utf-8'

print(response_2.text)

if '领券成功' in response_2.text:

break

补充说明

Spyder编辑器,左上角三角为运行。右上角方块为停止。右侧Console中会打印数据,如果出现重复打印已领取或其它领取失败的情况,务必及时点击右上角方块停止运行,以防造成不必要的麻烦。

image.png

特别说明

此篇文章重在学习Python自动化,切莫他用。

python脚本抢优惠券_Python写京东抢券小工具相关推荐

  1. 如何写python脚本抓取数据并计算_【小工具】利用Python脚本从Gaussian计算结果中提取信息...

    1.前言 高斯(Gaussian)是一个功能强大的量子化学综合软件包,所有从事计算化学相关领域的科研工作者应该都使用或者了解过这个软件.它的输出文件(.log文件)是一个文本文件,可以利用文本工具打开 ...

  2. python压力测试模块_Python编写服务器压力测试小工具(仅供测试)

    想知道你的网站能支持多少用户一起访问吗?想知道你的网站在遭遇DDOS时能坚持多长时间嘛? 此文章只适用于Apache服务器,不适用于Nginx及其它服务器.考虑到Apache服务器的特性,一个连接对应 ...

  3. python测试开发自学教程-Web开发哪家强?看我用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

  4. 利用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起. 很多人学习 ...

  5. 用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

  6. python小测试8_用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

  7. python测试开发小工具_Web开发哪家强?看我用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

  8. 用 Python 写一个颜值测试小工具!你的颜值有几分了?

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

  9. python 语义网络_从Python代码到APP,你只需要一个小工具:GitHub已超3000星

    机器学习开发者想要打造一款 App 有多难?事实上,你只需要会 Python 代码就可以了,剩下的工作都可以交给一个工具.近日,Streamlit 联合创始人 Adrien Treuille 撰文介绍 ...

最新文章

  1. python怎么编程乘法口诀表_用python编写乘法口诀表的方法
  2. matlab 计算N天前(后)的日期
  3. Windows负载机JVM 远程监控Linux服务器下tomcat
  4. 做大厂程序员是一种怎样的体验?这四位“百度程序员”说出了自己的看法!
  5. Golang练习题(自己认为比较不错的)
  6. 详述由ENQ:TX – ROW LOCK CONTENTION引起的全局死锁处理过程
  7. python获取视频缩略图_用 Python 代码生成视频的缩略图
  8. AI 算法起家的今日头条为何败给了色情?
  9. lnmp之PDO_mysql.so
  10. 郑大远程计算机应用基础第09,郑大远程教育《计算机应用基础》第09章在线测试...
  11. python调用py文件并传参数_Python 参数传引用还是传值?
  12. java多线程-线程停止
  13. leetcode1037 有效的回旋镖(Java练习)
  14. Git教程 git pull 和 git clone的区别
  15. 商住楼和住宅楼的区别
  16. 基于FP5207的5V升12V电路设计
  17. PCB布线宽度与 mil与mm转换 等技巧
  18. 无人机项目跟踪记录五十八--原理图控制部分分析
  19. Git 团队协作中常用术语 WIP PTAL CC LGTM 等解释
  20. 蓝奏云自定义域名链接替换网站源码

热门文章

  1. 学习LLC谐振变换电路的工作原理
  2. ipcs、ipcrm、sysresv、kernel.shmmax
  3. 系统更新win11 后,右键没有显示git,添加注册表选项的解决办法
  4. 【单片机】继电器控制
  5. DISM命令常见用法
  6. h5--块级元素与行内元素
  7. 网络技术(十一)交换机三种工作模式 hybrid 、trunk、access的深入研究
  8. 数字IC设计——跨时钟域篇1(时钟域)
  9. C语言while循环语句 do while语句 for循环语句
  10. 二本考生考研复试331分逆袭390分上岸,被传教务处长之子?校方回应!