V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xiaoshun007
V2EX  ›  分享创造

春运在即,你准备好抢票了吗?也撸一个 Python 版 12306 抢票辅助,以飨读者,欢迎各位大佬拍砖

  •  
  •   xiaoshun007 · 2018-01-09 07:55:06 +08:00 · 4513 次点击
    这是一个创建于 2505 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近被一直在被微信跳一跳和微信跳一跳的辅助(连某宝都有的卖,5-50 软妹币不等)刷屏,本着技术拯救世界的美好愿望 [大雾,也写了一个 Python 版的 12306 抢票辅助,此类程序已经很多,但是要不就是代码太久远,要不就是很久没有维护,要不就是没有文档,所以自己维护了个,也算练手,程序支持可配置化,支持多种方式运行,Github 地址: https://github.com/xiaoshun007/12306Python

    操作说明:

    方式一:直接运行(配置文件使用 hack12306.py 相同目录下的 config.ini )
    	python hack12306.py
    
    方式二:指定 config.ini 路径(配置文件使用指定的 config.ini )
    	python hack12306.py -c /Users/xxx/config.ini
    
    	参数说明:
    		'-c', '--config', '可选参数, 指定配置文件, 默认使用当前目录 config.ini'
    
    方式三:下载可执行文件执行
    	1、下载可执行程序
    	2、配置 config.ini ,放在可执行程序同级目录
    	3、双击运行程序
    

    关键字:

    Python+splinter
    

    目前支持的功能:

    1、支持配置出发地、目的地、乘车日
    2、支持配置车次类型(动车、高铁等)
    3、支持配置出发时间
    4、需要手动输入登录验证码
    5、支持配置预定车次的选择顺序( order 字段,暂时只支持配置成 0,即从上至下选择,车次选择算法待优化)
    6、支持预定、购票自动完成	
    7、支持配置文件路径指定
    8、支持席别指定
    

    一些说明:

    splinter 是一个自动化测试的包,需要依赖浏览器,所以这个抢票必然比不上直接请求,而且不能后台跑,但是毕竟比手动点击要快一些
    

    最后的最后:

    已经具备自动订票的功能,代码继续完善中,希望各位大佬提出宝贵意见,如果恰好帮你抢到了回家的票,也是在下的荣幸,此致
    
    11 条回复    2018-01-11 15:42:16 +08:00
    harry890829
        1
    harry890829  
       2018-01-09 08:33:22 +08:00
    不错不错,晚点看看
    lniwn
        2
    lniwn  
       2018-01-09 08:35:47 +08:00 via iPhone
    看介绍类似于自动化测试?
    touzi
        3
    touzi  
       2018-01-09 08:36:30 +08:00
    新闻不是说 80% 的票不需要验证码吗, 还有验证码可以代码识别, 12306 的验证码是每天早上放出来, 然后一整天不会变, 且没有复杂的鼠标移动及按力等检测机制, 只要抓取图片并做成字典就可以.
    ctro15547
        4
    ctro15547  
       2018-01-09 08:42:08 +08:00
    不在接口层面上这速度感觉比官方刷票要慢
    MiaSanMia
        5
    MiaSanMia  
       2018-01-09 08:42:30 +08:00 via Android
    留着备用
    deadseven
        6
    deadseven  
       2018-01-09 09:50:20 +08:00
    你这个玩意儿很有用啊,谢谢
    willychester
        7
    willychester  
       2018-01-09 16:44:40 +08:00
    配置文件暴露你的账号密码了 @xiaoshun007
    AndyJia
        8
    AndyJia  
       2018-01-09 21:40:18 +08:00
    @willychester 安全意识很高。。。
    xiaoshun007
        9
    xiaoshun007  
    OP
       2018-01-10 09:12:39 +08:00
    @willychester 那个登录不了
    icefrogisgreat
        10
    icefrogisgreat  
       2018-01-10 09:36:18 +08:00
    现在好想验证码就算选对了,他也显示是错误, 你们试试,看是我的原因 还是大家都是这样
    datou
        11
    datou  
       2018-01-11 15:42:16 +08:00
    指定的 G 字高铁,老给我定 Z 字无座....
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3399 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:15 · PVG 08:15 · LAX 16:15 · JFK 19:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.