京东购物车抢购商品

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")
 

到此这篇关于Python实现京东抢秒杀的文章就介绍到这了,更多相关Python京东抢秒杀内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

Python实现京东抢秒杀功能的更多相关文章

  1. python用700行代码实现http客户端

    本文用python在TCP的基础上实现一个HTTP客户端, 该客户端能够复用TCP连接, 使用HTTP1.1协议.一. 创建HTTP请求HTTP是基于TCP连接的, 它的请求报文格式如下:因此, 我们只需要创建一个到服务器的TCP连接, 然后按照上面的格式写好报文并发给服务器, 就实现了一个HTTP......

  2. 执行py文件需要可执行权限吗?

    我们知道可执行权限x在Linux系统中的重要性,那么在执行py文件的过程中,是否一定需要可执行权限呢?本文将会详细的分析几种测试案例。案例解析这个问题描述起来有点违反直觉,要执行一个文件难道不应该需要可执行权限吗?让我们先来看一个例子:# module1.pydef test():print ('h......

  3. 使用fdopen对python进程产生的文件进行权限最小化配置

    通过一定的文件访问权限的指定,我们可以使用fdopen来替代经常使用的内置的open库,来进行文件的创建和读写的操作,这使得我们可以在文件创建的时候就指定好权限配置,避免在创建后再对其进行修改。需求背景用python进行文件的创建和读写操作时,我们很少关注所创建的文件的权限配置。对于一些安全性较高的......

  4. Pytorch BertModel的使用说明

    基本介绍环境: Python 3.5+, Pytorch 0.4.1/1.0.0安装:pip install pytorch-pretrained-bert必需参数:--data_dir: "str": 数据根目录.目录下放着,train.xxx/dev.xxx/test.xxx......

  5. Python基础篇

    一、准备工作1、安装Python(注意选择一个稳定的版本,方便学习和使用)Python官网:https://www.python.org/2、安装一个anacondaanaconda官网:https://www.anaconda.com/安装完成之后在cmd里面输入conda -V检测,如果出现版本......

  6. Python学习(4)( If 判断语句 、逻辑运算、elif、if嵌套、随机数、石头剪刀布程序)

    Python学习(4)一、python的 if 判断语句二、python的逻辑运算1. and2. or3. not三、python的 elif 判断语句四、python的if 嵌套五、随机数的处理六、石头剪刀布 ---演练一、python的 if 判断语句在python 中,if 语句 就是用来进......

  7. pandas 颠倒列顺序的两种解决方案

    在数据预处理过程中可能需要将列的顺序颠倒,有两种方法。import numpy as npimport pandas as pddf = pd.DataFrame(np.array(range(20)).reshape(4,5))print(df)原始dataframe如下:0 1 2 3 ......

  8. python中用ggplot绘制画图实例讲解

    Python的绘图库也允许用户创建优雅的图形,本章给大家介绍的是关于ggplot绘制画图的技巧,ggplot2建立在grid系统上,这个系统不支持纹理。需要额外创建一堆数据,再基于这些数据构建一个geom_path图层,盖在柱图上才可以进行各种绘制,下面给大家详细讲解下怎么使用ggplot绘图。简介......

  9. 详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库

    获取要爬取的URL爬虫前期工作用Pycharm打开项目开始写爬虫文件字段文件items# Define here the models for your scraped items## See documentation in:# https://docs.scrapy.org/en/latest/......

  10. python类属性学习深入讲解

    class MyClass():# 直接将属性定义在类中,这种属性称为 类属性# 类属性可以通过实列对象和类对象访问,但是只能通过类对象修改# 类属性都是用来保存一些公共的数据a = 10def __init__(self):# 可以直接将属性添加到实列对象中,此时这个属性称为实例属性# 实例属性只......

随机推荐

  1. linux kernel操作GPIO函数

    一、头文件#include 二、注册 GPIO int gpio_request(unsigned gpio, const char *label)功能:申请一个GPIO参数:gpio:管脚号;label:管脚名,可以为空(NULL)返回值:成功返回0,失败返回错误码三、设置GPIO方向1、设置输出......

  2. sqlserver查询去掉重复数据的实现

    说明: 只要数据表“列名”数据相同,则说明是两条重复的数据(ID为数据表的主键自动增长)。推荐使用方法一-- 方法一select * from 表名 A where not exists(select 1 from 表名 where 列名=A.列名 and ID补充:SQL SERVER 查询去重 ......

  3. java中DelayQueue实例用法详解

    在阻塞队里中,除了对元素进行增加和删除外,我们可以把元素的删除做一个延迟的处理,即使用DelayQueue的方法。这里的删除需要一定的时间才能生效,有点类似于过期处理的理念。下面我们就DelayQueue的概念、特点进行讲解,然后在代码示例中体会DelayQueue的使用。1.概念是一个带有延迟时间......

  4. 如何在 Vue 表单中处理图片

    问题:我在 Vue 中有一个 form 表单,用于上传博客帖子,它有标题、正文、描述、片段和图片等范围。所有的一切都是必需的。我在 Express 中设置了一个 API 来处理这个问题。我在 Postman 中测试正常,但是我不知道如何通过浏览器将文件发送给数据库。我一直收到 500 错误,并且我将......

  5. 封装Vue Element的可编辑table表格组件

    前一段时间,有博友在我那篇封装Vue Element的table表格组件的博文下边留言说有没有那种“表格行内编辑”的封装组件,我当时说我没有封装过这样的组件,因为一直以来在实际开发中也没有遇到过这样的需求,但我当时给他提供了一个思路。时间过去了这么久,公司的各种需求也不停地往外冒,什么地图图表、表格......

  6. 解读Python的文件读写

    前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。PS:如有需要Python学习资料的小伙伴可以加下Python快乐交流群:11362015451.概述Python中内置了文件读写的功能核心:读写文件其实请求操作系统打开一个文件对象【文件描述符】......

  7. vue element和nuxt的使用技巧分享

    1.element的时间选择提交的格式转化例如Fri Sep 07 2018 00:00:00 GMT+0800 (中国标准时间)转化为 2020-01-11的格式这记载datepicker中添加一句value-format=”yyyy-MM-dd”2.动态循环复选框时,无法选中问题this.men......

  8. Perl中常见符号与操作

    注释:1.单行: #print2.多行:=pod …. =cut查询perl相关:Perldoc perlvar($a,$$,$”...)Perldoc perfunc(sort…)Perldoc perl 查看perldoc文章列表Perldoc –q 正则表达式Perldoc –f 函数名Per......

  9. 【小菜学网络】MAC地址详解

    上一小节介绍了以太网帧的结构,以及帧中各个字段的作用。参与以太网通讯的实体,由以太网地址唯一标识。以太网地址也叫做 MAC 地址,我们对它仍知之甚少。以太网地址在不同场景,称谓也不一样,常用叫法包括这些:以太网地址MAC 地址硬件地址物理地址网卡地址网卡在以太网中,每台主机都需要安装一个物理设备并通......

  10. 在.NET Core 中使用Quartz.NET

    Quartz.NET是功能齐全的开源作业调度系统,可用于最小的应用程序到大型企业系统。Quartz.NET具有三个主要概念:job:运行的后台任务trigger:控制后台任务运行的触发器。scheduler:协调job和triggerASP.NET Core通过托管服务对运行“后台任务”具有良好的支......