过年了,我们每个人都会回家过年,说到过年就不得不提抢票,毕竟过年回家的票都是一票难求,而以前都是靠购买加速包来提速抢票,前几天在公众号看到github上一个很火的12306抢票项目,而且我自己本职也是一个辣鸡程序猿,所以就想试试能不能把这个项目clone下来,调试并跑起来,于是我抱着试一试的态度,花了一些时间,安装虚拟机,克隆代码到本地,安装环境,调试bug,最终把它跑起来了,并且成功的买到了票,所以就想把这个过程记录下来,虽然项目不是自己写的,而且自己本职也是java大数据方向,python也不是很懂,但是很到项目跑通还是觉得很酷,我想这就是作为程序猿的G点吧,就是项目成功运行并且能够解决某些问题,在此膜拜开发12306项目的大佬,牛X!!!

大佬的12306github项目地址:https://github.com/testerSunshine/12306

膜拜大佬,记得star啊

抢票思路:

0.环境:

  • CentOS7
  • jdk8

1.前提:

  • 安装python3(见我另外一篇文章)
  • 安装git

2.将项目克隆到本地(一定要克隆最新的代码):

cd /opt/modulegit clone https://github.com/testerSunshine/12306.git

3.安装项目依赖:

cd /opt/module/12306pip3 install -i https://mirrors.aliyun.com/pypi/simple -r requirements.txt

4.CentOS安装google(见我另一篇文章)

5.在CentOS7上用Google登录12306官网:

查到RAIL_EXPIRATION ,RAIL_DEVICEID

6.修改配置文件TickerConfig.py

cd /opt/module/12306vi TickerConfig.py
(1)更改关键参数:

TickerConfig.py

# 填入需要购买的车次(list),"G1353"
# 修改车次填入规则,注:(以前设置的车次逻辑不变),如果车次填入为空,那么就是当日乘车所有车次都纳入筛选返回
# 不填车次是整个list为空才算,如果不是为空,依然会判断车次的,这种是错误的写法 [""], 正确的写法 []
STATION_TRAINS = ["G1353","A1687","C2020"]# 时间范围 如果所有时间段,则用 00:00-23:59
START_TIME = "00:00"
END_TIME = "23:59"# 出发日期(list) "2018-01-06", "2018-01-07"
STATION_DATES = ["2020-01-18"
]
# 出发城市,比如深圳北,就填深圳就搜得到
FROM_STATION = "广州南"# 到达城市 比如深圳北,就填深圳就搜得到
TO_STATION = "隆回"# 座位(list) 多个座位ex:
# "商务座",
# "一等座",
# "二等座",
# "特等座",
# "软卧",
# "硬卧",
# "硬座",
# "无座",
# "动卧",
SET_TYPE = ["二等座"]# 乘车人(list) 多个乘车人ex:
# "张三",
# "李四"
TICKET_PEOPLES = ["张三"]# 12306登录账号,填入自己的12306账号密码
USER = "xxx"
PWD = "xxx"# 云打码服务器地址
HOST = "120.24.62.193:80"#  邮箱配置,如果抢票成功,将通过邮件配置通知给您
#  列举163
#  email: "xxx@163.com"
#  notice_email_list: "123@qq.com"
#  username: "xxxxx"
#  password: "xxxxx
#  host: "smtp.163.com"
#  列举qq  ,qq设置比较复杂,需要在邮箱-->账户-->开启smtp服务,取得授权码==邮箱登录密码
#  email: "xxx@qq.com"
#  notice_email_list: "123@qq.com"
#  username: "qq号"
#  password: "授权码"
#  host: "smtp.qq.com"
EMAIL_CONF = {"IS_MAIL": True,"email": "xxx@qq.com","notice_email_list": "xxx@qq.com","username": "xxx","password": "xxx","host": "smtp.qq.com",
}# 如果COOKIE_TYPE=3, 则需配置RAIL_EXPIRATION、RAIL_DEVICEID的值
RAIL_EXPIRATION = ""
RAIL_DEVICEID = ""
(2)注意:
  • USER和PWD填买票的12306账号
  • HOST需要填写可用的云打码服务器
  • 如果需要通过邮箱通知,比如qq邮箱需要开启smtp服务email填写发送者邮箱,notice_email_list填写通知的邮箱,username填写qq号,password填写授权码
  • RAIL_EXPIRATION填写在CentOS中chorme浏览器登录12306后的cookie信息
  • RAIL_DEVICEID填写在CentOS中chorme浏览器登录12306后的cookie信息

6.运行:

cd /opt/module/12306python3 run.py c

python3 run.py r

7.抢票结果:

记录12306项目抢票成功的经历:CentOS7环境相关推荐

  1. 记录一次抢票成功的经历。

    文章目录 **前提:早起** 步骤 tips: 人生中第一次抢票成功,必须记录下来. 跟技术无关,但是需要记录下来. 前提:早起 步骤 1 开售前十几分钟预约好(1 硬座.硬卧.软卧都选上,2 多选几 ...

  2. 教你如何秒杀12306,JAVA程序抢票成功 分享 附截图

    最新版本12306抢票代码请到http://www.zuidaima.com下载:2014新12306抢票源码 GOHOME最新版出世了!!!支持多人订票及指定车次等功能!!!更方便! JAVA程序G ...

  3. Python实现12306自动抢票小程序

    项目描述: 本程序通过网络爬虫技术,通过抓包分析出一次购票过程中出现的所有请求,最后通过Python程序一步步实现模拟浏览器进行请求.本程序通过调用云打码平台实现登录时候验证码校验,并能实现不断地监控 ...

  4. 12306与抢票插件初识

    序. 无数巨人的肩膀 12306购票浅显研究 http://xiaowa.org/modules.php?link=read_article&id=129 . 基于HTTPS协议的12306抢 ...

  5. 抢票季:吐槽12306 分享抢票经验

    又是一年一度的春运抢票季,不管你是北上.南下或者东进,在外漂泊了一年,有钱没钱总是要回家过年的. [图片来源于网络] 吐槽:12306抢票的悲伤 据说12306改版了,新版本里面除了UI这些面儿上的改 ...

  6. python编写12306窗体抢票软件(二)

    python编写12306窗体抢票软件(二) 本文这次介绍如何获取12306网站的验证码并登陆. 1 获取验证码 12306它是一个服务器,每次我们访问它都是以客户端的方式去向它索取信息. 建议用谷歌 ...

  7. 用python写12306系统_Python实现12306火车票抢票系统

    Python实现12306火车票抢票系统 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  Python实现12306火车票抢票系统.txt ] (友情提示:右键点 ...

  8. 12306自动抢票及自动识别验证码功能(一)

    其实12306抢票之前有做过,近年来随着技术的发展AI的兴起,我也随波逐流,研究了下python深度学习,来实现12306全自动抢票工具. 1. 实现12306自动识别验证码,我这里用的比较简单,目前 ...

  9. 基于python的火车票订票系统的设计与实现_Python实现12306火车票抢票系统

    Python实现12306火车票抢票系统效果图如下所示: 具体代码如下所示: import urllib.request as request import http.cookiejar as coo ...

最新文章

  1. python官网 中文版 新闻-用python看新闻
  2. 【C#食谱】【杭帮菜】菜单2:写一个TCP客户端
  3. python函数手册_python学习手册——内置函数(上)
  4. 【Python3.6】之在Windows中安装Python3.6.1
  5. 分式求二阶导数_近10年高考数学“导数大题”分析,附2021备考建议
  6. Java常见排序算法之Shell排序
  7. Luogu 3267 [JLOI2016/SHOI2016]侦察守卫
  8. concatenate python_python中numpy.concatenate()函数的使用
  9. 春眠不觉晓,读书醒醒脑|世界读书日送送送10本硬核书
  10. 结对-结对编项目作业名称-设计文档
  11. downie是什么软件?如何在Mac中下载视频?
  12. mysql57介绍_MySQL5.7 JSON类型使用介绍
  13. [system] Map key not configured
  14. hdu 畅通工程再续
  15. html周志模板,毕业设计指导周志模板
  16. 淘宝旺旺号转userid 和 uid 的接口方法
  17. MarkDown语法详解(Typora编辑器)
  18. 华为云ECS服务器中通过docker部署ELK-kibana
  19. 图书馆机器人索书号识别
  20. HDU 3518 HDU 4416【后缀自动机len的使用】

热门文章

  1. 十年磨一剑,剑出荡魑魅
  2. 蓝桥杯基础练习合集一(C语言) 1.A+B问题2.数列排序3.十六进制转八进制4.十六进制转十进制5.十进制转十六进制
  3. 一篇解析论文MapReduce
  4. MPL2.0协议简介——Mozilla Public License Version 2.0
  5. bilibili外链链接到网页
  6. python与redis数据库交互中zadd、zincrby的那些坑:(error) ERR value is not a valid float
  7. 利用wifi对用户进行网络监控
  8. ClassOne 向 MicroLED 初创公司 Raxium 提供 Solstice 工具
  9. 数据结构中各种排序算法的稳定性比较
  10. 擎创喜报 | 名单公布!恭喜入选!