Python实现京东秒杀功能代码
作者:SunChao3555 发布时间:2021-08-14 15:41:27
标签:Python,京东,秒杀
本文实例为大家分享了Python实现京东秒杀功能的具体代码,供大家参考,具体内容如下
#Python 3.5
#coding:utf-8
#import scrapy
from selenium import webdriver
import time
import datetime
driver = webdriver.Firefox()
driver.get('https:www.jd.com/')
class JDLOGIN(object):
def login_jd(self,num,pwd):
driver.find_element_by_link_text('你好,请登录').click()
time.sleep(10)
driver.find_element_by_link_text('账户登录').click()
time.sleep(3)
driver.find_element_by_id('loginname').send_keys(num)
driver.find_element_by_id('nloginpwd').send_keys(pwd)
time.sleep(3)
driver.find_element_by_id('loginsubmit').click()
time.sleep(5)
nowwhandle = driver.current_window_handle
driver.find_element_by_link_text('我的购物车').click()
allhandles = driver.window_handles
for handle in allhandles:
if handle != nowwhandle:
driver.switch_to_window(handle)#切换至窗口 购物车页面
time.sleep(5)
driver.find_element_by_link_text('去结算').click()
time.sleep(4)
def buy_on_time(self,buytime):
while True:
now = datetime.datetime.now()
if now.strftime('%Y-%m-%d %H:%M:%S') == buytime:
driver.find_element_by_id('order-submit').click()
time.sleep(3)
print(now.strftime('%Y-%m-%d %H:%M:%S'))
print('successful!!!')
time.sleep(0.5)
# 返回原先到的窗口
#driver.switch_to_window(nowwhandle)
def start(self,num,pwd,buytime):
self.login_jd(num,pwd)
self.buy_on_time(buytime)
jdlogin=JDLOGIN()
jdlogin.start('手机号','密码','秒杀时间' )
需要先将秒杀物品添加至购物车(必须为秒杀物品,秒杀无品加入购物车后结算时不需要勾选【全选框】),并提前设置默认收货地址
该代码为闲时所写,没有进一步优化,面向对象的函数也不够精简,不过功能已经实现
需要在cmd命令行安装selenium包:pip install selenium
其余包同理,需要啥下载即可
以上所述是小编给大家介绍的Python实现京东秒杀功能详解整合网站的支持!
来源:https://blog.csdn.net/SunChao3555/article/details/79143858


猜你喜欢
- 这样做的好处是:利用表格来装载数据,不言而喻是最好的,你可以很灵活的为每个单元格定义样式。下面是具体的做法首先在photoshop设计一个效
- SQL语言是一门简单易学却又功能强大的语言,它能让你快速上手并写出比较复杂的查询语句。但对于大多数开发者来说,使用SQL查询数据库并没有一个
- // 获取地址栏的参数数组function getUrlParams() { var search =
- mock.js简介官方链接:Mock.js (mockjs.com)前端开发人员用来模拟虚拟数据,拦截ajax请求,方便模拟后端接口安装np
- 该章节我们来学习一下在 Python 中去创建并使用多进程的方法,通过学习该章节,我们将可以通过创建多个进程来帮助我们提高脚本执行的效率。可
- 前言众所周知在Python 中常用的数据类型bool(布尔)类型的实例对象(值)就两个,真和假,分别用True和False表示。在if 条件
- 本文简单总结了一下Python处理时间和日期方面的模块,主要就是datetime、time、calendar三个模块的使用,希望这篇文章对于
- 一、计数排序计数排序(Counting sort)是一种稳定的排序算法算法的步骤如下:找出待排序的数组中最大和最小的元素统计数组中每个值为i
- 本文实例讲述了Python科学计算包numpy用法。分享给大家供大家参考,具体如下:1 数据结构numpy使用一种称为ndarray的类似M
- 前言如果你有阅读源码的习惯,可能会看到一些优秀的代码经常出现带有 “with” 关键字的语句,它通常用在什么场景呢?今天就来说说 with
- 1. 线性表简介线性表是一种线性结构,它是由零个或多个数据元素构成的有限序列。线性表的特征是在一个序列中,除了头尾元素,每个元素都有且只有一
- 防止用户通过后退按钮重复提交表单 <% response.Buffer=true response.Expires=0 respons
- 目录1. 需求是怎么来的2. 以不变应万变,是变也3. 最大限度地少改动4.对带参数的函数使用装饰器5. 给装饰器参数6.带类参数的装饰器7
- 在搭建springmvc框架时,底层使用hibernate4.1.8,数据库使用mysql5.1,使用hibernate自动生成数据库表时,
- 背景:线上机器,需要过滤access日志,发送给另外一个api期初是单进程,效率太低,改为多进程发送后,查看日志中偶尔会出现异常错误(忘记截
- 新建server.jsyarn init -yyarn add express nodemon -Dvar express = requir
- 每次遇到pandas的dataframe某列日期格式问题总会哉坑,下面记录一下常用时间日期函数....1、字符串转化为日期 str—>
- MooTools 1.2的整理排序类Sortables原文地址:30 Days of Mootools 1.2 Tutorials - Da
- 当完整备份数据库的时候,我们有时候可能会遇到一种极端情况,比如服务器上C,D,E三个盘符都只剩下5G空间了但是如果要完整备份业务库需要12G
- 封装为了jq插件,如下drag.js;(function ($) { $.fn.dragDiv = function (options) {