2024年Python最新京东抢购失败?试试用Python准时自动抢购!七夕秒抢种礼物!

对于使用 Anaconda 自带 python 解释器的情况,打开 Anaconda Prompt,运行代码 activate root 进入基础环境(有些版本打开时就已经在基础环境 base 下就不用执行这一步),接下来再运行代码 pip install selenium 进行安装。

​​​

​​​

等待安装完成之后运行 python 进入交互式环境,运行代码 import selenium 不报错则表示安装成功。

​​​

​​​

下载 Edge 浏览器驱动

可以不限于使用 Edge 浏览器,使用 Chrome,FireFox 等都是可以的,但需要下载对应的驱动。

这个驱动就是下载跟自己版本一样的就行,比如3.9版本,那么驱动也是一样就好了

登录网页京东

先打开 edge 浏览器并最大化窗口,进入京东登录界面。

选择账户登录选项,自动输入用户名和密码,最后点击登录。

滑动验证登录

由于京东的安全限制,点击登录之后需要进行滑动验证才能完成登录,滑动验证码本身由两幅图像组成,一个作为可滑动的小滑块,一个是缺失滑块结构的背景。

首先获取滑动验证码的两幅图像,灰度化处理后保存到本地

再利用 opencv 中的模板匹配函数 matchTemplate 得到滑块图像在背景上的相似度矩阵。

result = cv2.matchTemplate(background, slideblock, cv2.TM_CCOEFF_NORMED) # 模板匹配,获得滑块在背景上的相似度矩阵

利用 numpy 中的元素索引函数 unravel_index 获取匹配度最大值在原相似度矩阵中的索引。

_, distance = np.unravel_index(result.argmax(), result.shape) # 获得要移动的距离

注意在该函数中索引坐标系与一般理解略有不同。

模拟人越来越快地移动滑块到指定位置。由于京东的安全管制,必须采取一定的滑块移动策略才能尽量不被检测出来非手动,实际实验中滑动验证正确的步数也是不确定的,大概 1~10 步左右。

自动购买商品

登录成功后点击我的购物车打开另一个浏览器页面。

​​​

全选购物车中的商品,点击结算并提交订单。

完整实现源码

由于这个上面不用使用代码块!所以小编以截图的方式展现给大家,大家需要完整代码或打包好的脚本的可以评论区留言!

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# JD_AutoBuy ## 京东抢购 Python爬虫,自动登录京东网站,查询商品库存,价格,显示购物车详情等。 可以指定抢购商品,自动购买下单,然后手动去京东付款就行。 ## chang log + 2017-03-30 实现二维码扫码登陆 ## 运行环境 Python 2.7 ## 第三方库 - [Requests][1]: 简单好用,功能强大的Http请求库 - [beautifulsoup4][2]: HTML文档格式化及便签选择器 ## 环境配置 ``` Python pip install requests pip install beautifulsoup4 ``` ## 使用帮助 ``` cmd > python scraper-jd.py -h usage: scraper-jd.py [-h] [-u USERNAME] [-p PASSWORD] [-g GOOD] [-c COUNT] [-w WAIT] [-f] [-s] Simulate to login Jing Dong, and buy sepecified good optional arguments: -h, --help show this help message and exit -u USERNAME, --username USERNAME Jing Dong login user name -p PASSWORD, --password PASSWORD Jing Dong login user password -g GOOD, --good GOOD Jing Dong good ID -c COUNT, --count COUNT The count to buy -w WAIT, --wait WAIT Flush time interval, unit MS -f, --flush Continue flash if good out of stock -s, --submit Submit the order to Jing Dong ``` ## 实例输出 ``` cmd +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thu Mar 30 17:10:01 2017 > 请打开京东手机客户端,准备扫码登陆: 201 : 二维码未扫描 ,请扫描二维码 201 : 二维码未扫描 ,请扫描二维码 201 : 二维码未扫描 ,请扫描二维码 201 : 二维码未扫描 ,请扫描二维码 202 : 请手机客户端确认登录 200 : BADACIFYhf6fakfHvjiYTlwGzSp4EjFATN3Xw1ePR1hITtw0 登陆成功 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thu Mar 30 17:10:28 2017 > 商品详情 编号:3133857 库存:现货 价格:6399.00 名称:Apple iPhone 7 Plus (A1661) 128G 黑色 移动联通电信4G手机 链接:http://cart.jd.com/gate.action?pid=3133857&pcount=1&ptype=1 商品已成功加入购物车! 购买数量:3133857 > 1 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thu Mar 30 17:10:30 2017 > 购物车明细 购买 数量 价格 总价 商品 Y 1 6399.00 6399.00 Apple iPhone 7 Plus (A1661) 128G 黑色 移动联通电信4G手机 总数: 1 总额: 6399.00 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thu Mar 30 17:10:30 2017 > 订单详情 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ ... ``` ## 注 代码仅供学习之用,京东网页不断变化,代
### 回答1: 我建议你使用 Selenium 这种 Web 自动化测试框架来实现。Selenium 可以帮助你在网页上自动完成操作,比如输入准备好的表单数据,点击按钮,追踪订单状态等等。你可以在 Python 中使用 Selenium,也可以和其他语言一起使用,比如 Java,C#,Ruby 等等。 ### 回答2: 要实现用 Python 写一个抢预售商品的代码并瞬间抢购,我们可以采取以下步骤: 1. 导入所需的库和模块:我们首先需要导入 Python 的 requests、time、random 等相关库和模块,用于发送网络请求、设置时间延迟和生成随机数等功能。 2. 设置请求头信息:为了模拟浏览器行为,我们需要设置合适的请求头信息,包括用户代理、Cookie 等信息,以绕过反爬虫机制。 3. 发送网络请求:通过使用 requests 库发送 POST 或 GET 请求,模拟用户访问预售商品的页面。 4. 提取数据:从请求返回的网页文本中提取需要的信息,如商品的价格、库存状态、购买链接等。 5. 判断是否可以购买:根据提取的数据,判断商品是否有库存,并且价格是否符合购买条件。如果满足条件,则继续下一步;否则返回重试或等待继续请求。 6. 提交购买请求:通过发送 POST 请求,将购买请求提交给服务器,完成商品的抢购。 7. 定时任务:使用 time.sleep() 函数创建一个合适的时间延迟,以确保在指定的数后再次发起请求,以提高抢成功率。 8. 循环操作:将以上步骤构建为一个循环,确保在杀开始前不断发送请求,直到成功抢到商品。 需要注意的是,抢预售商品并不是一个简单的任务,往往涉及到抢购版的反爬虫机制,同时也需要解决网络延迟、验证码、请求失败等问题。因此,为了提高成功率,可能还需要采取一些其他的策略,如使用多线程、分布式等技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值