Python中国社区  »  Python

用Python刷票,还不快来试试!

Python网络爬虫与数据挖掘 • 2 月前 • 62 次点击  

来源:机器之心   参与:路雪、王淑婷   链接:

https://mp.weixin.qq.com/s/hcNw2DOrg4Edh_RK4zUT9w


每年春节来临之际,抢票成了所有在外游子的必刷 boss。今天,你抢到票了吗?没有的话,快来试试这个程序!


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


又是一年春运高潮来临,抢票回家成了老大难题。除了 12306 官网和官方 APP,各种第三方抢票软件也是层出不穷。就算朋友圈没被抢票小程序刷屏,聊天群也被刷了吧?


然而,春运的火爆,光靠这些小程序还是难以满足大家的要求。小编第一天抢票时,看着放票的瞬间,所有票种都变成红色时就明白了这个道理(哭)……机器之心小编们的日常问好都由「你吃了吗?」变成「你抢到了吗?」== 抢票之难,难于上青天……


这一点,通过票圈的画风,可见一斑↓↓


吐槽风



跪求加速风



不过!小编今天很开心,因为今天,我们看到了一个有趣的项目。在大家「嗷嗷待票」的关键时刻,这个智能抢火车票的项目可真是雪中送炭~


GitHub 用户 testerSunshine 创建了一个买火车票的项目「12306 购票小助手」,它可以加速买票的过程。


该项目自诞生以来,创建者一直在更新,及时解决用户遇到的问题,更新日志中最近更新显示「增加预售踩点查询下单,经测试,误差在 0.004s」。下面我们来看该项目的具体细节。


思路


先来看一下该程序的思路图:



执行


该程序使用 Python 创建,支持版本为 2.7.10 - 2.7.15。


依赖


依赖库包括:用来对付 12306「刺激」验证码的图像识别工具(该 repo 中推荐使用若快);项目依赖包 requirements.txt。


按照如下命令安装项目依赖包:


pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt


项目使用说明


  • 需要配置邮箱,可以配置可以不配置,配置邮箱的格式在 yaml 里面可以看到 ex

  • 提交订单验证码哪里依赖打码兔,所以如果是订票遇到验证码的时候,没有打码兔是过不了的,不推荐手动,手动太慢

  • 配置 yaml 文件的时候,需注意空格和遵循 yaml 语法格式


使用帮助


  • 测试邮箱是否可用

  • 测试下单接口是否可用,有两个下单接口,随便用哪个都 ok

  • 如果下载验证码过期或者下载失败的问题,应该是 12306 封 ip 的策略,多重试几次,12306 现在封服务器(阿里云和腾讯云)ip 比较严重,尽量不要放在服务器里面


项目开始


  • 服务器启动:

  • 修改 config/ticket_config.yaml 文件,按照提示更改自己想要的信息

  • 运行根目录 sudo python run.py,即可开始

  • 由于新增对时功能,请务必用 sudo,sudo,sudo 执行,否则会报权限错误。windows 打开 ide 或者 cmd 请用管理员身份执行 python run.py,不需要加 sudo


  • 如果你的服务器安装了 docker,那么就可以 docker 启动

  • docker build -t dockerticket .

  • docker run dockerticket python run.py &

  • 本来是可以直接 Dockerfile 启动的,但不知道为什么启动不了,如果有大佬看到问题所在,欢迎提出


目录对应说明


  • agency - cdn 代理

  • config - 项目配置

  • damatuCode - 打码兔接口

  • init - 项目主运行目录

  • myException - 异常

  • myUrllib - urllib 库


希望大家能够在抢票的时候看到类似下图这样的好消息~



PS. 项目创建者说了,该项目不能用于商业用途哦~


PSS. 鉴于以前遇到过的情况,大家可小心点用别把程序整崩了哟~重点是,希望这个项目能够给大家带来启发,各位码农们可以有样学样自己研究出程序就更好了哟~毕竟,授人以鱼不如授人以渔。


学习Python就关注:datanami


近期文章:

  1. Python人脸合成术

  2. 坑爹的Python陷阱

  3. 30个有关Python的小技巧

  4. Python 实现多线程下载器

  5. Python 2 即将停止支持!


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/8EAjEyqMVr
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/27505
 
62 次点击  
分享到微博