您当前的位置: 首页 >  Python

嗨学编程

暂无认证

  • 1浏览

    0关注

    1405博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python 获取车票信息

嗨学编程 发布时间:2019-06-26 14:44:33 ,浏览量:1

提示:该代码仅供学习使用,切勿滥用!!!

逻辑:

1.获取Json文件的内容

2.根据信息生成URL

3.获取URL的内容,根据时间进行分析,如果有票则发送邮件,如果没有,则继续监听

1.定义Json文件

内容如下:

{

  "_Nodes" : "定义起始站",

  "from_address" : "成都东",

  "_Nodes" : "定义终点站",

  "to_address" : "遂宁",

  "_Nodes" : "定义车次",

  "departure_date" : "2018-12-30",

  "_Nodes" : "定义时间检查区间",

  "start_time" : "09:00",

  "_Nodes" : "定义时间结束区间",

  "stop_time" : "12:00",

  "_Nodes" : "定义列车类型 [ D:动车 Z:直达 T:特快 K:快速 A:全部 ]",

  "type" : "A",

  "_Nodes" : "定义是否发送邮件 true为发送 false为不发送",

  "send_mail" : "false",

  "_Nodes" : "如果上述定义为true,则下面则定义邮箱的信息包括,SMTP 和 认证信息",

  "mail_smtp" : "smtp.qq.com",

  "user_name" : "to_user@qq.com",

  "user_password" : "password",

  "mail_subject" : "仅仅是为了好玩",

  "_Nodes" : "将信息发送给谁",

  "mail_to_address" : "user1@qq.com;user2@163.com",

  "_Nodes" : "有票时,提示的最大次数,当有间隔时,则重新计数 , 这里最大值为100",

  "send_mail_max" : 3,

  "_Nodes" : "刷新间隔时间,单位:秒",

  "interval_time" : 30

}

2.Python代码处理Json文件并且返回结果

代码如下:

执行的结果如下:

{'from_address':'成都东','to_address':'遂宁','departure_date':'2019-01-04','start_time':'09:30','stop_time':'12:00','type':'D','send_mail':'true','mail_smtp':'smtp.qq.com','user_name':'2081795560@QQ.COM','user_password':'idfqdnnrfjttbjbe','mail_subject':'仅仅是为了好玩','mail_to_address':'2859413527@QQ.COM','send_mail_max': 2,'interval_time': 10}

3.获取站别ID

网址:https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9085

具体内容如下:

通过分析得到,名词的后一位就是站别ID

Python获取站别ID如下:

执行结果如下:

['ICW','NIW']

['成都东','遂宁']

3.获取实际URL

通过分析,我们可以得知,每次请求网页,实际上实在请求一个数据包,例如:

https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date=2019-01-05&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=SHH&purpose_codes=ADULT

我们只需要将数据拼接上就可以了

代码如下:

https://kyfw.12306.cn/otn/leftTicket/queryA?leftTicketDTO.train_date=2019-01-03&leftTicketDTO.from_station=ICW&leftTicketDTO.to_station=NIW&purpose_codes=ADULT

综合代码

关注
打赏
1663681728
查看更多评论
立即登录/注册

微信扫码登录

0.2218s