12306车票可视化画廊
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 安装 @user_5b017466/mytraintickets
技能介绍
解决什么问题
12306 购票成功后,邮箱里会收到大量邮件——正常出票、改签、退票记录混杂,手动整理既耗时又易漏。这个项目将购票邮件解析为结构化数据,自动生成可视化车票画廊,支持按日期分组、状态筛选和隐私脱敏,让历史车票一目了然。
如何工作
核心流程分为三个阶段:
- 邮件获取:支持两种方式——本地
.eml文件(通过邮件客户端导出)或自动登录邮箱下载。自动下载需配置邮箱地址、IMAP 服务器和授权码,例如 QQ 邮箱填imap.qq.com。 - 数据解析:从邮件中提取车次、日期、乘客姓名、票价等字段,智能处理改签/退票状态——退票记录自动删除并在原票上标记,改签新票保持正常显示。跨年邮件(12月发、1月乘车)会自动补齐正确年份。
- 可视化生成:生成 HTML 画廊,蓝票(G/D/C 高铁动车)和红票(普速列车)两种风格,支持相册/幻灯片浏览、按年份/状态/车型/乘客筛选,退票/改签有水印标记,移动端自适应。
配置集中在 config.py,包含邮件路径、IMAP 信息、姓名白名单/黑名单和脱敏开关 NAME_MASK。运行 pipeline.py 一键生成结果,已获取过邮件可加 --skip1 跳过重复下载。
适用边界与注意点
- IMAP 同步限制:多数邮箱默认只同步最近 30-60 天邮件,若车票时间跨度大,需先在邮箱设置中将同步范围调整为"全部邮件",否则远程模式只能读到少量数据。
- 隐私保护:姓名脱敏默认关闭,开启后将最后一个字替换为
*,适合分享场景。 - 部署分享:生成的
visualize/index.html可上传至问卷星 AI 主页生成外链,方便手机查看。 - 依赖环境:需 Python 环境执行解析和生成,结果仅依赖标准库和 HTML 模板,无额外服务依赖。
使用场景
- 积攒了多年 12306 购票邮件,想把所有车票整理成按日期分组的时间线画廊
- 收件箱里出票、退票、改签记录混杂,需要区分正常票并在原票上标记退改状态
- 想把生成的车票画廊部署成外链,在手机和平板上给家人翻看历史行程
- 车票涉及多人姓名,分享前需要将姓名末字替换为 * 做脱敏处理
适合人员
- 习惯用邮箱归档 12306 购票邮件、想可视化回顾多年出行轨迹的旅行爱好者
- 负责全家订票、想为家人整理一份共享车票档案并脱敏分享的人
- 在博客或内部演示中讲解 12306 邮件结构化解析流程的开发者
- 车票记录跨越多年、邮箱只同步近期邮件、需要先调整 IMAP 同步范围再抓取的用户