当前位置: 欣欣网 > 码农

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