首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

利用Python爬取微信好友信息

上班族必备的通讯工具之一——微信,大家或许并不陌生,大家有没有像我一样,随着工作领域的扩展,微信里的朋友也越来越多,慢慢的,朋友圈分组也会越来越乱?肯定有吧,今天我就用脚本来把你的加入的群聊、微信朋友(包括昵称、性别、所在城市地区、个性签名)翻个底朝天。

首先利用python来实现的话用到的是itchat这个开源接口,通常:

利用缓存模式cache_path扫码登录,然后chats()获取好友信息,并利用friends方法返回统计信息。

接着再进一步进行爬取。

一、头像获取

爬取用户头像:

get_friends获取到朋友信息之后,根据UserName来获取用户头像,并write到img目录下。

二、头像拼接

将获取到的头像利用shuffle方法进行随意拼接排序:利用文件处理模块os指定img目录下所有的文件,math.sqrt()开平方根计算每张小图片的宽高以及计算出每行的图片数,Image.ANTIALIAS方法将图片高质量的进行缩小,最后利用paste方法将所有头像进行拼接。拼接完成之后保存成一张总体图片。

所有照片合成一张all.png,如下:

三、性别统计

itchat.login()登录获取好友信息,根据Sex字段判断性别,1 代表男性(man),2 代表女性(women),3 未知(unknown)

四、获取签名

为了进一步分析我的好友大致都有什么特征,我把好友的个性签名一起抓取,分析制作成词云。个性签名是保存在 Signature 这个 key 中,由于有些签名包含些表情,最初抓取会变成 emoji、span、class 等等这些无关的词。所以需要先替换掉,另外,还有类似 /= 之类的符号,也需要写个简单的正则替换掉,再把所有拼起来。

五、生成词云

抓取整理了签名的数据,接下来就是制作出词云。这里使用的是 wordCloud 来进行词云的制作。词云的制作我定义了一个:create_word_cloud() 函数,完整代码如下:

六、用到的模块

欢迎大家的支持与关注

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190412A0CT8R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券