我使用的时间是2023年7月22日,后续12306有可能继续更新,所以这里只是一个分享
首先打开12306的官网
然后随便找一个路线进行查询
f12打开开发者菜单后找到station_name.js?station_versio这个js,
点进去后是这样的
注意我标记的地方,类似于这样的字段其实就是在12306中站点名字的代号,然后我们就可以上代码了:
import requests
import pandas as pd
import datetime
import random
#train_date = '2023-7-23' # 出发日期
start_date = datetime.date(2023, 7, 22)
end_date = datetime.date(2023, 7, 30)
random_date = start_date + datetime.timedelta(days=random.randint(0, (end_date - start_date).days))
train_date = random_date.strftime("%Y-%m-%d")
from_stations = ['BJP', 'VNP', 'BXP', 'IZQ', 'CUW', 'GGQ', 'SHH', 'SNH', 'AOH', 'SXH', 'TJP', 'TIP', 'TXP', 'CCT', 'CRT', 'ICW', 'CNW', 'CDW', 'CWQ', 'FZS', 'FYS', 'GIW', 'GZQ', 'HBB', 'VAB', 'HFH', 'NDC', 'HHC', 'HMQ', 'VUQ', 'HGH', 'HZH', 'JNK', 'JGK', 'LZJ', 'LAJ', 'NCG', 'NJH', 'NKH', 'NNZ', 'SJP', 'SYT', 'SBT', 'WHN', 'WMR', 'EAY', 'XNO', 'ZZF', 'AQH', 'BBH', 'BHZ', 'BIZ', 'BDC', 'BTC', 'BXT', 'CEH', 'IYH', 'CZH', 'DUT', 'DHL', 'DDW', 'DFT', 'DLT', 'RXW', 'ESN', 'FES', 'FJQ', 'FET', 'GBZ', 'GLZ', 'GBQ', 'GZG', 'GBT', 'HKN', 'HMR', 'EUH', 'HSN', 'HXZ', 'RNH', 'JBH', 'JJG', 'JLL', 'JAC', 'JUH', 'JFW', 'JZT', 'KFF', 'KNH', 'UAH', 'LCN', 'LYS', 'LLF', 'LZZ', 'LZD', 'MYW', 'NGH', 'NCW', 'PVD', 'PCW', 'QSW', 'QDK', 'QHX', 'QYS', 'QEH', 'RJG', 'SHD', 'NIW', 'SQF', 'SRG', 'SEQ', 'SYQ', 'SNN', 'SZQ', 'SZH', 'SZN', 'TGP', 'FUP', 'TSP', 'WCN', 'WKK', 'WHH', 'WXH', 'VRH', 'EFQ', 'XKS', 'XMS', 'XFN', 'XCH', 'YWY', 'HAN', 'TWQ', 'NUW', 'YAK', 'YWH', 'YON', 'YUQ', 'AOQ', 'ZBK', 'ZHQ', 'ZIQ', 'ZJH', 'ZEK', 'ADX', 'ARW', 'ARH', 'ALN', 'AXT', 'ASH', 'BWQ', 'BMH', 'BEP', 'BDP', 'BNN', 'BWH', '