要过年了,最新的12306实时监控抢购车票软件已经写好了,这多亏我Python学的好

Python 3.0 实现定时时监控12306 火车票 Python 3.0 实现定时时监控12306 火车票 本文章内容将完整发表在公众号: 程序员开发者社区, 欢迎关注,后台回复:资源,有惊喜! 王小涛同学的 2015年的已经不好用了,在其基础上改了改 这里提供个 2016的 可以在python3.0 环境下运行的: 看代码: import urllib.requ... 阅读详情

 目录

一、效果展示

二、代码详解

1 导入库

2 确定好购票基本信息

3 登录12306

4 模拟滑动滑块

5 处理疫情特殊要求

6 点击购票并填写出发地、目的地、出发时间

7 锁定车票

         三、实现监控购买

         注意

         环境

         代码


大家有没有这种感觉,一到国庆、春节这种长假,抢火车票就非常困难?各大互联网公司都推出抢票服务,只要加钱给服务费就可以增加抢到票的几率。有些火车票代售网点和一些加速买票软件,说你只要给100元服务费就可以优先帮忙抢到票。

本文和你一起探索抢票软件背后的原理。

一、效果展示

自动买火车票

在正式进入代码讲解之前,先来看下本文的实现效果。

如果不是为了演示效果,直接在最后确定阶段加一个延时点击确定,应该不到45秒可以锁定一张票,只要在30分钟之内付款即可。

二、代码详解

本小节会详细解锁抢票软件是如何模拟登录网站,进行自动买票的。为了更清晰地给大家展示,部分代码没有写成函数,直接裸代码运行,让需要买票的朋友可以自己应用软件进行购票。

1 导入库

首先导入本文需要加载的库,如果你有些库还没有安装,导致运行代码时报错,可以在Anaconda Prompt中用pip方法安装。

1

2

3

4

5

6

7

8

9

10

11

  1. ###########################

  2. Python学习交流Q群101677771

  3. ###########################

import json

import time

from captcha import *

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support import wait

from selenium.webdriver.common.keys import Keys

from selenium.common.exceptions import NoSuchElementException

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.support import expected_conditions as EC

#导入库

2 确定好购票基本信息

导入库后,在python代码中填写你购票的基本信息。

1

2

3

4

5

6

7

8

9

purpose = 'ADULT'               #购买成人票,如果是学生票,需调整代码

names = ['谢朝阳']              #填写购票人姓名

date = '2021-09-21'             #填写购票日期

start_station = '深圳'          #购票出发站

end_station = '长沙南'          #购票目的站

password = '11234567xyz'        #登录12306的秘密

username ='xiezhaoyang122700'   #登录12306的账号

trains = ['G1004', 'G80', 'G6028', 'G6182', 'G6016']  #你想买的班次

#填写基本信息

本文预订的是2021年9月21日从深圳到长沙南的高铁票,你可以根据自己的实际需要进行调整。由于有些班次的时间过早或过晚,买了也很不方便,所以可以在trains中挑选出你满意的班次进行购票。在这里需要提醒大家,我之前在尝试代码时碰到的坑,那就是时间中如果有个位数要在前面填0。比如2021年9月2日,你在填写购票日期date时要写成'2021-09-02',否则在运行代码时日期总是填不进去。

3 登录12306

确定好购票的基本信息后,就可以应用python模拟登录12306了,代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

options = webdriver.ChromeOptions()

options.add_argument("--disable-blink-features=AutomationControlled") 

browser = webdriver.Chrome(options=options)

browser.maximize_window()

login_url = '中国铁路12306'

#ticket_url = '中国铁路12306'

browser.get(login_url)

time.sleep(0.5)

wait.WebDriverWait(browser, 5).until(EC.element_to_be_clickable((By.CLASS_NAME,'login-hd-account'))).click()

input_name = browser.find_element_by_id('J-userName')

input_pd = browser.find_element_by_id('J-password')

input_name.send_keys(username)

input_pd.send_keys(password)

login

火车票查询系统(一)——利用python实现监控12306余票查询 最近春运高峰,本人从12月开始买过年回家的火车票,然鹅~现实总是那么残酷,放票时间记不住,要么就是不能实时盯着刷票,外面的软件也不知道靠不靠谱,反正是没买到票,所以一怒之下,自己做一个12306余票查询系统,可以实现以下一些功能: 1. 设置目标位置进行查询余票 2. 通过设定条件监控到余票后进行12306账号登录 3. 12306登录及图片识别(自动登录功能) 4. 自动下单功能 5. 邮件通知... 阅读详情

相关推荐

【Python大神教你 】实现12306余票监控

前言 由于经常会遇到没票等现象,所以需要使用软件进行抢票,但由于一些软件有优先级问题,对于不舍得花钱的我来讲,并不是很好的体验,所以想自己尝试写一个类似的功能。 环境/插件 Python3.6 urllib(用于请求数据) smtplib(发送邮件) 文件目录 GrabTicket文件夹 city.py(12306城市) GrabTicket.py(入口文件...

2789

12306火车票Python爬虫:余票实时监控与抢票逻辑实现

f"二等座:{ticket['second_seat']} 一等座:{ticket['first_seat']} 硬座:{ticket['hard_seat']}")print(f"🎉 抢票成功!'BJP': '北京', 'SHH': '上海', 'GZQ': '广州', 'SZH': '深圳','CQH': '重庆', 'CDQ': '成都', 'WHN': '武汉', 'NJH': '南京','HZH': '杭州', 'XAH': '西安', 'CSQ': '长沙', 'ZQ': '郑州'

2201_76125261的博客 40

出行省钱!Python爬虫监控12306车票,自动抢票+短信提醒(2025可用)

登录环节:滑块验证码识别是关键,ddddocr适配2025年12306验证规则;监控环节:控制查询频率(≥30秒),避免IP封禁;下单环节:检测到余票后立即提交,短信提醒避免错过支付。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2076

监控火车票余票

监控火车票余票,有票就提醒,支持邮件 声音 弹窗提醒

黑马Java第二阶段:JavaWeb(笔记)

黑马Java第二阶段:JavaWeb(笔记)

chen的博客 5654

STM32—时钟树(结合系统时钟函数理解)

时钟树的概念: 我们可以把MCU的运行比作人体的运行一样,人最重要的是什么?是心跳! 心脏的周期性收缩将血液泵向身体各处。心脏对于人体好比时钟对于MCU,微控制器(MCU)的运行要靠周期性的时钟脉冲来驱动,而这个脉冲的始源往往是由外部晶体振荡器提供时钟输入,最终转换为多个外部设备的周期性运作。这种时钟“能量”的传递路径犹如大树的养分由主干流向个分支,因此称为时钟树。 STM32时钟: 在STM32...

肥宅快乐博客 1万+

DEMATEL-ISM模型的Python实现——方法介绍以及代码复现

本文参考文献与网络资料,对DEMATEL-ISM方法做了介绍何步骤描述,并给出Python代码进行了计算和绘图。

cros1的博客 2万+

噪声整形与过采样实战:从N-bit ADC到DSM的SQNR优化指南

本文深入探讨了噪声整形与过采样技术在DSM(Delta-Sigma调制器)中的应用,重点分析了量化器位数(N)、滤波器阶数(L)和过采样率(OSR)对SQNR优化的影响。通过实战案例和参数协同优化策略,帮助工程师在音频处理和通信系统设计中实现更优的信号质量。

weixin_42561040的博客 339

git clone出现fatal: unable to access Failed to connect to github.com port 443: Timed out解决方案

本文主要介绍了git clone出现fatal: unable to access Failed to connect to github.com port 443: Timed out解决方案,希望能对使用git的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 23万+

【OpenClaw从入门到精通】第20篇:OpenClaw实战—从零搭建教育自动化助教系统(作业批改+智能答疑+学情分析)【2026实测】

本文基于OpenClaw开源框架,聚焦教育行业“答疑重复、批改耗时、学情模糊”三大核心痛点,提供从环境部署到功能落地的全流程实操方案。通过整合QQ群交互、代码分析、数据可视化等技能,构建“智能答疑+作业批改+学情分析”的自动化助教系统。系统支持7×24小时群聊答疑、多语言作业自动评审、学情数据周报生成,经实测可使助教工作时间减少60%、作业批改效率提升5-10倍、学情问题识别提前5周。文中包含完整配置步骤、可直接运行的代码示例及避坑指南,兼顾新手入门与进阶实操,帮助教育工作者快速落地自动化工具,从重复劳动中

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1450

YOLO11实战优化:暗光环境检测 | 引入Retinex增强模块与YOLO11联合训练,解决夜间/低照度场景抓拍痛点

本文探讨了暗光环境下目标检测的技术挑战与解决方案。研究发现,传统CNN模型在低照度条件下性能显著下降,主要由于光子数减少导致信噪比降低、目标特征被噪声淹没。针对这一问题,文章提出将可微分光照增强模块嵌入YOLO检测器的技术路线,重点分析了Retinexformer+YOLO11联合方案的优势。 文章对比了YOLO系列模型在暗光场景的表现,指出YOLO11凭借其C3k2模块、无锚检测头和多任务统一骨干网络,在低对比度图像特征提取方面优于前代产品。同时详细介绍了Retinexformer的理论基础和技术创新,包

2601_95807009的博客 206

电子技术课程设计:声音音量峰值检测显示系统设计

本文介绍了声音音量峰值检测显示系统的设计方案。系统采用分立元件设计,不使用单片机和集成运放,包含电源模块、声音采集放大电路、峰值检测保持模块、比较器、A/D转换及显示控制等部分。麦克风信号经两级晶体管放大后,通过二极管-电容电路检测峰值并保持,再经A/D转换显示为数字值(0000-9999)。系统采用9V电池供电,包含启动/清除控制功能,能指示声音过低或过高状态。详细阐述了各模块电路设计、参数计算和仿真验证,并提供了完整的原理图和PCB布线方案。该系统实现了声音峰值电压的准确检测与数字显示功能。

huanghm88的专栏 256

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: Python实现多个视频合成视频的功能你知道吗
下一篇: 医院WIFI哪家强?利用Python脚本无限恶搞女友电脑
Python编程_可乐
博客等级 码龄6年 917粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值