12306 抢票项目霸榜 GitHub,标星即将破万
十一将至,你买到回家的火车票了吗?如果没有,你可以试着打开 GitHub,在搜索栏键入 12306 的关键词,我相信你会发现一个新大陆。没错,这里有 1572 个抢票项目。它们大多用 Python、JavaScript、Java 写成。其中,名为 testerSunshine 12306 的项目,标星甚至即将破万。网友表示亲测好用,再也不用买加速包了。
用 Python 抢票在技术圈已经屡见不鲜了。在更新日志中,我们了解到,testerSunshine 12306 的最早记录是在 2017 年 5 月。最近一段时间,项目作者针对新添加的候补功能进行了较为频繁的更新。目前,它支持 Python 3.6-3.74 版本,已具备自动打码、自动登陆、准点预售和捡漏、智能候补、邮件通知、 pushbear 通知等功能。
它的项目思路非常清晰,即便是没有 Python 基础的小白也可轻松操作。
依赖库
- 验证码目前可以本地识别,需要下载模型,放于项目根目录,全部代码来源于此项目 传送门,表示感谢。
- 项目依赖包查看 requirements.txt
- 安装方法 x:
- 1)root 用户(避免多 Python 环境产生问题):pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
- 2)非 root 用户(避免安装和运行时使用了不同环境): pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
项目使用说明
- 可以配置邮箱, 配置邮箱的格式在配置里面可以看到 ex
- 可以配置 server 酱提醒(推荐)配置教程
- 配置配置文件的时候,需注意空格和遵循 python 语法格式
项目开始
- 服务器启动:
- 1)修改配置文件
- 2)运行根目录 sudo python run.py ,即可开始
- 如果你的服务器安装了 docker 与 docker-compose, 那么就可以通过 docker-compose 进行启动, docker.sh 脚本对此进行了封装,可以通过如下命令进行启动
- 1)sudo ./docker.sh run # 创建一个镜像并启动容器,如果镜像已经创建过了会直接启动容器。
- 2)sudo ./docker.sh restart # 修改配置文件后,通过此名命令可重新加载容器运行
- 3)sudo ./docker.sh rm # 删除容器
- 4)sudo ./docker.sh drun # 后台运行容器
- 5)sudo ./docker.sh logs # 在后台运行时,通过此命令查看运行的内容
- 注:针对没有 docker 环境的同学提供了 docker 安装脚本 (centos7) - sudo ./docker_install_centos.sh
成功 log 图示
虽然项目作者表示,程序只是加速买票的过程,并不一定能买到票,但这种多手准备的操作方式仍能为购票成功提升几率。
项目链接:https://github.com/testerSunshine/12306
12306 抢票项目霸榜 GitHub,标星即将破万的更多相关文章
- GitHub标星2.6万!Python算法新手入门大全
今天推荐一个Python学习的干货. 几个印度小哥,在GitHub上建了一个各种Python算法的新手入门大全,现在标星已经超过2.6万.这个项目主要包括两部分内容:一是各种算法的基本原理讲解,二是各 ...
- 12306抢票带来的启示:看我如何用Go实现百万QPS的秒杀系统
本文为开源实验性工程:“github.com/GuoZhaoran/spikeSystem”的配套文章,原作者:“绘你一世倾城”,现为:猎豹移动php开发工程师,感谢原作者的技术分享. 1.引言 Go ...
- Python 实现的 12306抢票脚本
Python12306抢票脚本 本脚本使用一个类来实现所有代码,大体上分为以下几个模块及其步骤:- 初始化对象属性(在抢票前进行的属性初始化,包括初始化浏览器模拟对象,个人信息等).- 建立模拟浏览器 ...
- 四、基于HTTPS协议的12306抢票软件设计与实现--水平DNS并发查询分享
一.基于HTTPS协议的12306抢票软件设计与实现--实现效果 二.基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式 三.基于HTTPS协议的12306抢票软件设计与实现-- ...
- 12306抢票算法居然被曝光了!!!居然是redis实现的
导读 相信大家应该都有抢火车票的经验,每年年底,这都是一场盛宴.然而你有没有想过抢火车票这个算法是怎么实现的呢? 应该没有吧,咱们今天就来一一探讨.其实并没有你想的那么难 bitmap与位运算 red ...
- github标星11600+机器学习课程资源
github标星11600+:最全的吴恩达机器学习课程资源(完整笔记.视频.python作业) 吴恩达老师的机器学习课程,可以说是机器学习入门的第一课和最热门课程,我在github开源了吴恩达机器学习 ...
- 「今日 GitHub 趋势」让全世界程序员体会中国的 12306 抢票狂潮
[2018年1月7日 GitHub 趋势] No.1:yyx990803 / build-your-own-mint 单日 714 星 使用 Plaid,Google 表格和 CircleCI 构建您 ...
- 12306 抢票系列之只要搞定RAIL_DEVICEID的来源,从此抢票不再掉线(上)
郑重声明: 本文仅供学习使用,禁止用于非法用途,否则后果自负,如有侵权,烦请告知删除,谢谢合作! 开篇明义 本文针对自主开发的抢票脚本在抢票过程中常常遇到的请求无效等问题,简单分析了 12306 网站 ...
- 马后炮之12306抢票工具(四)--抢票Demo,2014年1月9日终结版
时隔一年多,终于朋友的忽悠下吧抢票Demo的最后一步完善了,与2014年1月9日成功生成车票. Demo仅经过自己测试,并未在高峰期进行测试,代码质量很差,因为赶工,套用去年模板并未使用设计模式. 代 ...
随机推荐
- 【mybatis】清空数据库表数据
<update id="truncateTable"> truncate table ${tableName} </update> <update i ...
- 【java异常】Unable to install breakpoint in
这个是断点失效,把那个断点双击清理掉就完了. 具体原因,以后再写.
- BZOJ 3132: 上帝造题的七分钟 树状数组+差分
这个思路很巧妙啊 ~ code: #include <cstdio> #include <algorithm> #define N 2050 #define ll int #d ...
- python与javascript 引入模块的方法对比
1.引入整体模块对比 python 方法一: # 引入全部函数 from xxx import * # 直接使用模块里面的各函数或者属性 test() 方法二: # 引入全局的模块 import gl ...
- Mybatis集成ehcache
Mybatis集成ehcache 1.为什么需要缓存 拉高程序的性能 2. 什么样的数据需要缓存 很少被修改或根本不改的数据 业务场景比如:耗时较高的统计分析sql.电话账单查询sql等 3. ehc ...
- chentos7 编译安装keepalived 1.4.5
准备工作: 下载源码包,官方网站 下载命令:wget https://www.keepalived.org/software/keepalived-1.4.5.tar.gz 解压tar包,命令: ta ...
- java web开发入门汇总
servlet 用java语言开发动态资源网站的技术,在doGet方法中拼接显示html,在doPost方法中提交数据.类似于.net的ashx技术. servlet生成的class文件存放在tomc ...
- 简单说说JavaScript的Generator 实现(ES6)
Generator 是 ES6 中新增的语法,和 Promise 一样,都可以用来异步编程 // 使用 * 表示这是一个 Generator 函数 // 内部可以通过 yield 暂停代码 // 通过 ...
- solr配置同义词,停止词,和扩展词库(IK分词器为例)
定义 同义词:搜索结果里出现的同义词.如我们输入”还行”,得到的结果包括同义词”还可以”. 停止词:在搜索时不用出现在结果里的词.比如is .a .are .”的”,“得”,“我” 等,这些词会在句子 ...
- cad快捷图标中的启动参数
!!!转载 http://blog.sina.com.cn//s/blog_6848608101017v4w.html 有时候需要判断一下是否是硬件加速.Ribbon等原因造成了软件的问题,需要在 ...