# 12306_timetable **Repository Path**: Racosel/12306_timetable ## Basic Information - **Project Name**: 12306_timetable - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-25 - **Last Updated**: 2024-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 本程序仅供学习交流使用,请勿用于商业用途及违法用途,如有侵权请联系删除 #### copyright @Racosel ### 当前版本:20240425 ### 依赖库: 一般情况下,只需要额外安装以下库即可:pandas、 xlsxwriter。 若遇到报错,请根据报错信息安装相应的库。 ### 使用方法: 1. 请先安装Python3 2. 安装依赖库:pip install pandas xlsxwriter 3. 使用timetableQuery.py或其并行版本timetableQueryParallel.py进行查询(请先根据开头的setting注释设置时间范围,本程序支持断点续传,服务器拒绝访问时可以先暂停,过一段时间继续) 4. 使用jsonProcess.py处理服务器返回的json文件,对应生成每一天的csv文件(依旧需要根据setting调整参数) 5. 使用meld.py合并所有csv文件为一个xlsx文件 ### 输出格式: (以下YYYYMMDD为时间格式串,实际文件系统中出现的是对应格式的数字串) 1. 一个xlsx文件,包含所有车次的所有信息(位于./get_datas/merged/YYYYMMDDHHMMSS.xlsx) 2. xlsx文件中包含多个sheet,每个sheet对应一个车次等级,包含该车次等级的所有信息(已经排序) 3. 中间过程获取到的原始json,合并后每天的csv文件位于./get_datas/YYYYMMDD/* ### 潜在问题: 1. 12306的服务器可能会拒绝访问,导致程序无法正常运行(可以稍后再试) 2. 12306的服务器并非实时更新,能购票的临客也可能不会出现在查询结果中 3. 部分车次可能出现了两次:涉及上下行切换时,尽管已经做了一定的去重(meld.py中实现)