V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
danube533
V2EX  ›  互联网

有木有 12306 的 API 呢?

  •  
  •   danube533 · 2015-08-25 10:48:20 +08:00 · 10405 次点击
    这是一个创建于 3166 天前的主题,其中的信息可能已经有所发展或是发生改变。

    能拿到车次数据即可

    13 条回复    2016-08-29 11:12:42 +08:00
    lazyclutch
        1
    lazyclutch  
       2015-08-25 13:28:15 +08:00
    你是要所有的车次吗?

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

    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
       2015-08-25 13:35:46 +08:00
    额,是要拿车次对应的停靠站名
    danube533
        3
    danube533  
    OP
       2015-08-25 13:36:31 +08:00
    7654
        4
    7654  
       2015-08-25 13:57:52 +08:00   ❤️ 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  
       2015-08-25 14:47:41 +08:00 via iPhone
    这个接口不好用,曾经想抓下火车数据,用这个一直报 ssl 错,设置验证证书还是报错…
    iyaozhen
        6
    iyaozhen  
       2015-08-25 15:00:09 +08:00 via Android
    @jruif 你应该设置不验证证书。

    车次停靠站点的话,“聚合数据”这网站里有
    lazyclutch
        7
    lazyclutch  
       2015-08-25 20:04:35 +08:00
    @jruif 我是在 ios 端做的,这边需要添加一个方法信任证书,或是不做验证就可以
    lazyclutch
        8
    lazyclutch  
       2015-08-25 20:49:55 +08:00
    @danube533 给定车次,返回停靠的站?
    cst4you
        9
    cst4you  
       2015-08-25 23:16:44 +08:00
    我不敢做, 水表爆炸
    danube533
        10
    danube533  
    OP
       2015-08-26 10:01:42 +08:00
    @lazyclutch 是的,只需要拿到停靠站就行了
    lazyclutch
        11
    lazyclutch  
       2015-08-26 14:26:02 +08:00   ❤️ 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  
       2015-11-25 11:18:20 +08:00
    极速数据 api , www.jisuapi.com ,快递 api ,违章查询 api ,各类生活 api ,现在注册 1 分钱免费使用十种数据,在上线初期,截止至 11 月 30 日还有更多充值多少送多少,小伙伴可以来看看,也可以和我们合作。不好意思打扰各位了 本接口提供全国火车 站站查询、车次查询、余票查询等数据查询接口服务。
    jiane
        13
    jiane  
       2016-08-29 11:12:42 +08:00
    https://www.juhe.cn/docs/api/id/22 , 12306 火车票查询,
    支持车次查询、站到站查询、 12306 实时余票查询、 12306 订票①:查询车次、火车票代售点查询、列车站点列表、站到站查询(含票价)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3742 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 04:23 · PVG 12:23 · LAX 21:23 · JFK 00:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.