V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
liyu4
V2EX  ›  分享创造

用 golang 写了一个 12306 查询回家时刻的命令行工具。

  •  
  •   liyu4 · 2017-01-19 12:12:46 +08:00 · 3936 次点击
    这是一个创建于 2901 天前的主题,其中的信息可能已经有所发展或是发生改变。

    #项目是纯 golang 实现的,稍微讲一下步骤

    1. step1:抓取 12306 的包,分析出需要的数据和接口
    2. step2:数据整理
    3. step3:数据展示

    <** 祝大家都早日回家过年 with someone you love **>

    项目地址: https://github.com/JingDa-open-source-community/go-home

    #Querys train schedule use the origin command line tools

    ###output

    第 1 条附言  ·  2017-01-22 14:54:18 +08:00
    第 2 条附言  ·  2017-01-22 14:54:44 +08:00

    更新: 11.gif

    第 3 条附言  ·  2017-01-23 20:45:46 +08:00

    5B0EF953-5C8B-40CC-AAC5-CF53DEE9F65B.png

    第 4 条附言  ·  2017-01-23 20:46:21 +08:00
    新增查询余票功能。还在完善当中。
    第 5 条附言  ·  2017-01-23 20:46:27 +08:00
    新增查询余票功能。还在完善当中。
    24 条回复    2017-01-22 14:52:06 +08:00
    holy_sin
        1
    holy_sin  
       2017-01-19 12:56:38 +08:00
    弄个移动端的应该不错
    coderzys
        2
    coderzys  
       2017-01-19 13:12:16 +08:00 via Android
    可以 很强势
    webjin1
        3
    webjin1  
       2017-01-19 13:56:13 +08:00 via Android
    老乡好
    liyu4
        4
    liyu4  
    OP
       2017-01-19 14:15:06 +08:00
    @webjin1 你好! 你也在上海吗?
    liyu4
        5
    liyu4  
    OP
       2017-01-19 14:16:15 +08:00
    @holy_sin 移动端 不会呢
    liyu4
        6
    liyu4  
    OP
       2017-01-19 14:16:40 +08:00
    @coderzys 谢谢啦!
    chenset
        7
    chenset  
       2017-01-19 14:38:53 +08:00
    菜鸟一只,我刚看完 go 的书, 想学习下楼主的源码.
    go build 书中描述必须针对项目或者指定单文件, 楼主的项目目录是不完整的, 直接编译是失败的.
    不知是否我理解错误.
    liyu4
        8
    liyu4  
    OP
       2017-01-19 14:40:36 +08:00
    @chenset 不会的,项目应该是完整的,不知道你对完整的理解是这么样的?有问题可以加我微信
    chenset
        9
    chenset  
       2017-01-19 14:43:44 +08:00
    @liyu4 源码不是需要放入 src 目录和加入 GOPATH 才能编译吗? 按你的目录结构我使用了两个环境都编译失败了.
    liyu4
        10
    liyu4  
    OP
       2017-01-19 14:52:12 +08:00
    是这样的,所以你要把这个项目放在你的 src 目录下面
    yourpath/src/project
    liyu4
        11
    liyu4  
    OP
       2017-01-19 14:52:27 +08:00
    是这样的,所以你要把这个项目放在你的 src 目录下面
    gopath/src/project
    webjin1
        12
    webjin1  
       2017-01-19 16:29:58 +08:00
    @liyu4 我江西人在广州,
    liyu4
        13
    liyu4  
    OP
       2017-01-19 17:33:08 +08:00
    @webjin1 那边天气好,还有恒大
    heiybb
        14
    heiybb  
       2017-01-19 18:16:53 +08:00
    咦这还是那趟 4775 的车嘛.那天忘了回你了.今天刚打算做个 python 版的=-=
    liyu4
        15
    liyu4  
    OP
       2017-01-19 18:50:26 +08:00 via iPhone
    @heiybb 还是谢谢你,第一版我做好了,献丑了。
    houxg09
        16
    houxg09  
       2017-01-19 20:57:32 +08:00 via Android
    感谢!刚刚做了一个解析 12306 邮件为 iCal 的小玩意儿, 加上这个 api 拿到站时间就齐活儿了~
    liyu4
        17
    liyu4  
    OP
       2017-01-19 20:59:33 +08:00
    @houxg09 是吧,还可以帮助到你,有什么问题我们可以商量!😄
    aristotll
        18
    aristotll  
       2017-01-19 22:18:43 +08:00
    有个问题 车是可能来回的 你这个是怎么解决的啊
    liyu4
        19
    liyu4  
    OP
       2017-01-19 23:05:03 +08:00
    @aristotll 来回的车是不同的 train_no, 接口不一样了。同一辆车回来的时候会变。比如 k1 回来就变成了 k2.
    CRH
        20
    CRH  
       2017-01-20 00:04:29 +08:00 via iPhone   ❤️ 1
    lz 你这个不严谨啊,同一个车次在不同日期的时刻,经停站都可能是不一样的,调图期间尤甚。所以 12306 的车次查询是要选日期的。
    你可以查一下 1 月 24 日和 29 日的 K502 试试
    aristotll
        21
    aristotll  
       2017-01-20 07:56:20 +08:00
    @CRH 给的建议是对的 @liyu4 所以我才提出刚才那个问题

    因为我查了一下我过年回家的车 明显时间不对
    liyu4
        22
    liyu4  
    OP
       2017-01-20 08:11:19 +08:00 via iPhone
    @CRH 可以加日期参数,谢谢提醒。
    liyu4
        23
    liyu4  
    OP
       2017-01-20 08:11:55 +08:00 via iPhone
    @aristotll 恩,回头再加一个参数指定,如果不加就默认当天。
    liyu4
        24
    liyu4  
    OP
       2017-01-22 14:52:06 +08:00
    @aristotll 已更新 请制定日期
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2651 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:36 · PVG 15:36 · LAX 23:36 · JFK 02:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.