V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yzc27
V2EX  ›  问与答

QQ 好友在线状态 API 的问题

  •  
  •   yzc27 · 2017-06-13 14:35:25 +08:00 · 3428 次点击
    这是一个创建于 2718 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我最近想用 python 来监控 QQ 好友的在线状态的变化情况,比如上线了就发邮件,离开了也发邮件。。。

    但问题来了,我找了很久,也没有相关的 API 可以返回 QQ 好友的在线状态,请问各位大佬能指教一下吗?

    第 1 条附言  ·  2017-06-15 10:04:19 +08:00
    最基本要求是能区分“在线”,“离线”,“离开”这三种状态就行了。当然假如能区分到究竟是手机在线还是电脑在线则更棒!
    24 条回复    2019-03-16 18:21:58 +08:00
    4396NeverBeSlave
        1
    4396NeverBeSlave  
       2017-06-13 15:19:02 +08:00
    有个网页版的 qq 可以试试,还有手机 3gqq,不知道还能用不了
    iyangyuan
        2
    iyangyuan  
       2017-06-13 18:27:00 +08:00
    api 简单,cookie 比较难处理
    flyz
        3
    flyz  
       2017-06-13 19:00:52 +08:00 via Android
    隐身这个算离线?
    yzc27
        4
    yzc27  
    OP
       2017-06-13 20:01:28 +08:00 via iPhone
    @flyz 可以算 l 离线
    yzc27
        5
    yzc27  
    OP
       2017-06-13 20:02:51 +08:00 via iPhone
    @iyangyuan 求可用 api !
    kylinking
        6
    kylinking  
       2017-06-13 20:15:53 +08:00 via iPhone
    写过一 QQ 空间爬虫,获取好友信息的时候可以获取到登录状态。
    changwei
        7
    changwei  
       2017-06-13 20:18:29 +08:00 via Android
    之前 github 上见过一个高科技,安卓模拟器定时截图加 ocr 识别聊天窗口顶上的在线状态,而且好像就是 V2EX 的人发的
    akaayy
        8
    akaayy  
       2017-06-13 20:19:16 +08:00 via Android
    现在还有人研究这个啊………
    已经没意义了吧
    yzc27
        9
    yzc27  
    OP
       2017-06-13 20:36:39 +08:00 via iPhone
    @akaayy 的确不太主流,但还是有业务需要
    yzc27
        10
    yzc27  
    OP
       2017-06-13 20:38:07 +08:00 via iPhone
    @changwei 哈哈哈那个我知道,不过我的脚本主要在 linux 上跑,为了个这个还特意装个模拟器装安卓,这样效率堪忧啊
    yzc27
        11
    yzc27  
    OP
       2017-06-13 20:39:10 +08:00 via iPhone
    @kylinking 能借来参考一下吗?
    kylinking
        12
    kylinking  
       2017-06-13 21:13:04 +08:00 via iPhone
    yzc27
        13
    yzc27  
    OP
       2017-06-13 21:25:02 +08:00 via iPhone
    @kylinking 感激不尽!!!有空我研究一下看看这个 api 还有没有效
    duan602728596
        14
    duan602728596  
       2017-06-13 23:42:12 +08:00 via iPhone
    这个其实是可以的,用的是 smartQQ 的端口。我之前写过监控的机器人,群里发指定消息,就返回指定的信息。
    yzc27
        15
    yzc27  
    OP
       2017-06-13 23:48:11 +08:00 via iPhone
    @duan602728596 但是我只是想知道某个 qq 好友目前的在线状态而已,有这方面的 api 吗?
    lany
        16
    lany  
       2017-06-14 00:43:42 +08:00 via Android
    先写一个登录,然后利用 http://find.qq.com/ 抓包网址,抓取 "stat" 后面数值是 1 就是在线
    yzc27
        17
    yzc27  
    OP
       2017-06-14 07:24:10 +08:00 via iPhone
    @lany 原来还有这个页面,我去尝试一下
    jy02201949
        18
    jy02201949  
       2017-06-14 08:37:03 +08:00
    网上 QQ bot 好像都能完成这个功能吧,都是通过抓网页版 QQ 完成的
    duan602728596
        19
    duan602728596  
       2017-06-14 13:05:19 +08:00
    http://www.scienjus.com/webqq-analysis-1/
    你看看这个吧,现在很多 qq 机器人都是基于网页版 QQ 即 smartQQ 的协议来写的。
    无论是好友状态,还是群状态,都是用 uin 获取的,uin !== 群号或者 QQ 号,还要通过 uin 查找详细信息。接口真的很麻烦
    yzc27
        20
    yzc27  
    OP
       2017-06-14 16:26:09 +08:00
    @duan602728596
    是的是的,我之前有研究过、用过这个接口
    http://d1.web2.qq.com/channel/get_online_buddies2?vfwebqq=\#{vfwebqq}&clientid=53999199&psessionid=\#{psessionid}&t=0.1
    但企鹅太恶心了,api 经常变动,现在这个 api 不再返回在线好友了,所以我才上来问的
    duan602728596
        21
    duan602728596  
       2017-06-14 20:14:03 +08:00 via iPhone
    @yzc27 只能根据 uin 多次查询了
    yzc27
        22
    yzc27  
    OP
       2017-06-15 10:05:52 +08:00
    最基本要求是能区分“在线”,“离线”,“离开”这三种状态就行了。当然假如能区分到究竟是手机在线还是电脑在线则更棒!
    上面各位仁兄提到的接口,貌似只能提供在线和离线两种状态,没有“离开”这种状态。
    chowkim
        23
    chowkim  
       2019-03-16 17:59:51 +08:00
    现在查在线用哪个接口比较好呀?
    yzc27
        24
    yzc27  
    OP
       2019-03-16 18:21:58 +08:00 via iPad
    @chowkim 没了。鹅厂连 webQQ 都关了,更难获得了现在。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3525 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:11 · PVG 08:11 · LAX 16:11 · JFK 19:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.