卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章77360本站已运行440

用python写买火车票的程序

可以使用 python 编写一个程序来购买火车票,具体步骤包括:获取火车时刻表,选择火车,填写乘车信息,发送购票请求,判断是否购票成功,支付。

用python写买火车票的程序

用 Python 购买火车票程序

需求:编写一个 Python 程序,用于购买火车票。

步骤:

1. 导入必要的库

立即学习“Python免费学习笔记(深入)”;

点击下载“修复打印机驱动工具”;

import requests
import json

2. 获取火车时刻表

# 设置请求头以模仿浏览器
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36"
}

# 设置查询参数
params = {
    "from_station": "起点站",
    "to_station": "终点站",
    "date": "出发日期"
}

# 发送请求获取火车时刻表
response = requests.get("https://www.12306.cn/index/index.html", headers=headers, params=params)

3. 解析火车时刻表

# 将响应内容转换为 JSON 格式
data = json.loads(response.text)

# 获取火车信息
trains = data["data"]["trainList"]

4. 选择火车

# 打印火车信息供用户选择
for train in trains:
    print(train["train_no"], train["from_station"], train["to_station"], train["departure_time"], train["arrive_time"])

# 提示用户输入选择
selected_train = input("输入您要乘坐的火车车次:")

5. 填写乘车信息

# 提示用户输入乘车人信息
passenger_name = input("输入乘车人姓名:")
passenger_type = input("输入乘车人类型(成人/儿童):")

# 创建乘客信息字典
passenger_info = {
    "name": passenger_name,
    "type": passenger_type
}

6. 发送购票请求

# 设置请求参数
order_params = {
    "train_no": selected_train,
    "passenger_info": json.dumps([passenger_info])
}

# 发送购票请求
order_response = requests.post("https://www.12306.cn/order/submitOrderRequest.html", data=order_params)

7. 支付

# 判断是否购票成功
if order_response.status_code == 200:
    order_data = json.loads(order_response.text)
    if order_data["result_code"] == 0:
        # 支付订单
        payment_url = order_data["data"]["payment_url"]
        # 打开支付页面让用户完成支付
        webbrowser.open(payment_url)
    else:
        print("购票失败,原因:", order_data["result_message"])
else:
    print("请求失败,状态码:", order_response.status_code)
卓越飞翔博客
上一篇: python抢票程序
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏