selenium 安裝與 chromedriver安裝
我們前文提到,Python腳本中使用了selenium庫,而selenium又通過chromedriver來控制瀏覽器的鼠標(biāo)點(diǎn)擊等操作。所以,我們的第一步,是正確的安裝與配置selenium以及chromedriver。
selenium的安裝很簡單,與其他Python三方庫一樣,我們直接用pip安裝。
chromedriver的安裝,首先,chromedriver的版本很關(guān)鍵,我們需要選擇的chromedriver版本,一定要與Chrome的版本一致。因此, 我們需要查看Chrome版本,在瀏覽器中輸入chrome://version/
這個示例中Chrome的版本是 72.0.3626, 我們再到以下兩個網(wǎng)站的其中之一,去下載對應(yīng)版本的chromedriver。

1、http://chromedriver.storage.googleapis.com/index.html
2、https://npm.taobao.org/mirrors/chromedriver/

下載完成后,解壓壓縮包,找到chromedriver.exe復(fù)制到chrome的安裝目錄(其實(shí)也可以隨便放一個文件夾)。復(fù)制chromedriver.exe文件的路徑并加入到電腦的環(huán)境變量中去。具體的:

進(jìn)入環(huán)境變量編輯界面,添加到用戶變量即可,雙擊PATH,將文件位置(例如我們的是 C:\Program Files (x86)\Google\Chrome\Application\)添加到后面。

完成安裝后,我們到cmd界面, 輸入chromedriver,如果下方給出了chromedriver的版本號,說明已經(jīng)安裝成功。

我們再通過Python庫selenium,來調(diào)用chromedriver,以此來簡單測試chromedriver的功能。如果我們未配置環(huán)境變量,可用如下代碼進(jìn)行測試
from selenium import webdriver
import time
def main():
chrome_driver = 'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe' #chromedriver的文件位置
b = webdriver.Chrome(executable_path = chrome_driver)
b.get('https://www.google.com')
time.sleep(5)
b.quit()
if __name__ == '__main__':
main()
而如果我們已經(jīng)配置好了環(huán)境變量,可以通過另一端代碼來進(jìn)行測試
from selenium import webdriver
import time
def main():
b = webdriver.Chrome()
b.get('https://www.baidu.com')
time.sleep(5)
b.quit()
if __name__ == '__main__':
main()
核心模塊代碼解析
安裝、配置完selenium與chromedriver之后,我們就可以開始編寫秒殺腳本的核心邏輯了。核心邏輯,我們通過封裝函數(shù)來實(shí)現(xiàn)各個步驟。
第一步,啟動chromedriver,并登陸淘寶。這里需要注意的是,我們通過控制chromedriver打開淘寶主頁,進(jìn)入到登陸界面后,需要手工掃碼進(jìn)行登陸。這一步驟無法做到全自動。

第二步,登陸后,我們?nèi)匀皇峭ㄟ^chromedriver控制,進(jìn)入購物車界面,并設(shè)定一個60秒的定時刷新,即每隔60秒刷新一遍購物車界面,使得我們的淘寶賬戶保持在登陸狀態(tài)。直到當(dāng)前的時間與我們所設(shè)定寶貝的搶購時間相差小于100秒,再進(jìn)入下一步。

第三步,通過chromedriver選中購物車全部商品,將本地時間與淘寶服務(wù)器時間校準(zhǔn),以淘寶服務(wù)器返回時間作為標(biāo)準(zhǔn)時間,一旦淘寶時間到達(dá)我們搶購的時間,立即從購物車提交訂單。此時有兩種情況,如果我們提交訂單的任務(wù)發(fā)送的太早,提交訂單按鈕還沒有出現(xiàn),此時我們重復(fù)提交訂單步驟,一直到按鈕出現(xiàn);另一種情況,提交訂單按鈕在我們發(fā)送提交請求的時候已經(jīng)可用了,那么直接提交成功。

第四步,付款,由于部分搶購是以付款為順序?yàn)閮?yōu)先級的,我們將付款操作也加入秒殺腳本的流程,并作為最后一步,當(dāng)我們提交訂單成功后,腳本將自動幫助我們執(zhí)行支付寶的付款。此處需要注意的是,我們需要在腳本中提前設(shè)置好正確的6位數(shù)支付密碼。

秒殺腳本使用示例
介紹完了秒殺腳本的核心邏輯,接下來,我們以天貓超市搶購茅臺酒為例,來為大家演示這個秒殺腳本的執(zhí)行流程。我們以茅臺舉例,并不意味著這個腳本只能搶購茅臺,任何加入購物車的商品,在任何的時間,都可以用這個腳本來執(zhí)行到點(diǎn)的秒殺。茅臺由于天貓超市每天的量很有限,加上各類搶購的外掛很多,成功率比較低,但對于其他商品來說,這個秒殺腳本經(jīng)過我們的對比測試,相比較手工搶購,成功率將提高一個量級。
我們執(zhí)行main.py主程序腳本,程序會通過chromdriver控制,啟動chrome自動打開淘寶主頁,并進(jìn)入登陸界面。可用看到網(wǎng)頁上方有一行提示:Chrome正受到自動測試軟件的控制。

然后,我們通過手機(jī)淘寶掃碼登陸進(jìn)入,登陸后,程序會自動進(jìn)入購物車的界面,并每分鐘刷新一次,以防止登陸超時。


臨近搶購時間,程序選中購物車商品,并在搶購時間到達(dá)時,自動點(diǎn)擊結(jié)算、提交訂單。


提交訂單成功后,進(jìn)入付款環(huán)節(jié),如果付款成功,代表我們的這一次秒殺成功搶到心儀的商品了,而如果付款失敗,說明此次秒殺我們運(yùn)氣不佳,有人先一步搶到了。不過總體來說,我們有了秒殺腳本,已經(jīng)超越了90%用戶的搶購速度了。
到此這篇關(guān)于備戰(zhàn)618!用Python腳本幫你淘寶秒殺的文章就介紹到這了,更多相關(guān)Python腳本淘寶秒殺內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Unity打開淘寶app并跳轉(zhuǎn)到商品頁面功能的實(shí)現(xiàn)方法
- python淘寶準(zhǔn)點(diǎn)秒殺搶單的實(shí)現(xiàn)示例
- python 利用百度API進(jìn)行淘寶評論關(guān)鍵詞提取
- Python 爬取淘寶商品信息欄目的實(shí)現(xiàn)
- Python實(shí)現(xiàn)淘寶秒殺功能的示例代碼
- 用python爬取分析淘寶商品信息詳解技術(shù)篇