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

查快递的 CLI 来辣! pxto!

  •  
  •   icedx · 2015-02-11 00:33:04 +08:00 · 6057 次点击
    这是一个创建于 3603 天前的主题,其中的信息可能已经有所发展或是发生改变。
    其实是只支持CLI, 还不能导入做包使用...
    感谢死月同学 @XadillaX 提供的思路~
    目前仅支持通过拼音选择快递公司

    https://github.com/404neko/pxto

    '''
    pxto.py shunfeng 199683523684
    快递公司: 顺丰速运
    运单号: 199683523684
    状态: 运输中...
    ================================
    [2015-02-10 00:01:27] 快件在 深圳五和集散中心, 正转运至 苏州吴中集散中心
    [2015-02-09 22:57:58] 快件到达 深圳五和集散中心
    [2015-02-09 21:48:35] [深圳吉大金融服务点]快件到达 深圳吉大金融服务点
    按任意键退出...
    '''

    

    示例单号来源于互联网...
    然后仅供学习交流使用, 切勿玩坏...

    BTW: 我一个朋友写的...
    50 条回复    2015-05-13 21:18:13 +08:00
    spacewander
        1
    spacewander  
       2015-02-11 00:34:20 +08:00
    代码在哪里?还有,怎么个玩坏法?
    icedx
        2
    icedx  
    OP
       2015-02-11 00:35:23 +08:00
    @spacewander 要是查询频率太高的话, 某网站的负责人会很生气的...
    XadillaX
        3
    XadillaX  
       2015-02-11 02:11:22 +08:00
    Tab 看着好难受 0. 0
    Perry
        4
    Perry  
       2015-02-11 02:37:05 +08:00
    黑色的背景透到 V2EX 的发帖页面了
    icedx
        5
    icedx  
    OP
       2015-02-11 03:55:46 +08:00
    @Perry 啥意思!
    icedx
        6
    icedx  
    OP
       2015-02-11 03:56:47 +08:00
    @XadillaX 习惯了Tab 分隔随手打的=3= 又Push 了一次把Tab 换掉了
    Sunyanzi
        7
    Sunyanzi  
       2015-02-11 05:37:24 +08:00
    @icedx 快递一百的接口不怎么稳定 ... 可能查不准 ...

    以及这家就是做快递查询的 ... 不用考虑玩坏的问题 ...
    userlogin
        8
    userlogin  
       2015-02-11 08:54:23 +08:00
    @Sunyanzi 只要频率高,同样会玩坏。搜索引擎是干搜索的不也对API免费使用次数和访问频率做限制么。一直消耗他的资源,又不给他带来收益,必然会引发不愉快。
    f0rger
        9
    f0rger  
       2015-02-11 09:14:55 +08:00
    其实只需要单号也能查到的。。。
    先根据单号反查一下快递公司就可以了
    zzNucker
        10
    zzNucker  
       2015-02-11 09:40:25 +08:00
    查个快递你们都这么多花样。
    全是死月半子带坏的。
    yepinf
        11
    yepinf  
       2015-02-11 10:13:06 +08:00
    加个gui 咯
    decken
        12
    decken  
       2015-02-11 10:23:22 +08:00 via Android
    @f0rger 小快递行吗
    tokune
        13
    tokune  
       2015-02-11 10:25:10 +08:00
    kuaidi100 的手机app会自动识别快递公司了
    iannil
        14
    iannil  
       2015-02-11 10:28:35 +08:00
    我擦 你们一个写node版本,一个写python版本,是在呼唤ruby等其他版本出现吗?
    YY
        15
    YY  
       2015-02-11 10:50:50 +08:00
    不是“按任意键退出...”
    而是
    raw_input('Press Enter to exit')

    最好还是去掉这行吧
    icedx
        16
    icedx  
    OP
       2015-02-11 11:47:56 +08:00
    leassy
        17
    leassy  
       2015-02-11 11:48:47 +08:00
    我还以为是PHP写的呢,求PHP版
    halfcrazy
        18
    halfcrazy  
       2015-02-11 12:02:18 +08:00 via Android
    快递一百的接口我记得有一个识别快递公司的接口的。通过这个接口获取快递公司,再配合上单号,可以直接做到快递查询。而且这两个接口都有不需要key的
    yakiang
        19
    yakiang  
       2015-02-11 12:38:38 +08:00
    'youshuwuliu': '优速快递' ............
    yakiang
        20
    yakiang  
       2015-02-11 12:45:21 +08:00
    另外一个 ems 就对应了那么多家快递?
    hezhile
        21
    hezhile  
       2015-02-11 13:00:12 +08:00
    Pxto takes exactly 2 arguments
    建议改为
    Pxto requires 2 arguments
    icedx
        22
    icedx  
    OP
       2015-02-11 13:11:52 +08:00
    @Sunyanzi 我记得快递API 的就这一家 另外一家是聚合数据的...

    @f0rger
    @tokune 这个还在看... 毕竟90 多家呢...
    icedx
        23
    icedx  
    OP
       2015-02-11 13:16:41 +08:00
    @zzNucker 半子!

    @YY 已修改: )

    @halfcrazy http://www.kuaidi100.com/auto.shtml 貌似是这个 不过识别率不高的样子...

    @yakiang Dict 是根据kuidi100 官网的数据用正则生成的... 还没细看, 感谢w

    @hezhile 已修改: )
    icedx
        24
    icedx  
    OP
       2015-02-11 13:20:00 +08:00
    @iannil 帮我找Y 来辣~



    @Y
    invite
        25
    invite  
       2015-02-11 13:49:53 +08:00
    还是kuaidi100那个啊,有没有直接从快递网站上拿的?
    hezhile
        26
    hezhile  
       2015-02-11 15:46:49 +08:00
    @icedx 我在github上修改了一下,增加一个判断,如果用户输入的快递公司名字不在列表里面的话,就提示错误。
    icedx
        27
    icedx  
    OP
       2015-02-11 17:41:49 +08:00
    @invite 那样没法过验证码...
    icedx
        28
    icedx  
    OP
       2015-02-11 17:43:26 +08:00
    @hezhile 不太友好 我觉得 我在设计一个能通过单猜快递公司的函数 我计划下一步是: 如果用户输入的快递公司名字不在列表里面的话, 就通过单号进行猜...
    XadillaX
        29
    XadillaX  
       2015-02-11 17:51:25 +08:00
    果然 v2 里面 pythoner 比 noder 多多了,相较之下我那边就冷清多了 -。 -
    icedx
        30
    icedx  
    OP
       2015-02-11 19:06:57 +08:00
    @XadillaX Node 还在发展阶段... 用的人少也是可以理解的吧
    jedyu
        31
    jedyu  
       2015-02-11 19:25:07 +08:00
    jedyu
        32
    jedyu  
       2015-02-11 20:19:17 +08:00
    jedyu
        33
    jedyu  
       2015-02-11 20:22:10 +08:00
    XadillaX
        34
    XadillaX  
       2015-02-11 20:27:11 +08:00
    @jedyu 不需要他的接口,每个快递公司都有自己单号的一个正则的。

    问题在于,比如 12 位数字的话有 N 个快递公司,你要一个个去查。用程序并发的话我上次 IP 就被封了。
    jedyu
        35
    jedyu  
       2015-02-11 20:31:10 +08:00
    @XadillaX 有多个的让再多选一次,总比自己去记些拼音好。
    我上快递100,看有个请求可以查到,就随手写下,没研究过正则这些
    XadillaX
        36
    XadillaX  
       2015-02-11 20:37:43 +08:00
    @jedyu 实际上我以前实现了,然后查了一次被封之后我就去掉这个功能了。
    Bluek404
        37
    Bluek404  
       2015-02-11 20:57:45 +08:00
    @XadillaX 看了下官网的源码
    可以用
    http://www.kuaidi100.com/autonumber/auto?num=单号
    来获取快递公司信息
    XadillaX
        38
    XadillaX  
       2015-02-11 20:58:58 +08:00
    @Bluek404 参照我在 34 和 36 楼的回复。真要识别无需接口,我有每个公司的正则,实际上快递 100 也是根据这个判断的。
    Bluek404
        39
    Bluek404  
       2015-02-11 21:01:24 +08:00
    @XadillaX 刷新刷新之后发现已经发过了= =
    无视我吧
    qianlifeng
        40
    qianlifeng  
       2015-02-12 00:40:46 +08:00
    凑个热闹,来个Wox版本
    icedx
        41
    icedx  
    OP
       2015-02-12 02:40:39 +08:00
    @XadillaX 猬毛不用Kuaidi100 的单号查询公司的API?
    icedx
        42
    icedx  
    OP
       2015-02-12 02:41:21 +08:00
    @qianlifeng 好快wwwww
    qianlifeng
        43
    qianlifeng  
       2015-02-12 09:42:06 +08:00   ❤️ 1
    @qianlifeng python cli都有了,包装一下给wox用so easy~
    XadillaX
        44
    XadillaX  
       2015-02-12 10:30:54 +08:00   ❤️ 1
    @icedx 因为实际上我已经拿到了它提供的每个公司的单号正则,自己就能解析了,何必多一次请求。

    所以都说了单号解析之后会有很多公司符合,这样还不如没有。人家可以任性是因为接口本来就是人家的,爱查几次查几次,我们查多了会被哔哩哔哩。
    icedx
        45
    icedx  
    OP
       2015-02-12 11:49:43 +08:00
    @XadillaX 23333 果然会返回多个结果么w
    halfcrazy
        46
    halfcrazy  
       2015-02-12 15:13:52 +08:00
    其实可以提供一个省缺模式,不指定快递公司时,取匹配的第一个。
    XadillaX
        47
    XadillaX  
       2015-02-12 16:19:14 +08:00   ❤️ 1
    @qianlifeng 那我也来凑个热闹好了:

    makry
        48
    makry  
       2015-02-16 09:58:48 +08:00
    插个快递你们也玩这么多花样。。深井冰啊啊啊~
    icedx
        49
    icedx  
    OP
       2015-02-16 14:00:50 +08:00
    @makry =。=
    josephok
        50
    josephok  
       2015-05-13 21:18:13 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3113 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 91ms · UTC 13:21 · PVG 21:21 · LAX 05:21 · JFK 08:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.