我最近想用 python 来监控 QQ 好友的在线状态的变化情况,比如上线了就发邮件,离开了也发邮件。。。
但问题来了,我找了很久,也没有相关的 API 可以返回 QQ 好友的在线状态,请问各位大佬能指教一下吗?
1
4396NeverBeSlave 2017-06-13 15:19:02 +08:00
有个网页版的 qq 可以试试,还有手机 3gqq,不知道还能用不了
|
2
iyangyuan 2017-06-13 18:27:00 +08:00
api 简单,cookie 比较难处理
|
3
flyz 2017-06-13 19:00:52 +08:00 via Android
隐身这个算离线?
|
6
kylinking 2017-06-13 20:15:53 +08:00 via iPhone
写过一 QQ 空间爬虫,获取好友信息的时候可以获取到登录状态。
|
7
changwei 2017-06-13 20:18:29 +08:00 via Android
之前 github 上见过一个高科技,安卓模拟器定时截图加 ocr 识别聊天窗口顶上的在线状态,而且好像就是 V2EX 的人发的
|
8
akaayy 2017-06-13 20:19:16 +08:00 via Android
现在还有人研究这个啊………
已经没意义了吧 |
10
yzc27 OP @changwei 哈哈哈那个我知道,不过我的脚本主要在 linux 上跑,为了个这个还特意装个模拟器装安卓,这样效率堪忧啊
|
12
kylinking 2017-06-13 21:13:04 +08:00 via iPhone
@yzc27 https://kylingit.com/blog/qq-空间爬虫之获取好友 / 参考这篇文章,主要看 online 字段。项目地址是 https://github.com/kylingit/QQSpider。定时获取一次应该能满足需求吧。
|
14
duan602728596 2017-06-13 23:42:12 +08:00 via iPhone
这个其实是可以的,用的是 smartQQ 的端口。我之前写过监控的机器人,群里发指定消息,就返回指定的信息。
|
15
yzc27 OP @duan602728596 但是我只是想知道某个 qq 好友目前的在线状态而已,有这方面的 api 吗?
|
16
lany 2017-06-14 00:43:42 +08:00 via Android
先写一个登录,然后利用 http://find.qq.com/ 抓包网址,抓取 "stat" 后面数值是 1 就是在线
|
18
jy02201949 2017-06-14 08:37:03 +08:00
网上 QQ bot 好像都能完成这个功能吧,都是通过抓网页版 QQ 完成的
|
19
duan602728596 2017-06-14 13:05:19 +08:00
http://www.scienjus.com/webqq-analysis-1/
你看看这个吧,现在很多 qq 机器人都是基于网页版 QQ 即 smartQQ 的协议来写的。 无论是好友状态,还是群状态,都是用 uin 获取的,uin !== 群号或者 QQ 号,还要通过 uin 查找详细信息。接口真的很麻烦 |
20
yzc27 OP @duan602728596
是的是的,我之前有研究过、用过这个接口 http://d1.web2.qq.com/channel/get_online_buddies2?vfwebqq=\#{vfwebqq}&clientid=53999199&psessionid=\#{psessionid}&t=0.1 但企鹅太恶心了,api 经常变动,现在这个 api 不再返回在线好友了,所以我才上来问的 |
21
duan602728596 2017-06-14 20:14:03 +08:00 via iPhone
@yzc27 只能根据 uin 多次查询了
|
22
yzc27 OP 最基本要求是能区分“在线”,“离线”,“离开”这三种状态就行了。当然假如能区分到究竟是手机在线还是电脑在线则更棒!
上面各位仁兄提到的接口,貌似只能提供在线和离线两种状态,没有“离开”这种状态。 |
23
chowkim 2019-03-16 17:59:51 +08:00
现在查在线用哪个接口比较好呀?
|