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

一个获取 QQ 好友名单(号码、名称、头像、等级)的方法

  •  2
     
  •   RE · 2016-12-25 16:51:48 +08:00 · 4317 次点击
    这是一个创建于 2919 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看到 @kingphar/t/328072 中问到怎么获取好友名单,其实有一个方法非常简单,本想做个工具,都觉得太麻烦了,直接把方法分享出来吧。

    1. 登录 “我的 QQ 中心”: http://id.qq.com/
    2. 来到 “资料-我的等级” 这页: http://id.qq.com/index.html#mylevel
    3. 打开 Chrome 的 Network 监视(或任意浏览器的监视功能、或抓包工具,都行)
    4. 筛选监视列表中的 qqlevel_rank 页面
    5. 这个页面本身就是个 json 格式的列表,直接保存后要怎么搞都可以啦

    搞定,收工。觉得有用就收藏一下吧 :)
    第 1 条附言  ·  2016-12-26 00:31:51 +08:00

    看到有 V 友说一次只能加载 20 个好友,而且据说,貌似只有 QQ 会员才可以看到?那显然这个方法就不方便了。既然这样,还是写个小工具吧!

    • 基于 C# Winform 编写,利用 WebBrowser 获取登录信息,无需输入帐号密码;
    • 可以导出为 TXT 纯文本;
    • 亲测不管是不是 QQ 会员均可使用;

    项目地址:https://github.com/abosexy/QFriends

    下载后直接运行 bin/debug 目录中的 exe 即可,如果不放心,或者对需求不满足,代码很简单,直接改~
    环境要求 .Net Framework 2.0

    最后,高清无码预览照:

    28 条回复    2016-12-27 16:57:17 +08:00
    RE
        1
    RE  
    OP
       2016-12-25 16:54:54 +08:00
    INW017bzMfgkkYGn
        2
    INW017bzMfgkkYGn  
       2016-12-25 17:10:13 +08:00
    试了 2 个 QQ 号,没发现 qqlevel_rank 这个页面
    RE
        3
    RE  
    OP
       2016-12-25 17:11:59 +08:00
    @default 估计是复制到空格了,完整的 url 是 http://id.qq.com/cgi-bin/qqlevel_rank
    hoythan
        4
    hoythan  
       2016-12-25 18:21:37 +08:00
    QQ 账号没法获取吧?
    RE
        5
    RE  
    OP
       2016-12-25 18:24:52 +08:00
    @hoythan QQ 号码算不算帐号?
    avrillavigne
        6
    avrillavigne  
       2016-12-25 18:54:10 +08:00

    如图。
    just1
        7
    just1  
       2016-12-25 19:03:10 +08:00

    我怎么没有。。
    crab
        8
    crab  
       2016-12-25 19:09:24 +08:00
    JohnLou
        9
    JohnLou  
       2016-12-25 19:17:46 +08:00
    我还以为能获取别人的 qq 好友呢。。
    zchzch1014
        10
    zchzch1014  
       2016-12-25 19:33:40 +08:00
    可是只能获取那一页的 qq 好友名单……
    RE
        11
    RE  
    OP
       2016-12-25 19:42:03 +08:00 via iPhone
    @just1 直接进入这个 url 当然没有。。
    RE
        12
    RE  
    OP
       2016-12-25 19:42:56 +08:00 via iPhone
    @zchzch1014 莫非是好友太多?我 200 多个好友,都在一个 json 一起返回的啊
    RE
        13
    RE  
    OP
       2016-12-25 19:56:44 +08:00
    @avrillavigne 嗯?
    sheldor
        14
    sheldor  
       2016-12-25 20:19:18 +08:00
    试了一下,除了不能一次性获取所有好友的 QQ 号,用起来还是挺方便的
    RE
        15
    RE  
    OP
       2016-12-25 20:24:54 +08:00
    @sheldor 能不能说一下好友数量多少?楼上有位朋友也说只返回了第一页,但我 200 多个好友都是一起返回的…
    zchzch1014
        16
    zchzch1014  
       2016-12-25 20:26:45 +08:00
    @RE 只显示 20 个好友……我也不知道怎么回事
    sheldor
        17
    sheldor  
       2016-12-25 20:31:17 +08:00

    @RE 好像一次只有 20 个,要分好几页
    http://id.qq.com/cgi-bin/qqlevel_rank?page_type=1&ldw=*&s=1&n=20&r=*, s 指定排名从第几位开始, n 指定往后排多少位,比如 s=81 , n=20 ,那就返回等级排第 81 到 101 名的好友的 QQ 号, n 最高取 50
    sheldor
        18
    sheldor  
       2016-12-25 20:36:06 +08:00

    s=1 , n=300 ,返回的结果只有 50 个
    kingphar
        19
    kingphar  
       2016-12-25 20:44:32 +08:00 via iPhone
    谢谢楼主,改天去试试:)
    RE
        20
    RE  
    OP
       2016-12-25 20:50:12 +08:00
    @sheldor 唉,那这样就不方便了,还是要做个工具方便一些,就是觉得这东西需求不是很强,做成工具有点多此一举啊
    sola97
        21
    sola97  
       2016-12-25 21:38:33 +08:00 via Android
    我没看到有等级排名啊..
    fffflyfish
        22
    fffflyfish  
       2016-12-25 22:48:17 +08:00
    @sola97 只有 QQ 会员才能看到。。。
    RE
        23
    RE  
    OP
       2016-12-26 00:34:06 +08:00
    直接做成 exe 小工具了,并带有导出功能,详见帖子 append 部分。

    @default @just1 @fffflyfish @sola97 @kingphar @sheldor @zchzch1014
    sheldor
        24
    sheldor  
       2016-12-26 18:33:56 +08:00
    @RE 给你提了一个 ISSUE 嘻嘻~Qfriends 已停止工作
    RE
        25
    RE  
    OP
       2016-12-26 18:45:10 +08:00 via iPhone
    @sheldor 是 Windows 7 系统吗?登录账号之后出现的?
    sheldor
        26
    sheldor  
       2016-12-26 18:50:03 +08:00
    @RE 是的 64 位
    buir
        27
    buir  
       2016-12-27 00:01:50 +08:00
    64 位 秒退 呵呵~
    RE
        28
    RE  
    OP
       2016-12-27 16:57:17 +08:00
    @buir 我的开发环境就是 64 位的,应该是和楼上同一个 bug ,目前已修复。

    @sheldor 因为我的 Win 7 环境没有 VS ,找了半天才定位到问题,是因为用正则提取 cookie 中 ldw 的值没写好,如果 ldw 在 cookie 的最后一位就匹配不到,所以就玩坏了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2720 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:44 · PVG 17:44 · LAX 01:44 · JFK 04:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.