买到春节回家的票了吗?用Python刷票,还不快来试试!(建议收藏) 为回家做准备...

点击上方 "程序员小乐"关注, 星标或置顶一起成长

每天凌晨00点00分, 第一时间与你相约

每日英文

Don't worry too much about the ambiguous future, just make effort for explicit being present.

不要为模糊不清的未来过分担忧,只为清清楚楚的现在奋发图强。

每日掏心

不要总是觉得自己长的很丑,智商太低,生活会一直穷困下去,因为如果你这样感觉,那么这些就会成为事实,跟你如影随形。

来自:公众号 机器之心 | 责编:乐乐

程序员小乐(ID:study_tech)第 721 次推文   图片来自网络

往日回顾:阁下可知文言编程之精妙?文言文亦能编程!此诚年度最骚语言也,数天6K星

   正文   

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

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

欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。

欢迎各位读者加入程序员小乐技术群,在公众号后台回复“加群”或者“学习”即可。

猜你还想看

阿里、腾讯、百度、华为、京东最新面试题汇集

探究 Nginx 中 reload 流程的真相

不了解Java反射机制?看这篇就明白了!

漫谈Serverless、微服务、分布式和单体四种主流软件架构

关注「程序员小乐」,收看更多精彩内容

嘿,你在看吗

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究”展开,提出了一种结合数据驱动方法与Koopman算子理论的递归神经网络(RNN)模型线性化方法,旨在提升纳米定位系统的预测控制精度与动态响应能力。研究通过构建数据驱动的线性化模型,克服了传统非线性系统建模复杂、计算开销大的问题,并在Matlab平台上实现了完整的算法仿真与验证,展示了该方法在高精度定位控制中的有效性与实用性。; 适合人群:具备一定自动化、控制理论或机器学习背景的科研人员与工程技术人员,尤其是从事精密定位、智能控制、非线性系统建模与预测控制相关领域的研究生与研究人员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能预测控制;②为复杂非线性系统的数据驱动建模与线性化提供新思路;③结合深度学习与经典控制理论,推动智能控制算法的实际落地。; 阅读建议建议读者结合Matlab代码实现部分,深入理解Koopman算子与RNN结合的建模范式,重点关注数据预处理、模型训练与控制系统集成等关键环节,并可通过替换实际系统数据进行迁移验证,以掌握该方法的核心思想与工程应用技巧。
基于粒子群算法优化Kmeans聚类的居民用电行为分析研究(Matlb代码实现)内容概要:本文围绕基于粒子群算法(PSO)优化Kmeans聚类的居民用电行为分析展开研究,提出了一种结合智能优化算法与传统聚类方法的技术路径。通过使用粒子群算法优化Kmeans聚类的初始聚类中心,有效克服了传统Kmeans算法易陷入局部最优、对初始值敏感的问题,提升了聚类的稳定性和准确性。研究利用Matlab实现了该算法,并应用于居民用电数据的行为模式识别与分类,有助于精细化电力需求管理、用户画像构建及个性化用电服务设计。文档还提及相关应用场景如负荷预测、电力系统优化等,并提供了配套代码资源。; 适合人群:具备一定Matlab编程基础,从事电力系统、智能优化算法、数据分析等相关领域的研究人员或工程技术人员,尤其适合研究生及科研人员。; 使用场景及目标:①用于居民用电行为的高效聚类分析,挖掘典型用电模式;②提升Kmeans聚类算法的性能,避免局部最优问题;③为电力公司开展需求响应、负荷预测和用户分群管理提供技术支持;④作为智能优化算法与机器学习结合应用的教学与科研案例。; 阅读建议建议读者结合提供的Matlab代码进行实践操作,深入理解PSO优化Kmeans的核心机制,关注参数设置对聚类效果的影响,并尝试将其应用于其他相似的数据聚类问题中,以加深理解和拓展应用能力。
### 使用Python实现自动化投 通过 Python 实现自动化的微信投功能通常依赖于 Selenium 或 PhantomJS 等工具来模拟浏览器行为并完成交互操作。以下是具体的技术细节以及其实现方式: #### 工具介绍 Selenium 是一种用于 Web 应用程序测试的开源框架,支持多种编程语言和浏览器环境。它可以通过 WebDriver 控制真实的浏览器实例或者无头模式下的虚拟浏览器(如 PhantomJS)。这使得开发者能够轻松地编写脚本来执行诸如点击按钮、填写表单等复杂的网页交互动作。 #### 安装必要的库 要开始构建一个简单的自动化投系统,首先需要安装 `selenium` 和对应的驱动程序: ```bash pip install selenium ``` 对于不同的浏览器还需要下载相应的驱动文件,比如 ChromeDriver 对应 Google Chrome 浏览器;GeckoDriver 则适用于 Firefox 浏览器。如果计划采用 headless 方式运行,则可以考虑使用 PhantomJS 而无需图形界面的支持[^1]。 #### 基础代码结构 下面是一个基本的例子展示如何设置 WebDriver 并访问目标网站: ```python from selenium import webdriver # 初始化WebDriver对象 driver = webdriver.Chrome() # 如果使用PhantomJS则替换为webdriver.PhantomJS() try: driver.get('http://example.com/vote') # 替换为目标网址 # 查找页面上的特定元素并通过其ID定位到投按钮 vote_button = driver.find_element_by_id('voteButtonId') # 执行点击事件 vote_button.click() finally: driver.quit() # 关闭浏览器窗口 ``` 注意以上仅为示范用途,在实际应用中可能还需处理验证码验证等问题[^2]。 #### 处理复杂情况 当遇到更高级别的防护机制时,例如图片验证码识别或IP封禁策略,就需要引入额外技术手段加以应对。例如借助第三方OCR服务解析图像型验证码,或是定期更换请求源地址规避单一IP频繁访问引发的安全警告。 #### 法律合规提醒 值得注意的是,尽管从技术角度出发探讨此类话题并无不妥之处,但在未经许可的情况下大规模实施自动化投活动可能会违反相关法律法规和服务条款规定。因此建议仅限学习交流目的探索该领域知识,并严格遵守当地法律规范开展任何线上互动行为。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值