手把手教你用python抢票回家过年(代码简单)

下面是详细的攻略:

手把手教你用Python抢票回家过年

在Python中,我们可以使用requests和BeautifulSoup模块实现抢票功能。本文将手把手教你用Python抢票回家过年的过程,并提供两个示例说明。

实现过程

在实现抢票功能的过程中,我们需要模拟浏览器发送请求,并解析返回的HTML页面。下面是一个简单的示例代码:

import requests
from bs4 import BeautifulSoup

url = "https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2023-01-01&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=SHH&purpose_codes=ADULT"

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.36"
}

response = requests.get(url, headers=headers)
response.encoding = "utf-8"

soup = BeautifulSoup(response.text, 'html.parser')
tickets = soup.select("#queryLeftTable tr[data-train-name]")
for ticket in tickets:
    train_number = ticket.select(".number")[0].get_text()
    start_time = ticket.select(".start-time")[0].get_text()
    end_time = ticket.select(".end-time")[0].get_text()
    print(train_number, start_time, end_time)

在上面的代码中,我们使用requests模块发送请求,并设置请求头部信息。然后,我们解析返回的HTML页面,并提取需要的信息。最后,我们输出车次、出发时间和到达时间。

示例说明

下面是两个用Python抢票回家过年的示例,用于演示其用法:

示例1:查询指定日期、出发站和到达站的车次信息

import requests
from bs4 import BeautifulSoup

url = "https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2023-01-01&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=SHH&purpose_codes=ADULT"

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.36"
}

response = requests.get(url, headers=headers)
response.encoding = "utf-8"

soup = BeautifulSoup(response.text, 'html.parser')
tickets = soup.select("#queryLeftTable tr[data-train-name]")
for ticket in tickets:
    train_number = ticket.select(".number")[0].get_text()
    start_time = ticket.select(".start-time")[0].get_text()
    end_time = ticket.select(".end-time")[0].get_text()
    print(train_number, start_time, end_time)

在上面的代码中,我们查询了2023年1月1日从北京到上海的车次信息,并输出车次、出发时间和到达时间。

示例2:查询指定日期、出发站和到达站的余票信息

import requests
from bs4 import BeautifulSoup

url = "https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2023-01-01&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=SHH&purpose_codes=ADULT"

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.36"
}

response = requests.get(url, headers=headers)
response.encoding = "utf-8"

soup = BeautifulSoup(response.text, 'html.parser')
tickets = soup.select("#queryLeftTable tr[data-train-name]")
for ticket in tickets:
    train_number = ticket.select(".number")[0].get_text()
    start_time = ticket.select(".start-time")[0].get_text()
    end_time = ticket.select(".end-time")[0].get_text()
    left_tickets = ticket.select(".no-br")[0].get_text()
    print(train_number, start_time, end_time, left_tickets)

在上面的代码中,我们查询了2023年1月1日从北京到上海的余票信息,并输出车次、出发时间、到达时间和余票数量。

总结

本文手把手教你用Python抢票回家过年的过程,并提供了两个示例说明。在实际开发中,我们可以根据需要修改请求的URL和请求头部信息,以实现查询不同的车次信息和余票信息。同时,我们还讲解了如何解析返回的HTML页面,并提取需要的信息。在实际应用中,我们可以根据需要选择适当的解析方法,以满足不同的需求。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:手把手教你用python抢票回家过年(代码简单) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • python学习必备知识汇总

    Python是一门十分强大的编程语言,它具有易学易用、高效、开发效率高等特点。要想学好Python,需要掌握一些基本的编程概念和语法知识,以及Python生态中的相关库和工具。以下是Python学习必备知识的详细攻略: 1. Python基础语法 在学习Python之前,先要掌握基础的编程思想和语法规则,比如变量、数据类型、运算符、流程控制、函数、模块等。可…

    python 2023年5月13日
    00
  • Python模块pexpect安装及使用流程

    下面是详细的“Python模块pexpect安装及使用流程”的攻略。在本文中,我们将讨论如何安装和使用Python模块pexpect,以及如何使用它来进行自动化测试。 安装pexpect 在开始之前,确保你已经安装了Python解释器。接下来,我们需要使用pip命令来安装pexpect模块: pip install pexpect 如果命令执行成功的话,你现…

    python 2023年5月14日
    00
  • 跟老齐学Python之复习if语句

    跟老齐学Python之复习if语句 if语句是Python中最常用的控制结构之一。它可以帮助程序员根据某个条件控制程序的执行流程。在这里,我们将回顾一下if语句的基础知识,包括语法,用法和示例。 if语句语法 Python中的if语句语法很简单,它由if关键字,条件表达式和一条或多条语句组成。下面是if语句的基本语法: if condition: # 在条件…

    python 2023年5月20日
    00
  • Python入门_浅谈数据结构的4种基本类型

    Python入门_浅谈数据结构的4种基本类型 在使用Python进行编程时,了解数据结构的基本类型是非常重要的。 Python语言支持以下四种基本类型: 列表(List) 元组(Tuple) 集合(Set) 字典(Dictionary) 列表(List) 定义: 列表是Python中最基本的数据结构之一,可以作为一个有序的序列,内容可以包含不同类型的元素。 …

    python 2023年5月14日
    00
  • python如何实现复制目录到指定目录

    下面是 Python 如何实现复制目录到指定目录的完整攻略。 1. 使用 shutil 模块中的 copytree 函数进行复制 shutil 是 Python 标准库中的一个文件操作库,其中提供了 copytree 函数,可以用于将一个目录的全部文件复制到指定的目录。 以下是一个示例代码: import shutil # 定义源目录和目标目录 src_di…

    python 2023年6月5日
    00
  • Python3自动签到 定时任务 判断节假日的实例

    Python3自动签到 定时任务 判断节假日的实例 本文将详细介绍如何使用Python3实现自动签到功能,同时通过定时任务及节假日API的调用,使其更具实用性。 一、准备工作 在开始编写自动签到脚本之前,我们需要先安装以下两个Python包: requests:用于发送HTTP请求,获取并处理网页内容; APScheduler:用于定时任务的调度。 这两个包…

    python 2023年6月2日
    00
  • 对切比雪夫数列进行积分并设置积分常数的Python程序

    切比雪夫数列是指在数轴上以1为周期,分别在每个周期的端点和周期中点处取值为±1的函数序列。它在数值分析中有着广泛的应用。如果要对切比雪夫数列进行积分,可以通过以下程序实现: import numpy as np def chebyshev_integral(n, a, b, constant=0): """ 计算切比雪夫数列在区…

    python-answer 2023年3月25日
    00
  • 在Python中获取下一个字符代码加1 [重复]

    【问题标题】:Get next character code adding 1 in Python [duplicate]在Python中获取下一个字符代码加1 [重复] 【发布时间】:2023-04-02 23:05:02 【问题描述】: 我有其保持字母的变量。为了有一个具体的例子,让我们假定它是“A”。我有一个while循环,其在一定条件下将(在该情况下…

    Python开发 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部