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仅经过自己测试,并未在高峰期进行测试,代码质量很差,因为赶工,套用去年模板并未使用设计模式. 代 ...
 
随机推荐
- struts2学习1
			
struts2使用优势 自动封装参数 参数校验 结果的处理(转发|重定向) 国际化 显示等待页面 表单的防止重复提交 struts2具有更加先进的架构以及思想 使用拦截器 struts2的历史 str ...
 - BZOJ 5161: 最长上升子序列 状压dp+查分
			
好神啊 ~ 打表程序: #include <cstdio> #include <cstring> #include <algorithm> #define N 14 ...
 - CF598: div3解题报告
			
CF598:div3解题报告 A: Payment Without Change 思路: 按题意模拟即可. 代码: #include<bits/stdc++.h> using namesp ...
 - redis使用摘要
			
一.redis使用: 在下载安装好redis后,pycharm内也需要安装redis工具包.cmd窗口运行pip install redis后才可在pycharm 内导入import redis来使用 ...
 - [BZOJ1015/JSOI2008]星球大战
			
// 此博文为迁移而来,写于2015年7月16日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w6le.html 1.题 ...
 - 动态规划:数字和为sum的方法数
			
题目描述 给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数.当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案. 输入描述: 输入为两行: 第一行为 ...
 - css 水平垂直居中两种常用方式
 - TensorFlow实现文本情感分析详解
			
http://c.biancheng.net/view/1938.html 前面我们介绍了如何将卷积网络应用于图像.本节将把相似的想法应用于文本. 文本和图像有什么共同之处?乍一看很少.但是,如果将句 ...
 - Qt QThread两种方式的使用:1-继承QThread重写run函数; 2- 继承QObject并moveToThread    &&  消息和槽在线程和依附线程间的传递
			
2019年08月18日起笔 方式一:继承QThread重写run函数 MyThread.h ----------------------------------- ... class MyThread ...
 - eclipse Referenced file contains errors (http://www.springframework.org/schema/context/spring-context-3.0.xsd)
			
1.情景展示 spring配置文件报错信息如下: Referenced file contains errors (http://www.springframework.org/schema/ ...