* 戳上方藍字「 開源先鋒 」關註我
推薦閱讀:
大家好,我是開源君!
小夥伴們五一的票都搶好了嗎?
今天開源君分享一個Python搶票神器 -
py12306
,說不定對你有幫助。
計畫簡介
py12306
是一款基於 Python 開發的功能強大、易於使用的 12306 購票助手開源計畫,擁有以下核心功能:
多日期查詢余票:支持查詢指定日期範圍內的車票余票資訊,方便您安排出行計劃。
自動打碼下單:整合打碼平台,自動辨識驗證碼,快速完成購票操作。
使用者狀態恢復:自動恢復使用者登入狀態,免去重復登入的煩惱。
電話語音通知:支持電話語音通知,及時獲知購票結果。
多帳號、多工、多執行緒支持:支持多個帳號同時購票,多個任務同時執行,並支持多執行緒處理,大幅提升購票效率。
單個任務多站點查詢:支持單個任務查詢多個車站之間的車票資訊,方便您比較不同車次和價格。
分布式執行:支持分布式部署,可將購票任務分配到多台伺服器上執行,進一步提升處理能力。
Docker 支持:支持 Docker 容器化部署,方便您快速搭建執行環境。
動態修改配置檔:支持動態修改配置檔,無需重新開機程式即可生效,方便您調整參數。
信件通知:支持信件通知,將購票結果發送到指定信箱。
Web 管理頁面:提供 Web 管理頁面,方便您直觀地管理帳號、任務、設定等資訊。
微信訊息通知:支持微信訊息通知,將購票結果發送到微信。
代理池支持:支持代理池,可以有效提高網路請求的穩定性和速度。
目前在 Github 上面已經贏得了超過 14k 使用者的喜愛和點贊。
計畫特性
它擁有以下特點:
功能強大:涵蓋了購票流程的各個環節,能夠滿足您的多樣化購票需求。
效率高:支持多帳號、多工、多執行緒執行,並支持分布式部署,能夠顯著提升購票效率。
易於使用:提供詳細的使用指南和豐富的範例程式碼,即使是新手也能快速上手。
可延伸性強:支持自訂擴充套件,您可以根據自己的需求添加新功能或修改現有功能。
開源免費:py12306 是開源計畫,免費提供使用,可以自由下載、修改和分發。
安裝使用
需要先準備 python 3.6 以上版本的環境
1、安裝計畫依賴
git clone https://github.com/pjialin/py12306
pip install -r requirements.txt
2、根據自己的需求,調整程式配置,
cp env.py.example env.py
3、啟動前測試 目前提供了一些簡單的測試,包括使用者帳號檢測,乘客資訊檢測,車站檢測等
python main.py -t
# 預設不會進行通知測試,要對通知進行測試需要加上 -n 參數
python main.py -t -n
-t 測試配置資訊
-t -n 測試配置資訊以及通知訊息
-c 指定自訂配置檔位置
4、運行程式
python main.py`
Docker安裝部署
# 下載配置檔
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.py
# 修改好配置後執行
docker run --rm --name py12306 -p 8008:8008 -d -v $(pwd):/config -v py12306:/data pjialin/py12306
關於 Web 管理頁面,在配置中開啟 WEB_ENABLE,啟動程式後存取當前主機地址 + 埠號 (預設 8008) 即可存取。例如 http://127.0.0.1:8008。
計畫展示
Web 管理頁面
下單成功
查詢任務
即時日誌
搶票成功
更多計畫功能細節,感興趣的可以到計畫地址進行檢視:
計畫地址:
https://github.com/pjialin/py12306