目录
环境
python3.6
用到的模块:
- requests —–请求12306官网数据
- sched —–定时执行
- email —–构造邮件
- smtplib —–发送邮件
数据解析
首先登陆到12306的余票查询页面,浏览器中按F12到network页面启用监控,然后点击查询

查询出数据可以看到服务器返回一个json文件,文件中就是网页要展示的数据

转到Headers中可以看到请求该文件的链接

看文件链接中参数:
- train_date:车票日期
- from_station:出发地
- to_station:目的地
- purpose_codes:车票种类(成人/学生)
直接访问此链接可以获得json数据,所以访问这个链接应该不需要cookie。所以,用requests发送get请求,然后解析json数据。
格式化此json
{
data: {
flag: "",
map:{
...},
result: [...]
}
}

本文介绍了使用Python3.6监控12306网站火车票余量的方法,通过requests模块获取数据,解析JSON,利用sched进行定时任务,email和smtplib发送邮件通知。详细讲解了数据解析过程,包括从12306的查询接口获取信息,并解析出车次详情。最后,讨论了如何通过screen实现程序后台执行,确保即使关闭命令行程序也能持续监控。
最低0.47元/天 解锁文章
1612

被折叠的 条评论
为什么被折叠?



