Python实现京东秒杀功能代码

yipeiwu_com6年前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实现京东秒杀功能详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python使用matplotlib绘制热图

python使用matplotlib绘制热图

python常用的绘图库就是matplotlib,今天在给公司绘图时,偶然间发现matplotlib可以绘制热图,并且十分简洁,拿出来跟大家分享一下。(由于涉及到公司数据问题,这里采用随...

Python学习之用pygal画世界地图实例

Python学习之用pygal画世界地图实例

有关pygal的介绍和安装,大家可以参阅《pip和pygal的安装实例教程》,然后利用pygal实现画世界地图。代码如下: #coding=utf-8 import json i...

解决django中ModelForm多表单组合的问题

解决django中ModelForm多表单组合的问题

django是python语言快速实现web服务的大杀器,其开发效率可以非常的高!但因为秉承了语言的灵活性,django框架又太灵活,以至于想实现任何功能都有种“条条大路通罗马”的感觉。...

教你如何在Django 1.6中正确使用 Signal

简单回答是: 在其他方法无法使用的情况下, 才最后考虑使用signal. 因为新的django开发人员得知signal之后, 往往会很高兴去使用它. 他们在能使用signal的地方就使用...

Python动态生成多维数组的方法示例

Python动态生成多维数组的方法示例

本文实例讲述了Python动态生成多维数组的方法。分享给大家供大家参考,具体如下: 多维数组其实就是多个一维数组的嵌套,Python中有原生的list,类似一个动态数组。 所以动态生成...