小猿圈Python之實現京東秒殺功能技巧

如今電商盛起,活動頁面一個接着一個,通常都是搶購、秒殺,看着很刺激吧,這篇文章小猿圈加加就揭開這些秒殺功能的面紗,帶大家看看實際的面貌,讓咱們學習一下代碼吧。python

#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。web

上面就是實現京東秒殺功能代碼了,如今那些神祕感變得沒有那麼強烈了吧,代碼就這麼多,感興趣的記得在本身的環境試試,作一個簡單的頁面,看能不能實現秒殺功能,怎麼樣,小猿圈加加給大家滿滿的乾貨,喜歡的話點個贊吧。scrapy

相關文章
相關標籤/搜索