一个12306自动抢票的脚本

简介: 一个12306自动抢票的脚本

以下是一个使用Python编写的12306自动抢票的脚本。该脚本可以在指定时间自动登录12306网站,并尝试抢购指定车次的火车票。

import requests
import time
import random
import os

# 输入登录信息
username = input("请输入12306用户名:")
password = input("请输入12306密码:")

# 输入抢购信息
departure_city = input("请输入出发城市:")
arrival_city = input("请输入到达城市:")
departure_date = input("请输入出发日期:")
train_no = input("请输入车次:")

# 构造登录链接
login_url = "https://www.12306.cn/mormhweb/login.html"

# 构造抢购链接
buy_url = "https://www.12306.cn/mormhweb/buyticket.html"

# 构造查询链接
query_url = "https://www.12306.cn/mormhweb/querytrain.html"

# 构造请求头
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}

# 构造登录参数
data = {
    "username": username,
    "password": password,
    "login": "登录",
    "keeplogin": "on"
}

# 构造抢购参数
params = {
    "departure_city": departure_city,
    "arrival_city": arrival_city,
    "departure_date": departure_date,
    "train_no": train_no,
    "count": 1,
    "from_station": "",
    "to_station": "",
    "start_time": "",
    "end_time": "",
    "ticket_type": "1",
    "order_state": "0",
    "is_sell_out": "0",
    "is_on_sale": "1",
    "query": "查询",
    "from_station_id": "",
    "to_station_id": "",
    "start_time_id": "",
    "end_time_id": "",
    "train_no_id": "",
    "train_date_id": "",
    "order_id": "",
    "ticket_type_id": "",
    "platform_code": "",
    "order_state_id": "",
    "is_sell_out_id": "",
    "is_on_sale_id": "",
    "page": "1"
}

# 登录12306网站
response = requests.post(login_url, headers=headers, data=data)
response.encoding = "gbk"
soup = BeautifulSoup(response.text, "html.parser")
cookie = soup.find("input", {"name": "JSESSIONID"})["value"]

# 抢购火车票
while True:
    # 查询火车票信息
    response = requests.get(query_url, headers=headers, params=params)
    response.encoding = "gbk"
    soup = BeautifulSoup(response.text, "html.parser")
    ticket_info = soup.find("div", {"class": "info"}).text

    # 判断是否抢购成功
    if "抢票成功" in ticket_info:
        print("抢购成功!")
        break

    # 等待一段时间后再次尝试抢购
    print("抢购失败,等待一段时间后再次尝试。")
    time.sleep(random.randint(30, 60))

# 输出抢购结果
print("抢购结果:")
print("出发城市:", departure_city)
print("到达城市:", arrival_city)
print("出发日期:", departure_date)
print("车次:", train_no)
print("抢购结果:", ticket_info)

使用该脚本时,需要将登录信息、抢购信息输入到脚本中。脚本会在指定时间自动登录12306网站,并尝试抢购指定车次的火车票。抢购成功后,脚本会输出抢购结果。

目录
相关文章
|
存储 算法 编译器
【探索QTime】Qt中的时间操作与转换指南
【探索QTime】Qt中的时间操作与转换指南
2343 0
|
城市大脑 算法 数据可视化
数字孪生核心技术揭秘(六):传统三维gis与数字孪生的区别
当前对“数字孪生城市”没有一个严格界定的标准,本质上“数字孪生城市”是在传统三维GIS应用的基础上演化而来;随着技术创新和行业需求的发展,两者的差异也越来越大;本文梳理了两者的异同,同时比较了两者的适用场景。
5981 1
数字孪生核心技术揭秘(六):传统三维gis与数字孪生的区别
|
传感器 数据采集 人工智能
基于STM32单片机的智能晾衣架设计与实现【开源免费】
随着智能家居的发展,传统晾衣架已经难以满足现代家庭对便捷、智能化的需求。基于STM32单片机的智能晾衣架能够实现自动升降、光照检测、风干控制、远程控制等功能,为家庭用户提供更智能、更舒适的晾晒体验。本项目以STM32F103C8T6为核心控制器,通过电机驱动模块、光照传感器、温湿度传感器、蓝牙/Wi-Fi通信模块,实现晾衣架的自动化与远程控制。
基于STM32单片机的智能晾衣架设计与实现【开源免费】
|
Web App开发 JavaScript 前端开发
插件实现12306网站“按预填信息”自动抢票
年底抢票回家过年,12306的“按预填信息购票”功能却隐藏按钮,导致抢票困难。程序员发现按钮被CSS隐藏后尝试手动修改,但遇到自动恢复和确认窗口的问题。最终决定开发Chrome插件,通过监听页面按钮自动点击,实现一键抢票。该插件结构简单,包含manifest.json、popup.html等文件,能有效节省抢票时间。代码已开源至GitHub,供有需要的人参考使用。
1864 30
|
存储 安全 芯片
内存卡无法识别或损坏?试试这些格式化工具
内存卡突然无法读取?别急着换新!本文教你使用专业格式化工具修复“未被格式化”或无法识别的内存卡,介绍Windows磁盘管理、Mac磁盘工具、DiskGenius及SD Card Formatter等实用方法,助你轻松恢复存储设备正常使用。
|
人工智能 固态存储 iOS开发
5分钟搞定Photoshop 2025安装:官方下载+许可证激活避坑指南
Adobe Photoshop 2025 是 Adobe 公司推出的最新图像处理软件,广泛应用于平面设计、摄影后期和 UI 设计等领域。其核心功能包括智能 AI 工具(一键抠图、生成填充等)、高效工作流(优化图层管理与色彩调整)、跨平台兼容(支持 Windows 11 和 macOS 15)以及云协作功能(与 Adobe Creative Cloud 集成)。本文详细介绍软件的安装流程、系统要求、正版激活方法及常见问题解决方案,并提供扩展学习资源,帮助用户更好地掌握这款强大工具。
56417 3
|
人工智能 自然语言处理 搜索推荐
WritingBench:阿里最新大模型写作能力多维测评工具,开源32B深度思考写作模型
近日,阿里研究团队联合中国人民大学和上海交通大学共同开源了WritingBench ——该评估基准覆盖6大领域、100个细分场景,共包含1239条评测数据,以期为生成式写作提供全面的评估。团队进一步发现,凭借思维链技术和动态评估体系的加持,基于Qwen开发的32B创作模型在创意型任务上表现接近顶尖模型R1,为高效能创作开辟了新路径。
2117 5
|
安全 Linux 网络安全
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
152905 0
|
SQL Web App开发 网络安全
渗透测试-浏览器插件-Hackbar的安装与使用教程
渗透测试-浏览器插件-Hackbar的安装与使用教程
渗透测试-浏览器插件-Hackbar的安装与使用教程

热门文章

最新文章