py12306 购票助手
傳送門?https://github.com/pjialin/py12306/
py12306 購票助手
分布式,多賬號,多任務購票
前言
今年回家的票明顯要難買很多,早早就答應了父母今年的票沒問題,到現在一張票沒買到,雖然家里已經訂了汽車票,讓我不用操心,但是想想他們一行還有小孩,心還是很傷的。 這段時間從 12306Bypass 到 testerSunshine 大佬寫的?12306,還是沒搶到票,索性就自己寫了一個,希望也能幫助到更多人
Features
- ?多日期查詢余票
- ?自動打碼下單
- ?用戶狀態恢復
- ?電話語音通知
- ?多賬號、多任務、多線程支持
- ?單個任務多站點查詢
- ?分布式運行
- ?Docker 支持
- ?動態修改配置文件
- ?郵件通知
- ?Web 管理頁面
- ?微信消息通知
使用
py12306 需要運行在 python 3.6 以上版本(其它版本暫未測試)
1. 安裝依賴
git clone https://github.com/pjialin/py12306pip install -r requirements.txt2. 配置程序
cp env.py.example env.py自動打碼
目前支持免費打碼,和若快打碼
注:免費打碼無法保證持續可用,如失效請手動切換到若快平臺,需要先到?http://www.ruokuai.com?注冊一個賬號后填寫到配置中
語音通知
語音驗證碼使用的是阿里云 API 市場上的一個服務商,需要到?https://market.aliyun.com/products/57126001/cmapi019902.html購買后將 appcode 填寫到配置中
3. 啟動前測試
目前提供了一些簡單的測試,包括用戶賬號檢測,乘客信息檢測,車站檢測等
開始測試 -t
python main.py -t測試通知消息 (語音, 郵件) -t -n
# 默認不會進行通知測試,要對通知進行測試需要加上 -n 參數 python main.py -t -n4. 運行程序
python main.py參數列表
- -t 測試配置信息
- -t -n 測試配置信息以及通知消息
- -c 指定自定義配置文件位置
分布式集群
集群依賴于 redis,目前支持情況
- 單臺主節點多個子節點同時運行
- 主節點宕機后自動切換提升子節點為主節點
- 主節點恢復后自動恢復為真實主節點
- 配置通過主節點同步到所有子節點
- 主節點配置修改后無需重啟子節點,支持自動更新
- 子節點消息實時同步到主節點
使用
將配置文件的中?CLUSTER_ENABLED?打開即開啟分布式
目前提供了一個單獨的子節點配置文件?env.slave.py.example?將文件修改為?env.slave.py, 通過?python main -c env.slave.py?即可快速啟動
Docker 使用
1. 將配置文件下載到本地*
docker run --rm pjialin/py12306 cat /config/env.py > env.py # 或 curl https://raw.githubusercontent.com/pjialin/py12306/master/env.docker.py.example -o env.py2. 修改好配置后運行
docker run -d -v $(pwd):/config -v py12306:/data pjialin/py12306當前目錄會多一個 12306.log 的日志文件,?tail -f 12306.log
Web 管理頁面
目前支持用戶和任務以及實時日志查看,更多功能后續會不斷加入
使用
打開 Web 功能需要將配置中的?WEB_ENABLE?打開,啟動程序后訪問當前主機地址 + 端口號 (默認 8008) 即可,如?http://127.0.0.1:8008
更新
- 19-01-10
- 支持分布式集群
- 19-01-11
- 配置文件支持動態修改
- 19-01-12
- 新增免費打碼
- 19-01-14
- 新增 Web 頁面支持
- 19-01-15
- 新增 釘釘通知
- 新增 Telegram 通知
- 新增 ServerChan 和 PushBear 微信推送
截圖
Web 管理頁面
?
下單成功
?
關于防封
目前查詢和登錄操作是分開的,查詢是不依賴用戶是否登錄,放在 A 云 T 云容易被限制 ip,建議在其它網絡環境下運行
交流群?274781597
Thanks
- 感謝大佬?testerSunshine,借鑒了部分實現
- 感謝所有提供 pr 的大佬
轉自git
總結
以上是生活随笔為你收集整理的py12306 购票助手的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qq企业邮箱 pop3服务器是什么意思,
- 下一篇: QQ2000 的聊天室刷屏机设计技术