12306提前查北京到长春的春运火车票

简介: 12306上离现在太远的日子的火车查不到,但是接口其实是可以返回的,只是前端上限制了不让查。 通过点击查询按钮进行抓包(F12网络里就可以抓包,也可以通过抓包工具),可以获取到查询的接口以及上行参数。

12306上离现在太远的日子的火车查不到,但是接口其实是可以返回的,只是前端上限制了不让查。

通过点击查询按钮进行抓包(F12网络里就可以抓包,也可以通过抓包工具),可以获取到查询的接口以及上行参数。通过模拟请求、替换指定的上行参数与解析接口返回的数据可以得到指定日子回家的所有符合要求车次,python代码如下(下面代码只对url上行参数中的queryDate参数值进行了替换,from_station和to_station参数值也都可以抓包进行替换掉):

# -*- coding: utf-8 -*-
import requests,json

#入参date format:yyyy-mm-dd
def query_tickets(date):
    s = requests.Session()
    url = "https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate="+date+"&from_station=BJP&to_station=CCT"
    r = s.get(url,verify=False)
    json_r = json.loads(r.content)
    date = " ".join(json_r["data"]["searchDate"].split("  "))
    for ticket in json_r["data"]["datas"]:
        start_station_name = ticket["from_station_name"]
        end_station_name = ticket["to_station_name"]
        train_no = ticket["train_no"]
        short_train_no = ticket["train_no"][0:len(ticket["train_no"])-2]
        for one in short_train_no:
            if one.isupper():
                index = short_train_no.index(one)
                train_no = short_train_no[index:len(short_train_no)]
        start_time = ticket["start_time"]
        arrive_time = ticket["arrive_time"]
        print start_station_name+u""+end_station_name+" "+train_no+" "+date+" "+start_time+" "+arrive_time

if __name__ == '__main__':
    query_tickets("2017-01-25")

脚本中query_tickets方法传入的参数唯一为日期(出发地北京、目的地长春、票类型为成人票三个上行参数值已经写死在了get请求的url中,实际可以抓包替换一下)。上面代码以1月25号为例,运行脚本效果如下:

只是一种思路,不用太认真。实际抢票我已经下载了网易火车票这款app,可以根据上面查询的结果现在选定一下要抢的车次,然后在网易火车票这个app里设置好具有针对性的抢票方案,成功率应该会更大一些。这就是今年我的抢票计划。

 
 
 
 
 
相关文章
云起实验室《半天掌握日志存储》礼品发货公示
活动地址:https://developer.aliyun.com/adc/series/activity/sls-1
|
前端开发 Java 数据挖掘
2021年北京积分落户名单公布了,爬了两个多小时得到了所有数据,有了惊人的发现(附源码)
2021年北京积分落户名单公布了,手痒痒就写了一段Java代码,运行了两个多小时,终于到了所有数据,如下截图:
294 0
2021年北京积分落户名单公布了,爬了两个多小时得到了所有数据,有了惊人的发现(附源码)
|
小程序 搜索推荐
“全国电子无偿献血证”来啦!一键查献血记录还能累积公益时!
“公益时”概念由阿里巴巴在 2019 年发布的《公益时评定标准》中提出,由志愿服务(公益)时和其他类型公益时组成,覆盖了目前国内各个爱心公众线上、线下参与的公益场景或项目。
307 0
“全国电子无偿献血证”来啦!一键查献血记录还能累积公益时!
比早鸟票更早,北京环球度假区提前购票权天猫双11飞猪首发
抢到这个宝贝的人,可以比其他游客提前5天订票。
比早鸟票更早,北京环球度假区提前购票权天猫双11飞猪首发
|
新零售 人工智能 机器人
未毕业,先就业!高职生手握阿里柔军“金名片”被企业疯抢
数字服务业正在带动地方经济和人才就业快速良性发展,让2020年不再难。
未毕业,先就业!高职生手握阿里柔军“金名片”被企业疯抢
|
安全
@武汉人民,请收好这份名单
​1月27日,武汉本地众多商户联合阿里巴巴旗下饿了么口碑、盒马、飞猪等业务,从衣食住行各个角度,为武汉一线医护人员提供安全、高品质的餐品及生活配套服务。首批100家餐厅已准备就绪。
554 0
@武汉人民,请收好这份名单
|
安全
多个旅游网站被挂马 五一假期外出旅游应小心
据瑞星“云安全”系统统计,4月21日,“河南省旅游商品资讯网”、“章丘热线”、“湖湘名店”等网站被黑客挂马,用户访问时需要注意。瑞星安全专家介绍说,由于假期的临近,很多用户选择外出旅游,这也给黑客挂马提供了集中的目标。
1229 0