小猿圈Python之实现京东秒杀功能技巧

ByteZenithMaster
• 阅读 417

现在电商盛起,活动页面一个接着一个,一般都是抢购、秒杀,看着很刺激吧,这篇文章小猿圈加加就揭开这些秒杀功能的面纱,带你们看看实际的面貌,让我们学习一下代码吧。

#Python3.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包:pipinstallselenium。

上面就是实现京东秒杀功能代码了,现在那些神秘感变得没有那么强烈了吧,代码就这么多,感兴趣的记得在自己的环境试试,做一个简单的页面,看能不能实现秒杀功能,怎么样,小猿圈加加给你们满满的干货,喜欢的话点个赞吧。

点赞
收藏
评论区
推荐文章
学python的猫 学python的猫
4年前
618抢购抢不到?,会了python的这个骚操作,妈妈再也不担心我抢不过别人了!!!
618马上要到了,像淘宝,天猫,京东早就已经准备好了,每到618与双十一这种消费盛典,便会抢购的现象,很多人因为手速不够快,抢不到价格实惠的商品,在这小编给大家带来了一个自动抢购的示例代码,此代码是python通过selenium实现毫秒级的自动抢购。(该文章仅作学习selenium框架的学习示例)直接上源码:!/usr/bin/envpythoncod
Karen110 Karen110
4年前
盘点三个JavaScript案例——实现限时秒杀、定时跳转、改变盒子大小
前言今天来给大家盘点三个JavaScript案例,分别是实现限时秒杀、定时跳转、改变盒子大小案例,一起来看看吧!一、实现限时秒杀案例1.在淘宝网中,商家为了促销经常搞一些活动,例如限时秒杀是常见的一种活动,来增加消费者购买商品。2.实现限时秒杀案例,具体代码如下所示:HTML距离5/20号限时秒杀还有
Karen110 Karen110
4年前
OpenCV-Python图像转换为PyQt图像的变形及花屏无法正常显示问题研究
☞░ 前往老猿Python博文目录 ░一、引言在《PyQt转换显示PythonOpenCV图像实现图形化界面的视频播放》介绍了实现在OpenCV和PyQt之间转换并传递图像实现在PyQt上播放视频图像的功能。其中的关键函数如下:defcvImgtoQtImg(cvImg):定义opencv图像转PyQt图像的函数QtImgBufcv2.
Karen110 Karen110
4年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在
Stella981 Stella981
3年前
Python 带你来一次说走就走的环球旅行
1、目标场景十一长假,相信大部分的朋友这会应该是在全国各地浪或者是在浪的路上,朋友圈成为你们表演的场所。当然,也有一小戳朋友是选择家里蹲,你们是否感觉到无聊?是否想出去浪,参加朋友圈摄影比赛?本篇文章的目的是利用Python带我们实现一次说走就走的环球旅行,完胜这次的朋友圈摄影比赛。2、准备工作
ByteZenithMaster
ByteZenithMaster
Lv1
不堪肠断思乡处,红槿花中越鸟啼。
文章
7
粉丝
0
获赞
0