利用Python查看微信共同好友功能的实现代码

yipeiwu_com5年前Python基础

总有思路清奇的朋友存在,想实现查看微信共同好友:

 

由于之前分享的代码有获取过微信好友头像,所以当时第一反应是通过itchat微信接口获取好友信息,比对两个人的好友信息列表就可以实现了。按理说这么简单的话,应该早有现成的代码了,然而并没有搜到,那正好,拿来练练手!

先放最终结果图:

 

思路

首先通过itchat这个微信个人号接口扫码登录个人微信网页版,获取可以识别好友身份的数据。这里是需要分别登录两人微信的,拿到两人各自的好友信息存到列表中。

这样一来,查共同好友就转化成了查两个列表中相同元素的问题。获取到共同好友信息后,可以通过命令行窗口print出来,也可以写入txt文件。

itchat

tchat是一个开源的微信个人号接口,使用python调用微信从未如此简单——其开发文档 https://itchat.readthedocs.io/zh/latest/

首先是安装itchat模块,例如:pip install itchat

安装完成在代码中通过 import itchat 导入,之后直接调用

 

通过以上两行,就可以拿到好友数据信息了,之后再从中筛选有用的信息进行处理即可。这里有一处感觉特别酷,就是通过enableCmdQR参数在命令行中展示二维码:

好友信息处理

拿到的好友信息是什么样的呢?其实特别有用的并不多,你的微信号和联系方式是拿不到的。

 

而这里的UserName,同一个你在不同的微信号中UserName并不相同。所以,在并没有一个可以特定区分好友的情况下,我们选择获取多组信息来组合拼凑成一个整体,这里我选择了以下数据组成一个字典dict:

 

通过以上一个字典八组数据来代表每一位独立好友信息。接下来在要比较的两组好友信息列表中,进行查重,这里我采用了最笨的遍历方法:

记录信息

由于一些特殊字符因为编码问题无法写入txt文档,我选择既写入txt又同时print出来相结合的方式:

回顾

整个流程下来,涉及到的就是itchat接口的使用、将信息赋值给list、获取两个list公共元素、将信息写入txt文件这四部分。

除了itchat接口获取好友数据看着复杂外,别的都是基础语法。而itchat相关的代码就几行,所以你说,python是不是贼好用?

更多python 相关知识,请关注小编公众号【码农那点事儿

总结

以上所述是小编给大家介绍的利用Python查看微信共同好友功能的实现代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

Python Learning 列表的更多操作及示例代码

遍历列表-for循环 列表中存储的元素可能非常多,如果想一个一个的访问列表中的元素,可能是一件十分头疼的事。那有没有什么好的办法呢?当然有!使用 for循环 假如有一个食物名单列表,通过...

Python 3.x读写csv文件中数字的方法示例

前言 本文主要给大家介绍了关于Python3.x读写csv文件中数字的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 读写csv文件 读文件时先产生str的列...

详解python深浅拷贝区别

详解python深浅拷贝区别

在Python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另一个变量的时候,python并没有拷贝这个对象,只是拷贝了这个对象的引用而已。 浅拷贝:拷贝了最外围的对象本身,...

Python 过滤字符串的技巧,map与itertools.imap

具体的实例 我们需要在目录中遍历,包括子目录(哈哈),找出所有后缀为:rmvb ,avi ,pmp 的文件。(天哪?!你要干什么?这可是我的隐私啊~~) 复制代码 代码如下:import...

Python装饰器限制函数运行时间超时则退出执行

实际项目中会涉及到需要对有些函数的响应时间做一些限制,如果超时就退出函数的执行,停止等待。 可以利用python中的装饰器实现对函数执行时间的控制。 python装饰器简单来说可以在不改...