欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python之京東商品秒殺的實現(xiàn)示例

 更新時間:2021年01月06日 14:17:13   作者:相思比夢長  
這篇文章主要介紹了Python之京東商品秒殺的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1 環(huán)境

操作系統(tǒng):Windows 10
Python版本:3.9.0
Google Chrome  87.0.4280.88
ChromeDriver  87.0.4280.88
PyCharm 2020.2.3 x64

2 需求分析&前期準(zhǔn)備

2.0 需求分析

目標(biāo)是秒殺京東的訂單,這里面有幾個關(guān)鍵點,首先需要登錄京東,其次你需要準(zhǔn)備好訂單,最后要在指定時間快速提交訂單。
登錄京東,這里就要用到一個爬蟲利器Selenium,它是一個自動化測試工具,利用它我們可以驅(qū)動瀏覽器執(zhí)行特定的動作,如點擊、下拉等等操作,所見即所得。另外對于一些 JavaScript 渲染的頁面來說,此種抓取方式非常有效。

2.1 Selenium的安裝

Selenium 的安裝很簡單,dos命令行:

pip3 install selenium

Selenium安裝好之后,并不能直接使用,它需要與瀏覽器進(jìn)行對接。這里拿Chrome瀏覽器為例。若想使用Selenium成功調(diào)用Chrome瀏覽器完成相應(yīng)的操作,需要通過ChromeDriver來驅(qū)動。

2.2 ChromeDriver的安裝

這里是ChromeDriver的官方下載地址。

鏈接:https://chromedriver.storage.googleapis.com/index.html
下載之前先來確認(rèn)下我們使用的Chrome瀏覽器版本。

通過ChromeDriver的下載鏈接,找到與之對應(yīng)的Chrome瀏覽器版本,根據(jù)你電腦系統(tǒng)的平臺類型進(jìn)行下載。

下載完成之后,解壓,將其放置在Python安裝路徑下Scripts文件夾中即可

用PyCharm執(zhí)行如下代碼:

from selenium import webdriver
# 打開Chrome瀏覽器
driver = webdriver.Chrome()

成功打開瀏覽器,則證明ChromeDriver版本沒問題,即可正常使用Selenium。

from selenium import webdriver
import datetime
import time
# 打開Chrome瀏覽器
driver = webdriver.Chrome()
 
def auto_buy(username, password, purchase_list_time):
  print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "打開登陸界面")
  driver.get("https://passport.jd.com/new/login.aspx")
  print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "開始填寫賬號密碼")
  driver.find_element_by_link_text("賬戶登錄").click()
  driver.find_element_by_name("loginname").send_keys(username)
  driver.find_element_by_name("nloginpwd").send_keys(password)
  driver.find_element_by_id("loginsubmit").click()
  #print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "手動拼圖驗證")
  #time.sleep(10) #此處睡眠時間用來手動拼圖驗證
  print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),"登陸成功")
  print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "等待時間到達(dá)搶購時間:",purchase_list_time, "......")
  while True:
    count = 0
    for buytime in purchase_list_time:
      nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
      if nowtime == buytime:
        try:
          count += 1
          print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "開始第 %s 次搶購......"%count)
          print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "打開購物車并選中商品")
          driver.get("https://cart.jd.com/cart_index") # 打開購物車并選中商品
          # 如果沒有全選,點擊全選
          if not driver.find_element_by_class_name('jdcheckbox').is_selected():
            driver.find_element_by_class_name('jdcheckbox').click()
          print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "點擊去結(jié)算")
          driver.find_element_by_link_text("去結(jié)算").click() # 去結(jié)算
          print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "點擊提交訂單")
          time.sleep(5)  #提交訂單前必須等待幾秒【感覺跟電腦性能快慢有關(guān),不卡的電腦可以適當(dāng)降低嘗試】
          if driver.find_element_by_id("order-submit"):
            driver.find_element_by_id("order-submit").click() # 提交訂單
          print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),"訂單提交成功,請前往訂單中心待付款付款")
          print("")
          continue
        except Exception as e:
          print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "搶購出現(xiàn)異常,重新?lián)屬? ", e)
          continue
    time.sleep(0.001)
 
purchase_list_time = [
  "2020-12-25 10:00:00",
  "2020-12-25 10:00:01",
  "2020-12-25 10:00:02",
  "2020-12-25 10:00:03",
  "2020-12-25 10:00:04",
  "2020-12-25 10:00:05",
]
auto_buy('帳號', '密碼', purchase_list_time)

預(yù)約商品到購物車——>修改代碼搶購時間——>用PyCharm運行代碼即可。

到此這篇關(guān)于Python之京東商品秒殺的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Python 京東商品秒殺內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python3實現(xiàn)點餐系統(tǒng)

    python3實現(xiàn)點餐系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python3實現(xiàn)點餐系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • tensorflow 用矩陣運算替換for循環(huán) 用tf.tile而不寫for的方法

    tensorflow 用矩陣運算替換for循環(huán) 用tf.tile而不寫for的方法

    今天小編就為大家分享一篇tensorflow 用矩陣運算替換for循環(huán) 用tf.tile而不寫for的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python實現(xiàn)繪制多角星實例

    Python實現(xiàn)繪制多角星實例

    這篇文章要給大家分享Python實現(xiàn)繪制多角星的實例,在具備一定的Python編程基礎(chǔ)以后,我們可以結(jié)合for循環(huán)進(jìn)行多角星的編寫,只要簡單的幾次循環(huán),即可以極大的解決重復(fù)編寫相同代碼方面的問題,下面小編將以三角星,五角星為例,進(jìn)而引入如何繪制多角星,需要的朋友可以參考一下
    2021-11-11
  • Python 畫出來六維圖

    Python 畫出來六維圖

    這篇文章主要介紹了Python 畫出來六維圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python圖像運算之圖像灰度直方圖對比詳解

    Python圖像運算之圖像灰度直方圖對比詳解

    本篇文章將結(jié)合直方圖分別對比圖像灰度變換前后的變化,方便大家更清晰地理解灰度變換和閾值變換,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-08-08
  • python如何使用正則表達(dá)式的前向、后向搜索及前向搜索否定模式詳解

    python如何使用正則表達(dá)式的前向、后向搜索及前向搜索否定模式詳解

    這篇文章主要給大家介紹了關(guān)于python如何使用正則表達(dá)式的前向、后向搜索及前向搜索否定模式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-11-11
  • 詳解Python多線程下的list

    詳解Python多線程下的list

    這篇文章主要介紹了Python多線程下的list的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Django開發(fā)web后端對比SpringBoot示例分析

    Django開發(fā)web后端對比SpringBoot示例分析

    這篇文章主要介紹了Django開發(fā)web后端對比SpringBoot示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 使用python?matplotlib畫折線圖實例代碼

    使用python?matplotlib畫折線圖實例代碼

    Matplotlib是一個Python工具箱,用于科學(xué)計算的數(shù)據(jù)可視化,下面這篇文章主要給大家介紹了關(guān)于如何使用python?matplotlib畫折線圖的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Python實現(xiàn)多腳本處理定時運行

    Python實現(xiàn)多腳本處理定時運行

    這篇文章主要介紹了Python實現(xiàn)多腳本處理定時運行,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06

最新評論