一直很好奇黑盒的抢票软件的怎么实现的,找到一些文章和分析,然后就动手造了一个轮子。
参考了两个 repo 的源码,功能也暂时不是很多,只实现了自动登录,查票和抢票的逻辑。 相比另外两个仓库的话,我的代码层面的层次逻辑自我感觉要清晰一点(求大佬轻拍)..
有兴趣的朋友可以看看,试用一下。
写的很仓促,也就花了几天时间来搞,里面多多少少会有一些 bug,欢迎来提 bug, 建议,pr 等,feature 的话可能得看有没空闲时间,见谅啦
github 的仓库地址: https://github.com/versionzhang/python_12306
2019-01-14:
添加打包生成命令功能,目前处在dev分支,我只简单测试了一下,等稳定之后合并到主分支。
使用方式如下:
pip install git+https://github.com/versionzhang/python_12306@dev
即可安装此项目,项目会生成py12306
命令py12306
运行程序 1
jmy 2019-01-10 21:21:33 +08:00
刚开始跑通了,好奇这个轮子。
关于产品方面:1 暂时不能做到有目标火车票之后自动下单吧?现在设置逻辑是邮件通知,再去下单,这个时间在平时还好,春运期间这点时间即使有余票也大概率被抢走了。 关于代码方面: 之前测试几次可能是真的没有票,后来不断的切换了日期,特意换到有票的日期,搜索出来仍然是没有票。 然后再测试 出现了报错 部分代码是「 AttributeError: 'SeatMapping' object has no attribute 'stationTrainCode'」 |
2
Fris 2019-01-10 21:35:29 +08:00 via iPhone
citys =》 cities
|
3
versionzhang OP 目前是可以自动下单的。。可能里面还有若干 bug 没有排查到。可以在 repo 里面提 issue,log 目录下有 log,可以把出错的异常代码和出错的 log 放上去我去排查一下。。
|
4
versionzhang OP @Fris 多谢更正。。。我待会改一下
|
5
versionzhang OP @jmy 目前是可以自动下单的。。可能里面还有若干 bug 没有排查到。可以在 repo 里面提 issue,log 目录下有 log,可以把出错的异常代码和出错的 log 放上去我去排查一下。。
|
6
versionzhang OP @jmy 或者直接在配置里把 debug 开了,会打印详细的 log 到终端,直接粘贴过来就好了
|
7
jmy 2019-01-10 22:07:57 +08:00
@versionzhang 好的 我再折腾折腾~
|
8
versionzhang OP @jmy 刚改了你遇到的那个 bug,你可以更新一下代码,把生成的几个 pickle 文件删掉,我刚又跑了一下是可以自动下单的。。你再试试
|
9
jmy 2019-01-11 07:54:46 +08:00
@versionzhang 谢谢 我再试下~
|
10
versionzhang OP 有小伙伴试用过么,能否给点反馈意见,😁
|