Python实现京东抢秒杀功能

作者:oJiuJieZhong 时间:2021-12-06 04:50:17 

京东购物车抢购商品

1.Python的下载和安装

这里由于我们代码是基于Python来执行的

所以我们这里需要2个东西:
一个是Python本身,另一个是pycharm,只需要这两个哦!!!

网上有很多教程,所以我在这里就不一一赘述了


2.系统环境,模块的配置

安装好Python,请移步我的另一篇博客,根据前面的3个步骤完成环境的配置
Python实现淘宝秒杀


3.京东抢秒杀代码


注意!!:
①将代码复制到pycharm中执行
②注意代码修改最后的时间
③需要安装火狐浏览器
④京东扫码登录
⑤!!!!!!!!!!!!!
代码写的是购物车全选结算,如果不适合自己的情况,可以使用firebug去修改


代码运行的整个流程:

①pycharm中运行代码

Python实现京东抢秒杀功能

②代码会自动打开火狐浏览器
③等待网页加载完成后,等待几秒,代码会自动弹出登录界面,这时扫码登录京东账号

Python实现京东抢秒杀功能

④代码会根据你输入的时间,到达时间后,会自动进行购物车全选,进行结算下单

Python实现京东抢秒杀功能

⑤下单完成后,根据自己的需求,手动决定是否付款

**

都看到这了确定不给我一个点赞和关注吗?

**


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

标签:Python,京东,秒杀
0
投稿

猜你喜欢

  • sqlserver 不重复的随机数

    2024-01-14 00:13:59
  • Python+Flask编写一个简单的行人检测API

    2023-09-26 17:55:19
  • 详解python中的lambda与sorted函数

    2022-04-29 00:01:56
  • Python如何判断数独是否合法

    2023-05-18 06:09:45
  • python中split(), os.path.split()和os.path.splitext()的用法

    2022-03-23 09:06:40
  • python3 最常用的三种装饰器语法汇总

    2021-10-10 15:08:12
  • wap开发中如何有效的利用缓存减少消息的传送量

    2022-12-16 04:23:17
  • 判断Session的过期时间 采用JavaScript实时显示剩余多少秒

    2011-04-04 10:48:00
  • Python字典的基础操作

    2023-02-27 06:25:18
  • Microsoft JET Database Engine 错误 '80040e21' 所有记录中均未找到搜索关键字

    2009-08-30 13:07:00
  • C#使用SqlServer作为日志数据库的设计与实现

    2024-01-17 05:10:12
  • python查询mysql中文乱码问题

    2021-09-28 07:05:42
  • ORACLE8的分区管理

    2010-07-30 13:18:00
  • Python pandas替换指定数据的方法实例

    2022-01-20 05:38:55
  • 如何利用python在剪贴板上读取/写入数据

    2021-07-08 17:29:29
  • 解决Mysql的left join无效及使用的注意事项说明

    2024-01-16 00:18:09
  • PHP获取网页标题的3种实现方法代码实例

    2024-05-03 15:51:06
  • 通过源码分析Python中的切片赋值

    2021-06-26 16:31:04
  • mysql日志文件在哪 如何修改MySQL日志文件位置

    2024-01-22 22:09:14
  • Python库functools示例详解

    2021-03-10 07:01:27
  • asp之家 网络编程 m.aspxhome.com