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