大佬来看看我的帖子
import requests
from bs4 import BeautifulSoup
import pandas as pd
import 网页链接 as plt
# 定义爬取函数
def scrape_tickets(start_station, end_station, date):
# 构造请求URL
url = "https://www.12306.cn/index/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=" + date + "&from_station=" + start_station + "&to_station=" + end_station
# 发送请求
response = requests.get(url)
# 解析HTML内容
soup = BeautifulSoup(response.text, "html.parser")
# 提取车次、票价等信息
train_list = soup.find_all("tr")[1:]
data = []
for train in train_list:
train_number = train.find("a").get_text()
ticket_price = train.find_all("td")[3].get_text()
passenger_num = train.find_all("td")[10].get_text()
data.append([train_number, ticket_price, passenger_num])
# 返回爬取到的数据
return pd.DataFrame(data, columns=["Train Number", "Ticket Price", "Passenger Number"])
# 主程序
if __name__ == "__main__":
# 用户输入查询条件
start_station = input("请输入出发地:")
end_station = input("请输入目的地:")
date = input("请输入日期(格式为YYYY-MM-DD):")
# 爬取数据
df = scrape_tickets(start_station, end_station, date)
# 输出数据分析结果
print("爬取到的动车票信息:")
print(#Python#df)
# 绘制票价分布图
df["Ticket Price"] = df["Ticket Price"].str.replace("¥", "").astype(float)
plt.hist(df["Ticket Price"], bins=10, color="skyblue")
plt.xlabel("Ticket Price")
plt.ylabel("Frequency")
plt.title("Ticket Price Distribution")
plt.show()
import requests
from bs4 import BeautifulSoup
import pandas as pd
import 网页链接 as plt
# 定义爬取函数
def scrape_tickets(start_station, end_station, date):
# 构造请求URL
url = "https://www.12306.cn/index/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=" + date + "&from_station=" + start_station + "&to_station=" + end_station
# 发送请求
response = requests.get(url)
# 解析HTML内容
soup = BeautifulSoup(response.text, "html.parser")
# 提取车次、票价等信息
train_list = soup.find_all("tr")[1:]
data = []
for train in train_list:
train_number = train.find("a").get_text()
ticket_price = train.find_all("td")[3].get_text()
passenger_num = train.find_all("td")[10].get_text()
data.append([train_number, ticket_price, passenger_num])
# 返回爬取到的数据
return pd.DataFrame(data, columns=["Train Number", "Ticket Price", "Passenger Number"])
# 主程序
if __name__ == "__main__":
# 用户输入查询条件
start_station = input("请输入出发地:")
end_station = input("请输入目的地:")
date = input("请输入日期(格式为YYYY-MM-DD):")
# 爬取数据
df = scrape_tickets(start_station, end_station, date)
# 输出数据分析结果
print("爬取到的动车票信息:")
print(#Python#df)
# 绘制票价分布图
df["Ticket Price"] = df["Ticket Price"].str.replace("¥", "").astype(float)
plt.hist(df["Ticket Price"], bins=10, color="skyblue")
plt.xlabel("Ticket Price")
plt.ylabel("Frequency")
plt.title("Ticket Price Distribution")
plt.show()