PHP前端开发

使用python爬取火车票情况

百变鹏仔 4天前 #Python
文章标签 车票
通过以下步骤使用 Python 爬取火车票情况:使用 requests 库获取火车票信息。使用 BeautifulSoup 解析 HTML 响应提取火车票信息。从解析后的 HTML 中提取所需信息,如出发地、目的地、时间、票价等。将爬取到的火车票信息存储到数据库、文件或展示在控制台中。

使用 Python 爬取火车票情况

如何使用 Python 爬取火车票情况?

使用 Python 爬取火车票情况可以通过以下步骤完成:

1. 获取火车票信息

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

使用 Python 的 requests 库向火车票查询网站发送请求,获取火车票信息。例如:

import requestsurl = 'https://www.12306.cn/index/'response = requests.get(url)

2. 解析火车票信息

使用 BeautifulSoup 等库解析 HTML 响应,提取火车票相关信息。例如:

from bs4 import BeautifulSoupsoup = BeautifulSoup(response.text, 'html.parser')trains = soup.find_all('tr', class_='train-list-item')

3. 提取所需信息

从解析后的 HTML 信息中提取所需信息,如出发地、目的地、出发时间、到达时间、票价等。例如:

for train in trains:    departure_station = train.find('td', class_='station-start').text    destination_station = train.find('td', class_='station-end').text    departure_time = train.find('td', class_='departure-time').text    arrival_time = train.find('td', class_='arrive-time').text    price = train.find('td', class_='price').text    print(f'{departure_station} -> {destination_station}: {departure_time} -> {arrival_time}, {price}')

4. 存储或展示火车票信息

将爬取到的火车票信息存储到数据库、文件或直接在控制台中展示。例如:

# 存储到数据库import sqlite3connection = sqlite3.connect('train_tickets.db')cursor = connection.cursor()cursor.execute("CREATE TABLE IF NOT EXISTS tickets (departure_station TEXT, destination_station TEXT, departure_time TEXT, arrival_time TEXT, price TEXT)")for train in trains:    cursor.execute("INSERT INTO tickets (departure_station, destination_station, departure_time, arrival_time, price) VALUES (?, ?, ?, ?, ?)", (departure_station, destination_station, departure_time, arrival_time, price))connection.commit()cursor.close()connection.close()# 在控制台中展示for train in trains:    print(f'{departure_station} -> {destination_station}: {departure_time} -> {arrival_time}, {price}')