通过以下步骤使用 python 爬取火车票情况:使用 requests 库获取火车票信息。使用 beautifulsoup 解析 html 响应提取火车票信息。从解析后的 html 中提取所需信息,如出发地、目的地、时间、票价等。将爬取到的火车票信息存储到数据库、文件或展示在控制台中。
使用 Python 爬取火车票情况
如何使用 Python 爬取火车票情况?
使用 Python 爬取火车票情况可以通过以下步骤完成:
1. 获取火车票信息
立即学习“Python免费学习笔记(深入)”;
使用 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爬取火车票情况的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com