當前位置: 妍妍網 > 碼農

14K star! 一個帶Web管理界面搶票計畫,支持多帳號/多執行緒/微信電話通知!

2024-05-04碼農

* 戳上方藍字「 開源先鋒 」關註我

推薦閱讀:


大家好,我是開源君!

小夥伴們五一的票都搶好了嗎?

今天開源君分享一個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