selenium 安裝與 chromedriver安裝
我們前文提到,Python腳本中使用了selenium庫,而selenium又通過chromedriver來控制瀏覽器的鼠標(biāo)點(diǎn)擊等操作。所以,我們的第一步,是正確的安裝與配置selenium以及chromedriver。
selenium的安裝很簡(jiǎn)單,與其他Python三方庫一樣,我們直接用pip安裝。
chromedriver的安裝,首先,chromedriver的版本很關(guān)鍵,我們需要選擇的chromedriver版本,一定要與Chrome的版本一致。因此, 我們需要查看Chrome版本,在瀏覽器中輸入chrome://version/
這個(gè)示例中Chrome的版本是 72.0.3626, 我們?cè)俚揭韵聝蓚€(gè)網(wǎng)站的其中之一,去下載對(duì)應(yīng)版本的chromedriver。
![](/d/20211017/89f08f915037dc738f57b19622f59a18.gif)
1、http://chromedriver.storage.googleapis.com/index.html
2、https://npm.taobao.org/mirrors/chromedriver/
![](/d/20211017/79fb27889d0f775a9409c9b2d8b766ba.gif)
下載完成后,解壓壓縮包,找到chromedriver.exe復(fù)制到chrome的安裝目錄(其實(shí)也可以隨便放一個(gè)文件夾)。復(fù)制chromedriver.exe文件的路徑并加入到電腦的環(huán)境變量中去。具體的:
![](/d/20211017/939142c361461f7848646eed878dfc24.gif)
進(jìn)入環(huán)境變量編輯界面,添加到用戶變量即可,雙擊PATH,將文件位置(例如我們的是 C:\Program Files (x86)\Google\Chrome\Application\)添加到后面。
![](/d/20211017/bd39974e1985b41f7e3cc5f467149bfb.gif)
完成安裝后,我們到cmd界面, 輸入chromedriver,如果下方給出了chromedriver的版本號(hào),說明已經(jīng)安裝成功。
![](/d/20211017/351a82290b2614a477bd9bc96eab341c.gif)
我們?cè)偻ㄟ^Python庫selenium,來調(diào)用chromedriver,以此來簡(jiǎn)單測(cè)試chromedriver的功能。如果我們未配置環(huán)境變量,可用如下代碼進(jìn)行測(cè)試
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)行測(cè)試
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)各個(gè)步驟。
第一步,啟動(dòng)chromedriver,并登陸淘寶。這里需要注意的是,我們通過控制chromedriver打開淘寶主頁,進(jìn)入到登陸界面后,需要手工掃碼進(jìn)行登陸。這一步驟無法做到全自動(dòng)。
![](/d/20211017/c0e215ce2bb343860b8164791e4a8be3.gif)
第二步,登陸后,我們?nèi)匀皇峭ㄟ^chromedriver控制,進(jìn)入購物車界面,并設(shè)定一個(gè)60秒的定時(shí)刷新,即每隔60秒刷新一遍購物車界面,使得我們的淘寶賬戶保持在登陸狀態(tài)。直到當(dāng)前的時(shí)間與我們所設(shè)定寶貝的搶購時(shí)間相差小于100秒,再進(jìn)入下一步。
![](/d/20211017/7ee7f736b93e886f9f4abb6105ecce38.gif)
第三步,通過chromedriver選中購物車全部商品,將本地時(shí)間與淘寶服務(wù)器時(shí)間校準(zhǔn),以淘寶服務(wù)器返回時(shí)間作為標(biāo)準(zhǔn)時(shí)間,一旦淘寶時(shí)間到達(dá)我們搶購的時(shí)間,立即從購物車提交訂單。此時(shí)有兩種情況,如果我們提交訂單的任務(wù)發(fā)送的太早,提交訂單按鈕還沒有出現(xiàn),此時(shí)我們重復(fù)提交訂單步驟,一直到按鈕出現(xiàn);另一種情況,提交訂單按鈕在我們發(fā)送提交請(qǐng)求的時(shí)候已經(jīng)可用了,那么直接提交成功。
![](/d/20211017/84fc91c442ed13909b71c9a397f537c2.gif)
第四步,付款,由于部分搶購是以付款為順序?yàn)閮?yōu)先級(jí)的,我們將付款操作也加入秒殺腳本的流程,并作為最后一步,當(dāng)我們提交訂單成功后,腳本將自動(dòng)幫助我們執(zhí)行支付寶的付款。此處需要注意的是,我們需要在腳本中提前設(shè)置好正確的6位數(shù)支付密碼。
![](/d/20211017/5479379a59f44c79279a585d76ecea40.gif)
秒殺腳本使用示例
介紹完了秒殺腳本的核心邏輯,接下來,我們以天貓超市搶購茅臺(tái)酒為例,來為大家演示這個(gè)秒殺腳本的執(zhí)行流程。我們以茅臺(tái)舉例,并不意味著這個(gè)腳本只能搶購茅臺(tái),任何加入購物車的商品,在任何的時(shí)間,都可以用這個(gè)腳本來執(zhí)行到點(diǎn)的秒殺。茅臺(tái)由于天貓超市每天的量很有限,加上各類搶購的外掛很多,成功率比較低,但對(duì)于其他商品來說,這個(gè)秒殺腳本經(jīng)過我們的對(duì)比測(cè)試,相比較手工搶購,成功率將提高一個(gè)量級(jí)。
我們執(zhí)行main.py主程序腳本,程序會(huì)通過chromdriver控制,啟動(dòng)chrome自動(dòng)打開淘寶主頁,并進(jìn)入登陸界面。可用看到網(wǎng)頁上方有一行提示:Chrome正受到自動(dòng)測(cè)試軟件的控制。
![](/d/20211017/dfc9d2295711f4af4ebfc9c9345a557f.gif)
然后,我們通過手機(jī)淘寶掃碼登陸進(jìn)入,登陸后,程序會(huì)自動(dòng)進(jìn)入購物車的界面,并每分鐘刷新一次,以防止登陸超時(shí)。
![](/d/20211017/b417ee162b23079e3d1e31f471be4f5a.gif)
![](/d/20211017/ab9880ff7df02553c333bcd7f2090aa1.gif)
臨近搶購時(shí)間,程序選中購物車商品,并在搶購時(shí)間到達(dá)時(shí),自動(dòng)點(diǎn)擊結(jié)算、提交訂單。
![](/d/20211017/8ec13d6f8c7e1121d88d27b462334b79.gif)
![](/d/20211017/5dc5dff707f93a43558459c58d985f27.gif)
提交訂單成功后,進(jìn)入付款環(huán)節(jié),如果付款成功,代表我們的這一次秒殺成功搶到心儀的商品了,而如果付款失敗,說明此次秒殺我們運(yùn)氣不佳,有人先一步搶到了。不過總體來說,我們有了秒殺腳本,已經(jīng)超越了90%用戶的搶購速度了。
到此這篇關(guān)于備戰(zhàn)618!用Python腳本幫你淘寶秒殺的文章就介紹到這了,更多相關(guān)Python腳本淘寶秒殺內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Unity打開淘寶app并跳轉(zhuǎn)到商品頁面功能的實(shí)現(xiàn)方法
- python淘寶準(zhǔn)點(diǎn)秒殺搶單的實(shí)現(xiàn)示例
- python 利用百度API進(jìn)行淘寶評(píng)論關(guān)鍵詞提取
- Python 爬取淘寶商品信息欄目的實(shí)現(xiàn)
- Python實(shí)現(xiàn)淘寶秒殺功能的示例代碼
- 用python爬取分析淘寶商品信息詳解技術(shù)篇