Illustrations by Dan Gartman

TED,工作中开始因为自学python开始热爱编程,希望结交更多热爱python 的朋友

博客:https://blogs.csdn.net/weixin_40796925

本文作者已加入Python中文社区专栏作者计划

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

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

先放最终结果图

思路

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

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

itchat

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

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

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

#获取登录二维码,扫码登录微信网页版itchat.auto_login()#获取好友信息列表friendList = itchat.get_friends(update=True)

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

#在命令行生成登录二维码itchat.auto_login(enableCmdQR=True)

好友信息处理

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

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

{"City":"","PYQuanPin":"","Province":"","PYInitial":"","Sex":0,'Signature':"",'Signature':"",'NickName':""}

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

for i in contactlist:    if i in contactlist2:        if i not in[contactlist[0],contactlist2[0],empty,emptyM,emptyF]:            common_list.append(i)            count += 1


记录信息

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

with open("record.txt","w") as f:    print(f"你们共有{count}位共同好友(若除性别外其它信息为空,不在此记录),他们分别是:")    f.write(f"你们共有{count}位共同好友,他们分别是:")    for i in display:        print(i)        try:            f.write(i+"")        except:            f.write("该好友信息中含有字符无法识别,请在窗口中查看")

回顾

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

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

代码下载

除了代码外,这里我也将py文件封装成了exe文件来直接下载,这样即使电脑没装python或者你不用python也可以拿来玩了。

后台回复 共同好友 获取代码和程序下载链接。

热 门 推 荐
用Python制作一个猫咪小秒表

爬取豆瓣电影榜单构建知识图谱

用Python获取摄像头并实时控制人脸

用Pandas库实现MySQL数据库的读写
推荐Python中文社区旗下的几个服务类公众号

▼ 点击成为社区注册会员          「在看」一下,一起PY!

用Python查看微信共同好友相关推荐

  1. Python 查看微信共同好友

    Python 查看微信共同好友 思路 itchat 好友信息处理 记录信息 回顾 代码下载 总有思路清奇的朋友存在,想实现查看微信共同好友: 由于之前分享的代码有获取过微信好友头像,所以当时第一反应是 ...

  2. 用 Python 查看微信共同好友,嘿嘿

    今天给大家分享个用 Python 查看微信共同好友的技巧. 总有思路清奇的朋友存在,想实现查看微信共同好友: 由于之前分享的代码有获取过微信好友头像,所以当时第一反应是通过itchat微信接口获取好友 ...

  3. python怎么使用别人的代码_利用Python查看微信共同好友功能的实现代码

    总有思路清奇的朋友存在,想实现查看微信共同好友: 由于之前分享的代码有获取过微信好友头像,所以当时第一反应是通过itchat微信接口获取好友信息,比对两个人的好友信息列表就可以实现了.按理说这么简单的 ...

  4. 骚操作!Python查看微信共同好友

    点击上方"涛哥聊Python",选择"星标"公众号 重磅干货,第一时间送达 来源:TEDxPY 总有思路清奇的朋友存在,想实现查看微信共同好友: 由于之前分享的 ...

  5. Python查看微信共同好友

    总有思路清奇的朋友存在,想实现查看微信共同好友: 由于之前分享的代码有获取过微信好友头像,所以当时第一反应是通过itchat微信接口获取好友信息,比对两个人的好友信息列表就可以实现了.按理说这么简单的 ...

  6. 利用Python查看微信共同好友

    思路 首先通过itchat这个微信个人号接口扫码登录个人微信网页版,获取可以识别好友身份的数据.这里是需要分别登录两人微信的,拿到两人各自的好友信息存到列表中. 这样一来,查共同好友就转化成了查两个列 ...

  7. 利用Python查看微信好友撤回的消息

    效果图如下: 不仅可以查看微信好友撤回的文字消息,如位置.视频.音频.图片等等都可以查看. 直接上源代码: # Python查看微信撤回消息 import re import os import ti ...

  8. python pc微信 接收信息_GitHub - ericadver/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...

    WechatPCAPI 微信PC版的API接口,可通过Python调用微信获取好友.群.公众号列表,并收发消息等功能.可用于二次开发在线微信机器人.微信消息监控.群控软件.开发界面作多个微信控制软件等 ...

  9. python 微信公众号网页接口调用_GitHub - micsem00/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...

    WechatPCAPI 微信PC版的API接口,可通过Python调用微信获取好友.群.公众号列表,并收发消息等功能.可用于二次开发在线微信机器人.微信消息监控.群控软件.开发界面作多个微信控制软件等 ...

最新文章

  1. 用android studio测量距离,Android studio 百度地图开发(6)Marker绑定事件、计算两点距离...
  2. minio安装(包括docker安装)
  3. glib-2.28.6 的编译和安装 以及错误的解决方法
  4. Redis操作Set的相关API
  5. java integer null 0_Mybatis Integer类型参数值为0时得到为空的解决方法
  6. 装机量 2 亿,这款国产物联网操作系统为何是“小而美”?
  7. 勤哲excel 2007服务器 模板分类为空,勤哲Excel服务器20088.7完整企业版
  8. Syndication
  9. js分割字符串的方法
  10. Nginx动静分离经典配置
  11. C# 用户自定义控件添加到工具箱
  12. USB组合设备——带鼠标功能的键盘
  13. 正则表达式—————根据银行卡号判断银行名称
  14. Nginx教程(二) Nginx虚拟主机配置
  15. memset 和 bzero的效率测试。
  16. 小程序容器助力车企抢滩智慧车载新生态
  17. 喜马拉雅-处世人生-老炮儿崔哥侃美国(完结)
  18. 2023美赛春季赛Z题模型代码
  19. Win10 系统安装
  20. 华尔街见闻下操作mysql_GitHub - boshengw-shzq/reainl: 华尔街见闻和新浪财经新闻采集...

热门文章

  1. echarts x轴显示time
  2. 赢在微点答案专区英语_成人高考@赢在技巧
  3. CY7C68013A之keil编译代码
  4. 3D战斗手游战斗系统Demo
  5. 在单文档窗口中添加背景图片
  6. 论ERP顾问的创新分享与专业精神
  7. 使用 satis 搭建一个私有的 Composer 包仓库
  8. CSS 阴影效果(盒子阴影,文字阴影)
  9. 【Navidrome 开源音乐服务器】手把手教你打造属于自己的音乐播放器随时随地想听就听
  10. 算法,16瓶水,有一瓶有毒,假设一只小白鼠喝一滴水,一个小时后会死亡,一个小时找出那瓶有毒的水至少需要几只小白鼠?