使用python爬取火车票情况

2024-09-27 10:30:12 编辑:抖狐科技 来源:摘自互联网

通过以下步骤使用 python 爬取火车票情况:使用 requests 库获取火车票信息。使用 beautifulsoup 解析 html 响应提取火车票信息。从解析后的 html 中提取所需信息,如出发地、目的地、时间、票价等。将爬取到的火车票信息存储到数据库、文件或展示在控制台中。

使用python爬取火车票情况

使用 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爬取火车票情况的详细内容,更多请关注抖狐科技其它相关文章!

本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢