项目地址: https://github.com/vicalloy/12306-ticket-checker
只是在刷出票后发送提醒消息,并不能自动购票。在收到消息后还是得拼手速。 脚本用 Python3 实现,可挂到服务器上 24 小时刷。
总体来说火车票应当是越来越好买,因此一直没怎么太操心。哪知道今年票似乎没有很好买,最近在 12306 刷了几天一张票都没看到。广大抢票软件又都只支持 Windows 系统,作为 Mac 用起来不是太方便。
写了个脚本挂到服务器,希望收到消息。
ticket的 channel,并申请一个 Bot 用于发消息。如希望采用其他的通知途径,请自行修改 12306.py 中的 send_message 实现。
    pip3 install requests
    pip3 install slackclient
conf.py.sample并修改文件名为conf.py,python3 12306.py启动脚本,验证脚本是否可以正确执行。
SLACK_TOKEN = ''  # slack bot 的 SLACK_API_TOKEN ,如需要用其消息通知机制,请修改 send_message 实现
TRAIN_DATES = ['2017-02-01', '2017-02-02', '2017-02-03', '2017-02-04']  # 需要抢票的日期
FROM_STATIONS = ['WHN']  # 出发站点,城市对应的编码请自行根据 https://kyfw.12306.cn/otn/leftTicket/init 找到
TO_STATIONS = ['HZH']  # 达到站
TICKET_TYPES = ['swz', 'zy', 'ze', 'rw', 'yw']  # 车票类型,参考 TICKET_TYPE_MAP
NEED_COUNT = 2  # 需要抢票的张数,低于这个数不提示
只是为了自己抢票用,因此弄的比较简单有挺多不完善的地方。
|      1v1024      2017-01-22 21:34:21 +08:00 via iPhone 精神可嘉,没什么用。 | 
|  |      2rainfox      2017-01-22 21:34:54 +08:00 刷到后被抢票软件秒了,这有什么意义?点燃了希望再失望。。。 | 
|  |      3Cabana      2017-01-22 21:44:31 +08:00 via Android 出票时间不是都知道的吗? | 
|  |      4emberzhang      2017-01-22 21:46:31 +08:00 via iPhone 为啥要 24 小时刷, 12306 每天不是只开 8 小时么 | 
|  |      5HLT      2017-01-22 22:12:20 +08:00 。。。不能自动购票 这个真没啥用, LZ 真想多了! | 
|  |      6Antidictator      2017-01-23 09:18:48 +08:00 via Android @emberzhang 6-23 | 
|  |      7crytis      2017-01-23 10:56:20 +08:00 via iPhone 直接去阿里云租个 Windows 服务器,按需使用的那种,挂上刷票软件就行了 | 
|  |      8vicalloy OP 事实证明还真是我想多了。 今天 10 点 40 分的时候刷出一大堆的票,立马用手机登陆进去,连个票的影子都没看到。 应当是全自动抢票软件太多,出票后第一时间就全部买走了。 | 
|  |      10JackyBao      2017-01-25 22:24:36 +08:00 via Android 记得我以前大学选课就是这么刷的,挂着等人退出来,让后马上选进去,一步到位。 | 
|      11lawder      2017-01-28 13:37:45 +08:00 12306 网站都可以自动下单了,年前刷了几张,也是用 Mac |