最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python完成毫秒級搶淘寶大單功能

 更新時間:2019年06月06日 08:35:14   投稿:laozhang  
在本篇文章里小編給大家分享了關(guān)于Python完成毫秒級搶淘寶大單功能以及實例代碼,需要的朋友們參考下。

引言

年中購物618大狂歡開始了,各大電商又開始了大力度的折扣促銷,我們的小胖又給大家謀了一波福利,淘寶APP直接搜索:小胖發(fā)福利,每天領(lǐng)取三次粉絲專屬現(xiàn)金大紅包。

有了現(xiàn)金大紅包,如何做到更省錢的剁手呢?今天給大家提供一種思路,用Python實現(xiàn)秒殺訂單,借用自動化方式完成最優(yōu)解。

1 環(huán)境

操作系統(tǒng):Windows

Python版本:3.7.2

2 需求分析&前期準備

2.0 需求分析
我們的目標是秒殺淘寶的訂單,這里面有幾個關(guān)鍵點,首先需要登錄淘寶,其次你需要準備好訂單,最后要在指定時間快速提交訂單。

登錄淘寶,這里就要用到一個爬蟲利器Selenium,它是一個自動化測試工具,利用它我們可以驅(qū)動瀏覽器執(zhí)行特定的動作,如點擊、下拉等等操作,所見即所得。另外對于一些 JavaScript 渲染的頁面來說,此種抓取方式非常有效。

2.1 Selenium的安裝

Selenium 的安裝很簡單,可采用如下方式。

pip install selenium

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

2.2 ChromeDriver的安裝

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

鏈接:

https://chromedriver.storage.googleapis.com/index.html

我們在下載之前先來確認下我們使用的Chrome瀏覽器版本。

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

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

上述操作結(jié)束后,我們執(zhí)行如下命令,測試一下

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

代碼執(zhí)行后,若成功打開了瀏覽器,則證明你的ChromeDriver安裝的沒問題,可以正常愉快地使用Selenium了。

接下來,我們先來回顧下淘寶購物流程。

3 淘寶購物流程回顧

3.1 首先要打開淘寶網(wǎng)站

https://www.taobao.com

換作使用Seleuinm方式,代碼如下:

browser.get(https://www.taobao.com)

3.2 我們登錄淘寶才能進行下一步操作

換成Seleuinm方式,代碼:

browser.find_element_by_link_text("親,請登錄").click()

這時我們就要就跳到了一個掃碼登錄的頁面,我們用手機進行掃碼,登錄成功之后進行下一步。

3.3 登錄成功之后,我們來打開購物車,鏈接如下:
https://cart.taobao.com/cart.htm

換成Seleuinm方式,代碼:

browser.get("https://cart.taobao.com/cart.htm")

3.4 我們想要全選購物車中的商品,直接點擊全選即可

換成Seleuinm方式,代碼:

browser.find_element_by_id("J_SelectAll1").click()

注:若你的購物車商品比較多,又不想全選購買,那就 手動 勾選想要下單的商品。

3.5 勾選好商品后就可以“結(jié)算”下單

3.6 等待提交完訂單后才算數(shù)

換成Seleuinm方式,代碼即:

browser.find_element_by_link_text('提交訂單').click()

3.7 訂單成功秒下之后,接下來的付款,慢慢來就好。

4 秒殺的實現(xiàn)

秒殺的實現(xiàn),思路也很簡單。這里有兩個時間點,一是搶購時間,一是當前時間。只需要比較這兩個時間點,到了搶購時間立即下單即可。

記錄時間,需要使用datetime這個內(nèi)置模塊,代碼如下:

import datetime
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')

5 代碼梳理

首先得登錄淘寶,這里我們定義一個login函數(shù)

def login():
 # 打開淘寶首頁,通過掃碼登錄
 browser.get("https://www.taobao.com")
 time.sleep(3)
 if browser.find_element_by_link_text("親,請登錄"):
  browser.find_element_by_link_text("親,請登錄").click()
  print(f"請盡快掃碼登錄")
  time.sleep(10)

接下來就是勾選購物車中的商品,這里我們定義一個picking函數(shù)

def picking(method):
 # 打開購物車列表頁面
 browser.get("https://cart.taobao.com/cart.htm")
 time.sleep(3)


 # 是否全選購物車
 if method == 0:
  while True:
   try:
    if browser.find_element_by_id("J_SelectAll1"):
     browser.find_element_by_id("J_SelectAll1").click()
     break
   except:
    print(f"找不到購買按鈕")
 else:
  print(f"請手動勾選需要購買的商品")
  time.sleep(5)

等待搶購時間,定時秒殺,這里我們定義一個buy函數(shù)

def buy(times):
 while True:
  now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
  # 對比時間,時間到的話就點擊結(jié)算
  if now > times:
   # 點擊結(jié)算按鈕
   while True:
    try:
     if browser.find_element_by_link_text("結(jié) 算"):
      browser.find_element_by_link_text("結(jié) 算").click()
      print(f"結(jié)算成功,準備提交訂單")
      break
    except:
     pass
   # 點擊提交訂單按鈕
   while True:
    try:
     if browser.find_element_by_link_text('提交訂單'):
      browser.find_element_by_link_text('提交訂單').click()
      print(f"搶購成功,請盡快付款")
    except:
     print(f"再次嘗試提交訂單")
   time.sleep(0.01)

相關(guān)文章

  • Python筆試面試題小結(jié)

    Python筆試面試題小結(jié)

    這篇文章主要介紹了Python筆試面試題的一些相關(guān)代碼,需要的朋友可以參考下
    2019-09-09
  • 跟老齊學Python之正規(guī)地說一句話

    跟老齊學Python之正規(guī)地說一句話

    雖然在第一部分中,已經(jīng)零星涉及到語句問題,并且在不同場合也進行了一些應(yīng)用。畢竟不那么系統(tǒng)。本部分,就比較系統(tǒng)地介紹python中的語句。
    2014-09-09
  • PyTorch中的CUDA的操作方法

    PyTorch中的CUDA的操作方法

    這篇文章主要介紹了PyTorch中的CUDA的操作方法,CUDA是NVIDIA推出的異構(gòu)計算平臺,PyTorch中有專門的模塊torch.cuda來設(shè)置和運行CUDA相關(guān)操作,更多相關(guān)介紹,需要的朋友可以查看下面文章內(nèi)容
    2022-08-08
  • 利用Matlab繪制各類特殊圖形的實例代碼

    利用Matlab繪制各類特殊圖形的實例代碼

    作為一個功能強大的工具軟件,Matlab具有很強的圖形處理功能,提供了大量的二維、三 維圖形函數(shù),這篇文章主要給大家介紹了關(guān)于如何利用Matlab繪制各類特殊圖形的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Python讀取excel指定列生成指定sql腳本的方法

    Python讀取excel指定列生成指定sql腳本的方法

    今天小編就為大家分享一篇Python讀取excel指定列生成指定sql腳本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 基于Django signals 信號作用及用法詳解

    基于Django signals 信號作用及用法詳解

    這篇文章主要介紹了基于Django signals 信號作用及用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 用Python判斷奇偶數(shù)示例

    用Python判斷奇偶數(shù)示例

    大家好,本篇文章主要講的是用Python判斷奇偶數(shù)示例,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python利用AI接口實現(xiàn)摳圖并改圖片底色

    Python利用AI接口實現(xiàn)摳圖并改圖片底色

    時候我們的證件照需要換底色,又來不及去照相館拍照,用ps也不好摳圖,所以今天給你們分享一下如何用python來摳圖,并換底色,需要的可以參考一下
    2022-09-09
  • Python文件的壓縮與解壓

    Python文件的壓縮與解壓

    這篇文章主要介紹了Python文件的壓縮與解壓,Python進行文件、文件夾壓縮與解壓,用到的是zipfile的第三方依賴庫。根據(jù)不同應(yīng)用場景封裝了幾個方法,下文相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-04-04
  • python3爬蟲中多線程進行解鎖操作實例

    python3爬蟲中多線程進行解鎖操作實例

    在本篇文章里小編給大家整理了關(guān)于python3爬蟲中多線程進行解鎖操作實例內(nèi)容,需要的朋友們可以參考下。
    2020-11-11

最新評論

扎赉特旗| 兴安盟| 苍溪县| 贵州省| 微山县| 古丈县| 轮台县| 正安县| 兴安县| 衡山县| 十堰市| 贵溪市| 龙游县| 资源县| 福州市| 夹江县| 历史| 德格县| 贡嘎县| 隆回县| 怀宁县| 修水县| 繁昌县| 永城市| 滁州市| 许昌县| 河北区| 固原市| 库车县| 沾益县| 宝坻区| 阿克苏市| 沈丘县| 定安县| 松潘县| 启东市| 南澳县| 牡丹江市| 梓潼县| 尖扎县| 石门县|