Python 12306 抢票小工具

目前项目不在维护,只修复bug

12306用python实现的12306抢票小工具

对比另外的两个python项目自己封装了一些数据结构, 添加了自己觉得比较方便的逻辑

具体的更新日志请参考Changelog

如果有bug欢迎来提issue, 也欢迎开发者PR

2019.4.1 修改注意

1. 添加了对设备指纹的获取, 增加使用依赖库selenium以及chrome driver

2. 需要自行配置selenium的运行环境,具体可参考网上的教程

3. 使用缓存文件保存获取的设备指纹, 防止不必要重复获取请求

python版本支持

3.5以上

更新日志

Features

多日期查询余票

自动打码下单

用户状态自动检查

下单成功邮件通知

小黑屋策略

预售模式

两套下单接口(稳妥起见请选用正常下单流程, 因为是官网web端现在使用的接口)

打包项目

添加多线程查票模式 (由于查询过于频繁, 可能会被12306限制, 预售的时候建议不要使用)

CDN加速

多组出发到达站配置, 具体参考配置文件config.yaml_example

代理(已完成,目前此功能在对应的后台管理程序中集成),项目地址webadmin

web管理后台自动生成项目配置(已完成,目前此功能在对应的后台管理程序中集成),项目地址webadmin

Usage

clone项目

适合查看代码并开发

git clone https://github.com/versionzhang/python_12306.git克隆项目

进入python_12306目录, 安装依赖库, pip install -r requirement.txt

修改config.yaml_exmpale为config.yaml, 按照说明修改配置文件

安装好依赖之后, 运行python mainloop.py来进行抢票

使用pip安装项目

适合开箱即用

使用命令 pip install git+https://github.com/versionzhang/python_12306@master

即可安装此项目,项目会生成py12306的命令

在你需要运行的文件夹内创建config.yaml,编辑好配置文件即可使用 py12306 运行程序

Notice

按照yaml的语法修改配置文件

乘车日期已经为多日期, 需要修改对应配置项为列表

现在clone项目之后的直接在项目的根目录下运行mainloop.py文件即可

目前的查询由于加了cdn功能, 改用了未登录的session进行查询, 但是不操作登录后的session会导致登录后的session会频繁掉线,

现在改回来使用登录后的session进行查询. 因为cdn列表是网上获取的,里面有没有伪造的12306cdn服务器不确定,所以开启cdn功能需要谨慎.

后续看如何优化这一块功能

Repo Status

目前由于12306已经全面开通了候补购票,这个应该不再维护了。不过如果有bug的话还是可以提issue,有时间我会把bug修掉。

Thanks

感谢EasyTrain仓库的创建者Why8n的详细过程分析, 正常下单流程逻辑参考仓库的源代码

感谢testerSunshine 12306仓库的创建者testerSunshine, 参考了仓库的配置文件,以及快速下单的模块接口实现

python12306抢票_GitHub - versionzhang/python_12306: python 12306 抢票工具相关推荐

  1. python 12306抢票_Python爬虫实战:12306抢票开源!

    今天就和大家一起来讨论一下python实现12306余票查询(pycharm+python3.7),一起来感受一下python爬虫的简单实践 我们说先在浏览器中打开开发者工具(F12),尝试一次余票的 ...

  2. 朋友圈疯传加速包抢票,还不如Python自动抢票来的靠谱!

    写在前面 一年一度的春运已经悄然来临,不知道身在异乡的你是否抢到一张回家的火车票 又有多少人因为一张小小的火车票而不能回家过春节.漂泊在外的游子在这个时候的乡愁就是一张小小的火车票 近日在朋友圈被一波 ...

  3. Python 实现的12306抢票脚本

    Python12306抢票脚本 本脚本使用一个类来实现所有代码,大体上分为以下几个模块及其步骤: - 初始化对象属性(在抢票前进行的属性初始化,包括初始化浏览器模拟对象,个人信息等). - 建立模拟浏 ...

  4. Python之12306余票查询

    简单的Python学习,用Python完成一个12306余票查询- Python之12306余票查询 参考资料来自Python 实现火车票查询工具 需要用到的第三方库 requests,使用 Pyth ...

  5. 12306订票助手-给力火车票自动订票插件

    12306订票助手-给力火车票自动订票插件 Posted 2013-01-01  |  11条评论  |  By 熊猫人 火车票  12306  12306.cn  订票助手  订票插件  在外漂泊了 ...

  6. 全国各地12306订票时间大集合

    全国各地12306订票时间大集合,12306什么时候放票一查便知道!本12306订票时间汇总是摘自12306官网最新时间表,买票之前,先看12306什么时候放票才能增加第一时间买票.想看各地12306 ...

  7. 12306抢票脚本 python_春运抢票靠加速包?试试这个 Python 开源项目吧

    作者 | 非主流 出品 | Python大本营 又是一年春运,又到了拼手速.拼人品的时刻. 然而随着抢票软件的日益流行,拼加速包已经成为新的流行趋势.不过花钱买来的加速包真的有用吗? <工人日报 ...

  8. python编程实践(3):python+selenium实现12306抢票脚本

    又到了一年一度的春运时节,抢个票? 1.设计思路 如果我们要买一张火车票,我们会怎么做?打开12306,登陆,输入出发地和目的地,选择出行日期,然后点击查询,有余票的话就下单购买,没有票就点刷新或者等 ...

  9. python写一个简单的12306抢票

    引言 每逢过年就到了12306抢票高峰期,自己总想研究一下12306购票的流程,虽然网上已经很多资料,但是总比不过自己的亲身体会,于是便琢磨着写一个抢票软件,本人比较熟悉python,所以软件是用py ...

  10. 12306 抢票 python + selenium + chrome (二) 基础准备的软件和材料

    我使用的 vmware 14 + ubuntu 16  +  PyCharm  开发环境 12306抢票 python+selenium+chrome 实现一 12306抢票 python+selen ...

最新文章

  1. linux 定时备份mysql数据库
  2. python实战项目书 题库系统_Python实战视频教程_基于Python项目与面试题实例讲解(进阶训练篇)...
  3. mysql群集配置_CentOS7 - 建立一个MySQL集群
  4. 下排牙齿中间高两边低_爱护牙齿 每半年洁牙一次
  5. mvcframeworkProgramming ASP.NET MVC-Fundamentals of ASP.NET MVC(四)Controller
  6. java排除文件夹某文件,.gitignore排除文件夹,但包括特定的子文件夹
  7. Linux 火狐无法播放视频
  8. 微信小程序(一):微信小程序与服务器的简单链接
  9. 模型思考笔记2—分类和同群效应带来的思考
  10. Windows 下安装sql server 2016(附安装包资源)
  11. 2019.9.在循环队列中设置一个标志flag,当front=rear且flag=0时为队空,当front=rear且flag=1时候队满,请编写相应的入队和出队算法(假设队头指针front指向对头.
  12. 魔术表演的核心秘密(六)——从障眼法到错误引导和案例分享
  13. 电脑dns服务器未响应该怎么操作,电脑DNS服务器未响应该怎么办
  14. Laya1.x Timer小记
  15. Java 8 list 对象字段升序降序
  16. 中国元宇宙+赋能实体经济峰会暨中国民协元宇宙工委会员发布仪式
  17. 2020年团体程序设计天梯赛
  18. 向Kubernetes集群添加/删除Node
  19. docker status exited(255)
  20. 自定义View -- 蜘蛛网图

热门文章

  1. python在使用pyinstaller打包文件时提示找不到指定模块
  2. Google - Android 12 更新预览
  3. 齐齐哈尔那个职校学电子计算机好,齐齐哈尔职业学校有什么专业
  4. 廊坊金彩教育:人群标签应该怎么做
  5. [开发证书] Apple PKI
  6. 系统容量评估和性能保障
  7. MFC双人五子棋(VS2019)
  8. 如何从本地硬盘启动计算机,解密:如何在计算机BIOS中设置硬盘启动
  9. java基础学习_集合类04_Map接口、Collections工具类_day18总结
  10. HAL库自学笔记#1【通用TIM定时器】