搶票 搶票 搶票!Python大牛帶你實現12306全自動搶票

距離農曆新年真的是越來越近了,大家在關心自己的年終獎之外,還有一件更重要的事情那就是:搶票、搶票、搶票。

搶票 搶票 搶票!Python大牛帶你實現12306全自動搶票

搶票之難,難於上青天……為了能更快捷搶火車票,各種各樣的搶票軟件應需而生,但是,春運的火爆程度,單純的依靠搶票軟件還是難以滿足大家的需求,有時候我們不得不從黃牛手中去購買高價票。

最近一直收到朋友讓助力搶票的消息,就連朋友圈也已經被搶票小程序刷屏了!透露著滿滿的無奈感……

好想問問火車票、高鐵票、坐票、臥鋪……都去哪了啊,我站著回家也是可以的!

搶票 搶票 搶票!Python大牛帶你實現12306全自動搶票


搶票 搶票 搶票!Python大牛帶你實現12306全自動搶票


搶票 搶票 搶票!Python大牛帶你實現12306全自動搶票


當大家都因搶不到票而愁雲籠罩時,程序員們已經開始利用Python搶票了。今天就給大家介紹一個開源的 Python 搶票程序,不僅免費開源,還非常有用。

先來看一下該程序的思路圖:

搶票 搶票 搶票!Python大牛帶你實現12306全自動搶票


執行

該程序使用 Python 創建,支持版本為 2.7.10 - 2.7.15。

依賴

依賴庫包括:用來對付 12306「刺激」驗證碼的圖像識別工具(該 repo 中推薦使用若快);項目依賴包 requirements.txt。

按照如下命令安裝項目依賴包:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

項目使用說明

  • 需要配置郵箱,可以配置可以不配置,配置郵箱的格式在 yaml 裡面可以看到 ex
  • 提交訂單驗證碼哪裡依賴打碼兔,所以如果是訂票遇到驗證碼的時候,沒有打碼兔是過不了的,不推薦手動,手動太慢
  • 配置 yaml 文件的時候,需注意空格和遵循 yaml 語法格式


使用幫助

  • 測試郵箱是否可用
  • 測試下單接口是否可用,有兩個下單接口,隨便用哪個都 ok
  • 如果下載驗證碼過期或者下載失敗的問題,應該是 12306 封 ip 的策略,多重試幾次,12306 現在封服務器(阿里雲和騰訊雲)ip 比較嚴重,儘量不要放在服務器裡面


項目開始

  • 服務器啟動:
  • 修改 config/ticket_config.yaml 文件,按照提示更改自己想要的信息
  • 運行根目錄 sudo python run.py,即可開始
  • 由於新增對時功能,請務必用 sudo,sudo,sudo 執行,否則會報權限錯誤。windows 打開 ide 或者 cmd 請用管理員身份執行 python run.py,不需要加 sudo


  • 如果你的服務器安裝了 docker,那麼就可以 docker 啟動
  • docker build -t dockerticket .
  • docker run dockerticket python run.py &
  • 本來是可以直接 Dockerfile 啟動的,但不知道為什麼啟動不了,如果有大佬看到問題所在,歡迎提出


目錄對應說明

  • agency - cdn 代理
  • config - 項目配置
  • damatuCode - 打碼兔接口
  • init - 項目主運行目錄
  • myException - 異常
  • myUrllib - urllib 庫


希望大家能夠在搶票的時候看到類似下圖這樣的好消息~

搶票 搶票 搶票!Python大牛帶你實現12306全自動搶票


同時還要給大家分享黑馬老師所講的關於Python搶票的學習教程,包含教學視頻,筆記資料等,詳細地講述瞭如何利用Python搶票的方法,快來領取吧!

春運回家搶票無憂

Python大牛帶你實現12306全自動搶票

獲取方式

請關注:黑馬程序員頭條號,評論轉發後臺回覆“12306”即可獲取


分享到:


相關文章: