Python实现京东抢秒杀功能
作者:oJiuJieZhong 发布时间:2021-12-06 04:50:17
标签:Python,京东,秒杀
京东购物车抢购商品
1.Python的下载和安装
这里由于我们代码是基于Python来执行的
所以我们这里需要2个东西:
一个是Python本身,另一个是pycharm,只需要这两个哦!!!
网上有很多教程,所以我在这里就不一一赘述了
2.系统环境,模块的配置
安装好Python,请移步我的另一篇博客,根据前面的3个步骤完成环境的配置
Python实现淘宝秒杀
3.京东抢秒杀代码
注意!!:
①将代码复制到pycharm中执行
②注意代码修改最后的时间
③需要安装火狐浏览器
④京东扫码登录
⑤!!!!!!!!!!!!!
代码写的是购物车全选结算,如果不适合自己的情况,可以使用firebug去修改
代码运行的整个流程:
①pycharm中运行代码
②代码会自动打开火狐浏览器
③等待网页加载完成后,等待几秒,代码会自动弹出登录界面,这时扫码登录京东账号
④代码会根据你输入的时间,到达时间后,会自动进行购物车全选,进行结算下单
⑤下单完成后,根据自己的需求,手动决定是否付款
**
都看到这了确定不给我一个点赞和关注吗?
**
from selenium import webdriver # 导入火狐浏览器的驱动
import time
import datetime
from os import path
d = path.dirname(__file__)
abspath = path.abspath(d)
webdriver = webdriver.Firefox() # 打开一个火狐浏览器
webdriver.maximize_window()
def login():
webdriver.get("https://cart.jd.com/cart_index") # 此为购物车网站
time.sleep(3)
webdriver.find_element_by_id("cartEmptyGologinBtn").click() # 一般需要登录,此处点击的是去登录按钮
time.sleep(15) # 为了避免输入校验码绕过了输入登录账户密码的步骤,此处打开的是二维码页面
now = datetime.datetime.now()
print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))
def buy(buytime):
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
# 对比时间,时间到的话就点击结算
if now >= buytime:
try:
# 点击结算按钮
if webdriver.find_element_by_name("select-all"):
webdriver.find_element_by_name("select-all").click()
if webdriver.find_element_by_class_name("common-submit-btn"):
webdriver.find_element_by_class_name("common-submit-btn").click()
webdriver.find_element_by_link_text("知道了").click()
except:
# time.sleep(0.2)
# print(now)
# time.sleep(0.1)
pass
try:
webdriver.find_element_by_id('order-submit').click()
time.sleep(0.05)
except:
pass
if __name__ == "__main__":
# times = input("请输入抢购时间:")
# 时间格式:"2018-09-06 11:20:00.000000"
login()
buy("2021-01-23 00:00:00.000000")
来源:https://blog.csdn.net/ojiujiezhong/article/details/113060387
0
投稿
猜你喜欢
- 最近看到了两行 JavaScript 代码,很受启发。1. 封装 DOM 属性在 JavaScript 中,我们可以获取HTML元素的属性值
- 随着网络的发展,网速和机器速度的提高,越来越多的网站用到了丰富客户端技术。而现在Ajax则是最为流行的一种方式。JavaScript是一种解
- 数据库文件在使用过程中,日志文件会越来越大。小则几个G,大的可能几十上百G都有可能,有时实在是没有必要为它浪费太大的硬盘存储空间。所以可以把
- 当在设计中我们讨论到,对于一个功能或元素是否应该添加的时候,秉承“如无所需、勿增实体”的原则,我们通常会放弃只有小众/小部分人群才会使用的功
- 带参数的二维码对于渠道营销推广来说是很有用的,可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送,可喜的是微信开通了这个
- 反射指的是运行时动态的获取变量的相关信息1. reflect 包类型是变量,类别是常量reflect.TypeOf,获取变量的类型,返回re
- 前言在python中,print是重要的输出语句,让我们更方便的知道程序的运行状况,但是这样还不够,我们也可以用print来给周围的小伙伴秀
- 本文详细介绍了asp中如何使用sql语句删除数据库中的记录,初学asp者来看看!1,首先要明确删除哪条记录无非还就是SQL语句了,比如对应到
- 局部变量什么是局部变量通俗定义:函数内部定义的变量就叫局部变量。话不多说,代码如下:def test1(): a = 300 # 定义一个局
- display_errors 错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,
- 值类型和引用类型值类型:int、float、bool和string这些类型都属于值类型,使用这些类型的变量直接指向存在内存中的值,值类型的变
- 在使用ORACLE的过程过,我们会经常遇到一些ORACLE产生的错误,对于初学者而言,这些错误可能有点模糊,而且可能一时不知怎么去处理产生的
- isnull()Null 值指出变量不包含有效数据。Null 与 Empty 不同,后者指出变量未经初始化。Null 与零长度字符串 (&q
- 研究了一段时间酷狗音乐的接口,完美破解了其vip音乐下载方式,想着能更好的追求开源,故写下此篇文章,本文仅供学习参考。虽然没什么
- django自定义管理器和model的继承在我写代码时建立的很多数据库需要一些共同的字段,比如is_active, create_time这
- 实际工作经历中,免不了有时候需要连接数据库进行问题排查分析的场景,之前一直习惯通过 mysql -uxxx -hxxxx -P1234 ..
- aspjpeg组件实现加水印函数的调用方法: <%printwater "/images/水印图片.gif",&q
- PyQt5不规则窗口实现动画效果实例import sysfrom PyQt5.QtCore import *from PyQt5.QtGui
- 如何使整个页面内容居中,如何使高度适应内容自动伸缩。这是学习CSS布局最常见的问题。下面就给出一个实际的例子,并详细解释。(本文的经验和是蓝
- 其实想实现这种功能很简单,首先要上传一个RAR的解压程序,就是RAR自己的解压程序,只需要它的核心程序RAR.EXE这个文件就可以了。然后就