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

2018-01-09 07:55:06 +08:00
 xiaoshun007

最近被一直在被微信跳一跳和微信跳一跳的辅助(连某宝都有的卖,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 是一个自动化测试的包,需要依赖浏览器,所以这个抢票必然比不上直接请求,而且不能后台跑,但是毕竟比手动点击要快一些

最后的最后:

已经具备自动订票的功能,代码继续完善中,希望各位大佬提出宝贵意见,如果恰好帮你抢到了回家的票,也是在下的荣幸,此致
4335 次点击
所在节点    分享创造
11 条回复
harry890829
2018-01-09 08:33:22 +08:00
不错不错,晚点看看
lniwn
2018-01-09 08:35:47 +08:00
看介绍类似于自动化测试?
touzi
2018-01-09 08:36:30 +08:00
新闻不是说 80% 的票不需要验证码吗, 还有验证码可以代码识别, 12306 的验证码是每天早上放出来, 然后一整天不会变, 且没有复杂的鼠标移动及按力等检测机制, 只要抓取图片并做成字典就可以.
ctro15547
2018-01-09 08:42:08 +08:00
不在接口层面上这速度感觉比官方刷票要慢
MiaSanMia
2018-01-09 08:42:30 +08:00
留着备用
deadseven
2018-01-09 09:50:20 +08:00
你这个玩意儿很有用啊,谢谢
willychester
2018-01-09 16:44:40 +08:00
配置文件暴露你的账号密码了 @xiaoshun007
AndyJia
2018-01-09 21:40:18 +08:00
@willychester 安全意识很高。。。
xiaoshun007
2018-01-10 09:12:39 +08:00
@willychester 那个登录不了
icefrogisgreat
2018-01-10 09:36:18 +08:00
现在好想验证码就算选对了,他也显示是错误, 你们试试,看是我的原因 还是大家都是这样
datou
2018-01-11 15:42:16 +08:00
指定的 G 字高铁,老给我定 Z 字无座....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/421230

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX