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


Posted in Python onApril 24, 2019

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

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

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

先放最终结果图:

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

思路

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

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

itchat

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

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

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

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

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

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

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

好友信息处理

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

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

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

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

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

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

记录信息

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

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

回顾

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

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

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

总结

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

Python 相关文章推荐
Python重新引入被覆盖的自带function
Jul 16 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
Mar 02 Python
Python编程产生非均匀随机数的几种方法代码分享
Dec 13 Python
python使用os.listdir和os.walk获得文件的路径的方法
Dec 16 Python
Python 3.6 读取并操作文件内容的实例
Apr 23 Python
django的登录注册系统的示例代码
May 14 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 Python
python中使用np.delete()的实例方法
Feb 01 Python
Python的Tqdm模块实现进度条配置
Feb 24 Python
numpy数据类型dtype转换实现
Apr 24 Python
python实现飞机大战游戏
Oct 26 #Python
Python3.5面向对象程序设计之类的继承和多态详解
Apr 24 #Python
Python supervisor强大的进程管理工具的使用
Apr 24 #Python
python3爬虫学习之数据存储txt的案例详解
Apr 24 #Python
Python3.5面向对象编程图文与实例详解
Apr 24 #Python
Python对ElasticSearch获取数据及操作
Apr 24 #Python
Python3.5面向对象与继承图文实例详解
Apr 24 #Python
You might like
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
js实现杯子倒水问题自动求解程序
2013/03/25 Javascript
js判断背景图片是否加载成功使用img的width实现
2013/05/29 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
JavaScript判断变量是对象还是数组的方法
2014/08/28 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
python中的decorator的作用详解
2018/07/26 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
flask框架路由常用定义方式总结
2019/07/23 Python
Python socket 套接字实现通信详解
2019/08/27 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
学生会主席就职演讲稿
2014/01/14 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
单身申明具结书
2015/02/26 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js