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将可以更新群聊列表并返回”,以为找到了武功秘籍,可是现实再次打脸,还是没啥变化。

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

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

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

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

 

转载于:https://www.cnblogs.com/wonder223/p/10640484.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值