
使用 Python 爬取火车票情况
如何使用 Python 爬取火车票情况?
使用 Python 爬取火车票情况可以通过以下步骤完成:
1. 获取火车票信息
使用 Python 的 requests 库向火车票查询网站发送请求,获取火车票信息。例如:
import requests url = 'https://www.12306.cn/index/' response = requests.get(url)
2. 解析火车票信息
使用 BeautifulSoup 等库解析 HTML 响应,提取火车票相关信息。例如:
from bs4 import BeautifulSoup
soup = 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 sqlite3
connection = 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}') 以上就是使用python爬取火车票情况的详细内容,更多请关注知识资源分享宝库其它相关文章!







发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。