danube533
V2EX  ›  互联网

有木有 12306 的 API 呢?

  •  
  •   danube533 · Aug 25, 2015 · 11646 views
    This topic created in 3940 days ago, the information mentioned may be changed or developed.

    能拿到车次数据即可

    13 replies    2016-08-29 11:12:42 +08:00
    lazyclutch
        1
    lazyclutch  
       Aug 25, 2015
    你是要所有的车次吗?

    我这有一个获取每天指定出发站和目的地的车票接口

    https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=2015-09-13&from_station=AOH&to_station=ZEK

    车站的代码是三字码,这儿有个[所有三字码]( http://www.zhujiangroad.com/program/PHP/68787.html )的数组
    danube533
        2
    danube533  
    OP
       Aug 25, 2015
    额,是要拿车次对应的停靠站名
    danube533
        3
    danube533  
    OP
       Aug 25, 2015
    7654
        4
    7654  
       Aug 25, 2015   ❤️ 1
    https://kyfw.12306.cn/otn/czxx/queryByTrainNo?train_no=240000G14109&from_station_telecode=VNP (出发地)&to_station_telecode=AOH (目的地)&depart_date=2015-08-25 (日期)
    火车站名称在这里 https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.8397
    train_no=240000G14109 ,查询列车 G141 ,具体在分析分析吧
    jruif
        5
    jruif  
       Aug 25, 2015 via iPhone
    这个接口不好用,曾经想抓下火车数据,用这个一直报 ssl 错,设置验证证书还是报错…
    iyaozhen
        6
    iyaozhen  
       Aug 25, 2015 via Android
    @jruif 你应该设置不验证证书。

    车次停靠站点的话,“聚合数据”这网站里有
    lazyclutch
        7
    lazyclutch  
       Aug 25, 2015
    @jruif 我是在 ios 端做的,这边需要添加一个方法信任证书,或是不做验证就可以
    lazyclutch
        8
    lazyclutch  
       Aug 25, 2015
    @danube533 给定车次,返回停靠的站?
    cst4you
        9
    cst4you  
       Aug 25, 2015
    我不敢做, 水表爆炸
    danube533
        10
    danube533  
    OP
       Aug 26, 2015
    @lazyclutch 是的,只需要拿到停靠站就行了
    lazyclutch
        11
    lazyclutch  
       Aug 26, 2015   ❤️ 2
    详细的说一下吧:

    1.首先你需要提供一个车次信息,以 D1 次列车为例,在 12306 中有个 js 文件,会将 D1 转换为一个编码,之后内部的查询功能都使用那个代码, D1 会被转换成 24000000D10P ,这个 js 文件的地址是 https://kyfw.12306.cn/otn/resources/js/query/train_list.js?scriptVersion=1.5462 ,因为它实在是很大,每次查询都要读取一遍就不划算了,所以你可以针对自己的项目建个 db ,写个内部小工具,将其解析并导进去。还可以根据车次的区别( D, T, K 之类的)建个索引什么的加快下速度。

    2.然后你可以根据输入的车次得到这个编码了,然后用这个接口: https://kyfw.12306.cn/otn/czxx/queryByTrainNo?train_no=490000Z27201&from_station_telecode=ZBK&to_station_telecode=ZZF&depart_date=2015-08-26
    参数四个: train_no :就是转换过来的编码,然后始发站,到达站,出发日期。就得到一个 json 了,里面有每站的站名,到达时间,开车时间,停车时长,站序号等~
    jisuapi
        12
    jisuapi  
       Nov 25, 2015
    极速数据 api , www.jisuapi.com ,快递 api ,违章查询 api ,各类生活 api ,现在注册 1 分钱免费使用十种数据,在上线初期,截止至 11 月 30 日还有更多充值多少送多少,小伙伴可以来看看,也可以和我们合作。不好意思打扰各位了 本接口提供全国火车 站站查询、车次查询、余票查询等数据查询接口服务。
    jiane
        13
    jiane  
       Aug 29, 2016
    https://www.juhe.cn/docs/api/id/22 , 12306 火车票查询,
    支持车次查询、站到站查询、 12306 实时余票查询、 12306 订票①:查询车次、火车票代售点查询、列车站点列表、站到站查询(含票价)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4214 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 10:12 · PVG 18:12 · LAX 03:12 · JFK 06:12
    ♥ Do have faith in what you're doing.