Python itchat.get_chatrooms() 抓取群聊不全的问题


1 rooms = itchat.get_chatrooms()
2 f = codecs.open("3.txt","w","utf-8")
3 for room in rooms:
4     f.write(u"{}==={}\n".format(room["NickName"],room["UserName"]))
5 f.close()

     很多地方看到类似上面的示例程序,而且都是说明能抓取到所有的群。

     然而,现实是打脸的,使用这段程序之后,发现只能抓取到最近有人说话的5-6个群,大多数是无法抓取到的。

     后面又看到“其中每个群聊为一个字典 传入update键为True将可以更新群聊列表并返回”,以为找到了武功秘籍,可是现实再次打脸,还是没啥变化。

     到处找文档,某个地方看到一句话"这个方法是抓取本地的通讯录",灵光一闪,是不是和通讯录有关的。

     再到"群设置"里面看看,发现了一个神奇的开关"保存到通讯录",这个开关默认是关闭的。打开这个开关,之后重新执行上面的程序,一个很久没有人

说话的群终于被抓取出来了,看起来问题是解决了。

    个人强烈怀疑,这个是微信后面增加的一个标识,故意这样设定的,造成前面的代码不能正常工作。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM