亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python完成毫秒級(jí)搶淘寶大單功能

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

引言

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

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

1 環(huán)境

操作系統(tǒng):Windows

Python版本:3.7.2

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

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

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

2.1 Selenium的安裝

Selenium 的安裝很簡(jiǎn)單,可采用如下方式。

pip install selenium

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

2.2 ChromeDriver的安裝

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

鏈接:

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

我們?cè)谙螺d之前先來確認(rèn)下我們使用的Chrome瀏覽器版本。

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

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

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

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

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

接下來,我們先來回顧下淘寶購(gòu)物流程。

3 淘寶購(gòu)物流程回顧

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

https://www.taobao.com

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

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

3.2 我們登錄淘寶才能進(jìn)行下一步操作

換成Seleuinm方式,代碼:

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

這時(shí)我們就要就跳到了一個(gè)掃碼登錄的頁面,我們用手機(jī)進(jìn)行掃碼,登錄成功之后進(jìn)行下一步。

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

換成Seleuinm方式,代碼:

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

3.4 我們想要全選購(gòu)物車中的商品,直接點(diǎn)擊全選即可

換成Seleuinm方式,代碼:

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

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

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

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

換成Seleuinm方式,代碼即:

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

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

4 秒殺的實(shí)現(xiàn)

秒殺的實(shí)現(xiàn),思路也很簡(jiǎn)單。這里有兩個(gè)時(shí)間點(diǎn),一是搶購(gòu)時(shí)間,一是當(dāng)前時(shí)間。只需要比較這兩個(gè)時(shí)間點(diǎn),到了搶購(gòu)時(shí)間立即下單即可。

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

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

5 代碼梳理

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

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

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

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


 # 是否全選購(gòu)物車
 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"找不到購(gòu)買按鈕")
 else:
  print(f"請(qǐng)手動(dòng)勾選需要購(gòu)買的商品")
  time.sleep(5)

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

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

相關(guān)文章

  • Python利用百度地圖獲取兩地距離(附demo)

    Python利用百度地圖獲取兩地距離(附demo)

    本文主要介紹了Python利用百度地圖獲取兩地距離,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • python Selenium 庫的使用技巧

    python Selenium 庫的使用技巧

    這篇文章主要介紹了python Selenium 庫的使用技巧,幫助大家更好的理解和學(xué)習(xí)python Selenium 庫,感興趣的朋友可以了解下
    2020-10-10
  • python+pyqt5實(shí)現(xiàn)24點(diǎn)小游戲

    python+pyqt5實(shí)現(xiàn)24點(diǎn)小游戲

    這篇文章主要為大家詳細(xì)介紹了python+pyqt5實(shí)現(xiàn)24點(diǎn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 在 Python 應(yīng)用中使用 MongoDB的方法

    在 Python 應(yīng)用中使用 MongoDB的方法

    這篇文章主要介紹了在 Python 應(yīng)用中使用 MongoDB的方法,需要的朋友可以參考下
    2017-01-01
  • python中的accumulate()函數(shù)示例詳解

    python中的accumulate()函數(shù)示例詳解

    accumulate 函數(shù)是Python標(biāo)準(zhǔn)庫 itertools 模塊中的一個(gè)函數(shù),用于生成累積計(jì)算的結(jié)果,這篇文章主要介紹了python中的accumulate()函數(shù),需要的朋友可以參考下
    2023-09-09
  • python根據(jù)文件大小打log日志

    python根據(jù)文件大小打log日志

    這篇文章主要介紹了python根據(jù)文件大小打log日志的方法,可實(shí)現(xiàn)循環(huán)打日志,即第一個(gè)文件達(dá)到maxBytes大小后就寫入第二個(gè)文件,以此類推,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-10-10
  • pycharm使用conda創(chuàng)建的虛擬環(huán)境時(shí)找不到python.exe解決辦法

    pycharm使用conda創(chuàng)建的虛擬環(huán)境時(shí)找不到python.exe解決辦法

    這篇文章主要給大家介紹了關(guān)于pycharm使用conda創(chuàng)建的虛擬環(huán)境時(shí)找不到python.exe的解決辦法,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-03-03
  • pandas分組排序 如何獲取第二大的數(shù)據(jù)

    pandas分組排序 如何獲取第二大的數(shù)據(jù)

    這篇文章主要介紹了pandas分組排序 獲取第二大的數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python實(shí)現(xiàn)端口掃描器的示例代碼

    Python實(shí)現(xiàn)端口掃描器的示例代碼

    本文主要介紹了Python實(shí)現(xiàn)端口掃描器,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 基于Python實(shí)現(xiàn)代碼版彩票小游戲

    基于Python實(shí)現(xiàn)代碼版彩票小游戲

    彩票是一個(gè)恒古不變的話題,現(xiàn)在的生活越來越好,大部分人開始關(guān)注福利彩票的事情,當(dāng)然也有很多人都想中將是真的啦~哈哈哈,但是大家還是要適當(dāng)哦!小編今天給大家做了一款簡(jiǎn)易的彩票小游戲,讓我們看看誰能中一等獎(jiǎng)吧?誰又是二等獎(jiǎng)、三等獎(jiǎng)呢
    2023-03-03

最新評(píng)論