2020年春節到來 搶票有開始了 GitHub上22萬Star的第一搶票神器

技術剛剛好 發佈 2020-01-16T14:37:18+00:00

春節搶票正在如火如荼的進行,過年回家那肯定需要搶票,每年的搶票大戰,都是一場硬戰,沒有一個好工具,怎麼能上戰場死鎖呢。今天我推薦一個Python搶票工具,送到了GitHub趨勢榜第一:Python搶票工具項目名很乾脆,就是「12306」,標星超過1.2W,來自名叫文賢平的程式設計師。

春節搶票正在如火如荼的進行,過年回家那肯定需要搶票,每年的搶票大戰,都是一場硬戰,沒有一個好工具,怎麼能上戰場死鎖呢。今天我推薦一個Python搶票工具,送到了GitHub趨勢榜第一:


項目名很乾脆,就是「12306」,標星超過1.2W,來自名叫文賢平的程式設計師。

這很可能是全GitHub最德高望重的購票小助手了,功能一直在更新,且現已支持Python 3.6以上版本。

有些後起之秀,也是在它的基礎上開發出來,然後廣受歡迎:


標星5k的「py12306」便是其中之一,它支持分布式搶票。

如果你還沒搶到回程的票,試一下這些Python工具吧。已經有許多人類親測成功了:


使用

py12306 需要運行在 python 3.6 以上版本(其它版本暫未測試)

1. 安裝依賴

git clone https://github.com/pjialin/py12306

pip install -r requirements.txt

2. 配置程序

cp env.py.example env.py

自動打碼

(若快已停止服務,目前只能設置free打碼模式) free 已對接到打碼共享平台,py12306-helper.pjialin.com,歡迎參與分享

語音通知

語音驗證碼使用的是阿里雲 API 市場上的一個服務商,需要到 market.aliyun.com/products/56928004/cmapi026600.html 購買後將 appcode 填寫到配置中

3. 啟動前測試

目前提供了一些簡單的測試,包括用戶帳號檢測,乘客信息檢測,車站檢測等

開始測試 -t

python main.py -t

測試通知消息 (語音, 郵件) -t -n

# 默認不會進行通知測試,要對通知進行測試需要加上 -n 參數 
python main.py -t -n

4. 運行程序

python main.py

參數列表

  • -t 測試配置信息
  • -t -n 測試配置信息以及通知消息
  • -c 指定自定義配置文件位置

分布式集群

集群依賴於 redis,目前支持情況

  • 單台主節點多個子節點同時運行
  • 主節點宕機後自動切換提升子節點為主節點
  • 主節點恢復後自動恢復為真實主節點
  • 配置通過主節點同步到所有子節點
  • 主節點配置修改後無需重啟子節點,支持自動更新
  • 子節點消息實時同步到主節點

使用

將配置文件的中 CLUSTER_ENABLED 打開即開啟分布式

目前提供了一個單獨的子節點配置文件 env.slave.py.example 將文件修改為 env.slave.py, 通過 python main.py -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.py

2. 修改好配置後運行

docker run --rm --name py12306 -p 8008:8008 -d -v $(pwd):/config -v py12306:/data pjialin/py12306

當前目錄會多一個 12306.log 的日誌文件, tail -f 12306.log

Docker-compose 中使用

1. 複製配置文件

cp docker-compose.yml.example docker-compose.yml

2. 從 docker-compose 運行

在docker-compose.yml所在的目錄使用命令

docker-compose up -d

更新

  • 19-01-10支持分布式集群
  • 19-01-11配置文件支持動態修改
  • 19-01-12新增免費打碼
  • 19-01-14新增 Web 頁面支持
  • 19-01-15新增 釘釘通知新增 Telegram 通知新增 ServerChan 和 PushBear 微信推送
  • 19-01-18新增 CDN 查詢

Web 管理頁面


下單成功



關鍵字: