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