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


猜你喜欢
- 我打算将WebQQ单独出来运行, 一开始直接拷贝了pyxmpp2的mainloop, 但是跑起来问题多多, 所以我又研究了利用Tornado
- asyncio介绍熟悉c#的同学可能知道,在c#中可以很方便的使用 async 和 await 来实现异步编程,那么在p
- 带你走进数据类型一:整数、浮点数Python中整数和浮点数的定义以及运算和C++都是一样的,我在这里就不需多说了,我就说明一点:Python
- 主要内容1.函数基本语法及特性2.参数与局部变3.返回值 4.递归5.名函数 6.函数式编程介绍7.阶函数 8.内置函数函数基本语法及特性定
- 1.方法说明 , Array的reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个参数,r
- 这里介绍使用python-Django框架来实现web端分页呈现数据,主要说明对应的views,urls,templates三个文件的编程逻
- 今天研究了一下JS的用setAttribute方法实现一个页面两份样式表的效果,具体方法如下:第一步:在连接样式表的元素里定义一个id,例如
- 上文:栅格:一以贯之Jacci Howard Bear 的英文原文:http://desktoppub.about.com/od/grids
- 不知道有没有人碰到过这样恶心的问题:两张表连接查询并limit,SQL效率很高,但是加上order by以后,语句的执行时间变的巨长,效率巨
- MySQL插件式存储引擎是MySQL数据库服务器中的组件,负责为数据库执行实际的数据I/O操作,并能允许和强制执行面向特殊应用需求的特定特性
- 常有新手问我该怎么备份数据库,下面介绍3种备份数据库的方法:(1)备份数据库文件MySQL中的每一个数据库和数据表分别对应文件系统中的目录和
- 错误提示: Warning: session_start() [function.session-start]: Cannot send s
- 豆瓣电影排行榜前250 分为10页,第一页的url为https://movie.douban.com/top250,但实际上应该是https
- 最佳方式:根据map的长度,新建一个数组,遍历map逐个压入方法1(效率很高):func getKeys1(m map[int]int) [
- 如下所示:from osgeo import gdalimport numpy as npdef read_tiff(inpath): &n
- 随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑。互联
- 一、*args的使用方法*args 用来将参数打包成tuple给函数体调用def fun(*arg): print(arg,ty
- 问题描述输入样例:Only the 11 CAPItal LeTtERS are replaced输出样例:Only the 11 XZKI
- mysql中的自增auto_increment功能相信每位phper都用过,也都知道如何设置字段为自增字段,但并不是所有phper都知道au
- 本文实例讲述了Python实现的远程登录windows系统功能。分享给大家供大家参考,具体如下:首先安装wmi 命令:pip install