一款開(kāi)源的Python一鍵搶票神器詳細(xì)配置
在Github上也有很多優(yōu)秀的開(kāi)發(fā)者開(kāi)源了一些基于Python的搶票項(xiàng)目,比如一直很火的12306/py12306,目前已經(jīng)累計(jì)超40k Star!
但如果你嘗試使用,會(huì)發(fā)現(xiàn)由于12306的驗(yàn)證碼機(jī)制升級(jí),這兩個(gè)項(xiàng)目的登陸模塊都掛掉了,大概去年十月就已經(jīng)不能使用。
but不慌,經(jīng)過(guò)一番探索,我找到了一個(gè)還能完美使用的搶票項(xiàng)目,并聯(lián)系到開(kāi)發(fā)者@罐子里的茶呢,了解到只要對(duì)登陸模塊的一些接口地址進(jìn)行變更,以及對(duì)部分參數(shù)的獲取邏輯進(jìn)行調(diào)整,就能重新盤(pán)活Python搶票項(xiàng)目12306,地址如下
https://github.com/gzldc/12306
本文就將基于該項(xiàng)目詳細(xì)的指導(dǎo)大家如何快速使用Python搶票,順利返廠!開(kāi)始之前我們需要了解一下整體搶票思路
下載與依賴安裝
運(yùn)行本項(xiàng)目之前需要將你的Python升級(jí)到Python3.6或者更高版本,我是Python3.8沒(méi)有問(wèn)題。首先用git將原項(xiàng)目代碼拉下來(lái)
git clone https://github.com/gzldc/12306.git
或者直接下載壓縮包并解壓
解壓完的目錄應(yīng)該如下
之后啟動(dòng)終端/命令行(Mac/Win),并cd進(jìn)入項(xiàng)目目錄,執(zhí)行如下代碼安裝相關(guān)依賴
pip install -r requirements.txt
需要注意的是,如果下載速度過(guò)慢可以切換源來(lái)解決,親測(cè)使用阿里云鏡像是速度最快的
https://mirrors.aliyun.com/pypi/simple
關(guān)于安裝各種庫(kù)本文不是本文介紹的重點(diǎn),總之requirements.txt中依賴庫(kù)必須正確被安裝,如果出現(xiàn)任何安裝上的問(wèn)題,請(qǐng)自行百度。
獲取登陸信息
之前我們說(shuō)到,GitHub排名第一第二的12306搶票項(xiàng)目掛掉的原因都是在登陸驗(yàn)證碼沒(méi)法處理上,但我們現(xiàn)在使用的項(xiàng)目并不是使用用戶名與密碼管理賬戶,只需要在登陸時(shí)提取自己賬戶的相關(guān)cookie字段即可,可以按照以下步驟進(jìn)行。
首先打開(kāi)12306官網(wǎng),進(jìn)入登陸頁(yè)面并按下F12,并選擇Network
之后輸入賬號(hào)密碼驗(yàn)證碼點(diǎn)擊登陸,之后點(diǎn)擊XHR
如上圖指示,找到uamauthclient數(shù)據(jù)包進(jìn)入并點(diǎn)擊Cookies,之后按照下圖的指示記錄下tk、RAIL_EXPIRATION、RAIL_DEVICEID三個(gè)字段的value,復(fù)制下來(lái)保存好,待會(huì)要用到
到這里就成功拿到了12306校驗(yàn)我們身份的關(guān)鍵信息,讓我們繼續(xù)。
配置搶票信息
現(xiàn)在回到項(xiàng)目目錄,打開(kāi)目錄下的TickerConfig.py進(jìn)行配置,里面有很多字段大家可以自行查看說(shuō)明與配置,本文僅介紹部分關(guān)鍵字段。
首先你需要修改53-55行的三個(gè)變量值,替換為我們剛剛保存的tk、RAIL_EXPIRATION、RAIL_DEVICEID三個(gè)字段的value,這一步非常重要,因?yàn)槭褂帽卷?xiàng)目無(wú)需輸入賬號(hào)密碼,就靠這三個(gè)參數(shù)下單
之后如下圖修改乘車人、車次、出行日期等相關(guān)信息,這部分自行填寫(xiě),不多解釋了
到這里我們就可以直接使用了,當(dāng)然你還可以繼續(xù)按照這個(gè)模版文件說(shuō)明對(duì)CDN加速、代理ip、搶票模式等設(shè)置進(jìn)行調(diào)整,最后保存退出即可。
啟動(dòng)項(xiàng)目
最后讓我們啟動(dòng)項(xiàng)目開(kāi)始搶票,回到終端/命令行。執(zhí)行如下代碼開(kāi)啟CDN加速
python3 run.py c
之后掛在后臺(tái),重新打開(kāi)一個(gè)終端/命令行并進(jìn)入項(xiàng)目目錄,執(zhí)行下面代碼開(kāi)始搶票
python3 run.py r
如上圖所示,不出意外的話就會(huì)輸出一大堆日志,我選擇的是杭州去蕪湖的票,因?yàn)橛杏嗥?,所以就沒(méi)有進(jìn)入搶票模式,直接就下單待支付了
回到12306,點(diǎn)開(kāi)我的訂單發(fā)現(xiàn)有一張票躺在那里待支付,說(shuō)明一切從登陸到下單所有功能都是可以正常使用的!
一些說(shuō)明
因?yàn)闀r(shí)間關(guān)系,我沒(méi)有在搶票模式模式下進(jìn)一步測(cè)試,在和項(xiàng)目作者以及部分群友交流后,再說(shuō)明幾點(diǎn)方便大家使用
如果在Windows下安裝tensorflow失敗,可以適當(dāng)降低版本或者升高版本都是可以的(1.14.0rc\1.14.0rc\1.15.0\1.15.0rc均可)啟動(dòng)項(xiàng)目時(shí)的CDN加速不是必須的,你可以選擇不啟動(dòng)即直接執(zhí)行python3 run.py rtk等登陸cookies信息可能有一定時(shí)效性,所以可能需要定時(shí)檢查一下如果是候補(bǔ)車票,需要通過(guò)人證一致性核驗(yàn)的用戶及激活的“鐵路暢行”會(huì)員可以提交候補(bǔ)需求,需要按照操作說(shuō)明在鐵路12306app上完成人證核驗(yàn)。軟件為全自動(dòng)候補(bǔ)加撿漏,如果軟件候補(bǔ)成功則會(huì)停止搶票,發(fā)出郵件通知,但是不會(huì)影響你繼續(xù)撿漏,如果這個(gè)時(shí)候撿漏撿到的話,也是可以付款成功的,也就是說(shuō),撿漏+候補(bǔ)模式可以最大程度提升搶票成功率 關(guān)于Python技術(shù)儲(chǔ)備
總結(jié)
到此這篇關(guān)于一款開(kāi)源的Python一鍵搶票神器詳細(xì)配置的文章就介紹到這了,更多相關(guān)Python搶票內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 教你用Python來(lái)制作一個(gè)自動(dòng)搶票的腳本小程序
- 基于Python實(shí)現(xiàn)火車票搶票軟件
- python爬蟲(chóng)實(shí)現(xiàn)最新12306搶票
- Python自動(dòng)化xpath實(shí)現(xiàn)自動(dòng)搶票搶貨
- Python爬蟲(chóng) 12306搶票開(kāi)源代碼過(guò)程詳解
- python并發(fā)編程多進(jìn)程 模擬搶票實(shí)現(xiàn)過(guò)程
- Python實(shí)現(xiàn)12306火車票搶票系統(tǒng)
- python+splinter自動(dòng)刷新?lián)屍惫δ?/a>
- python+Splinter實(shí)現(xiàn)12306搶票功能
- 一百多行python代碼實(shí)現(xiàn)搶票助手
- Python編寫(xiě)一個(gè)多線程的12306搶票程序的示例
相關(guān)文章
淺談python裝飾器探究與參數(shù)的領(lǐng)取
下面小編就為大家分享一篇淺談python裝飾器探究與參數(shù)的領(lǐng)取,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12對(duì)python中數(shù)據(jù)集劃分函數(shù)StratifiedShuffleSplit的使用詳解
今天小編就為大家分享一篇對(duì)python中數(shù)據(jù)集劃分函數(shù)StratifiedShuffleSplit的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Selenium執(zhí)行完畢未關(guān)閉chromedriver/geckodriver進(jìn)程的解決辦法(java版+python版
這篇文章主要介紹了Selenium執(zhí)行完畢未關(guān)閉chromedriver/geckodriver進(jìn)程的解決辦法(java版+python版),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12python中while循環(huán)語(yǔ)句用法簡(jiǎn)單實(shí)例
這篇文章主要介紹了python中while循環(huán)語(yǔ)句用法,以一個(gè)簡(jiǎn)單實(shí)例形式分析了Python使用while循環(huán)語(yǔ)句使用方法,需要的朋友可以參考下2015-05-05教你如何用Python實(shí)現(xiàn)人臉識(shí)別(含源代碼)
Python可以從圖像或視頻中檢測(cè)和識(shí)別你的臉.人臉檢測(cè)與識(shí)別是計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn)之一.人臉識(shí)別的應(yīng)用包括人臉解鎖、安全防護(hù)等,醫(yī)生和醫(yī)務(wù)人員利用人臉識(shí)別來(lái)獲取病歷和病史,更好地診斷疾病,需要的朋友可以參考下2021-06-06用 Django 開(kāi)發(fā)一個(gè) Python Web API的方法步驟
這篇文章主要介紹了用 Django 開(kāi)發(fā)一個(gè) Python Web API的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12