我用Python爬取微信好友,最后发现一个大秘密

开发 后端
现在人们日常生活基本上离不开微信,但微信不单单是一个即时通讯软件,微信更像是虚拟的现实世界。你所处的朋友圈是怎么样,慢慢你的思想也会变的怎么样。最近在学习 itchat,然后就写了一个爬虫,爬取了我所有的微信好友的数据。并对其中的一些数据进行分析,发现了一些很有趣的事。

我用 Python 爬取微信好友,***发现一个大秘密

前言

你身处的环境是什么样,你就会成为什么样的人。现在人们日常生活基本上离不开微信,但微信不单单是一个即时通讯软件,微信更像是虚拟的现实世界。你所处的朋友圈是怎么样,慢慢你的思想也会变的怎么样。最近在学习 itchat,然后就写了一个爬虫,爬取了我所有的微信好友的数据。并对其中的一些数据进行分析,发现了一些很有趣的事。

微信好友爬虫

此次的爬虫程序用到的库有很多,其中爬取微信数据用到的事 itchat。需要你先去下安装。安装完成以后,你就可以通过 itchat.login() 这个函数登陆你自己的微信。它回弹出一个网页登陆的二维码,你用手机扫描登陆即可。

然后通过 itchat.get_friends() 这个函数就可以获取到自己好友的相关信息,这些信息是一个 json 数据返回。然后我们就可以根据这些返回的信息,进行正则匹配抓取我们想要的信息,在进行分析。

 
  1. import itchatitchat.login()#爬取自己好友相关信息, 返回一个json文件friends = itchat.get_friends(update=True)[0:] 

我的微信好友的男女比例

我用 Python 爬取微信好友,***发现一个大秘密

观察返回的数据,很容易就可以根据关键字发现性别是存放在一个字典里面,它的 key 是「Sex」,男性值为 1,女性为 2,其他是不明性别的(就是没有填的)。

在代码里我定义了一个函数 parse_friends() 通过一个 for 循环,把获取到的数据通过 for 循环保存到 text 字典里。然后再通过 draw() 函数画出柱状图。柱状图使用的是 plt 库,之前也写过一篇文章,感兴趣的同学可以去查看。

我用 Python 爬取微信好友,***发现一个大秘密

我用 Python 爬取微信好友,***发现一个大秘密

***打印的结果:

我用 Python 爬取微信好友,***发现一个大秘密

不得不多说我微信的 1K 多的好友男女比列非常的不协调,男多女少啊。这让我回想起以前高中一个班 50 个人,女生就 7 个,然后我们班的女生从此就有一个女团称呼「七仙女」。

我的微信好友个性签名的自定义词云图

为了进一步分析我的好友大致都有什么特征,我把好友的个性签名一起抓取,分析制作成词云。

个性签名是保存在 Signature 这个 key 中,由于有些签名包含些表情,最初抓取会变成 emoji、span、class 等等这些无关的词。所有需要先替换掉,另外,还有类似 <>/= 之类的符号,也需要写个简单的正则替换掉,再把所有拼起来,得到 text 字串。

我用 Python 爬取微信好友,***发现一个大秘密

得到的数据***保存到当前目录名为「text.txt」文本中。

我用 Python 爬取微信好友,***发现一个大秘密

分析好友签名的函数我定义成:parse_signature(),完整代码如下:

我用 Python 爬取微信好友,***发现一个大秘密

抓取整理了签名的数据,接下来就是制作出词云。这里使用的是 wordCloud 来进行词云的制作。之前的文章也有介绍过词云的制作,感兴趣的同学可以查看这篇文章。

词云的制作我定义了一个:draw_signature() 函数,完整代码如下

我用 Python 爬取微信好友,***发现一个大秘密

运行上面的代码后得到了如下的图,由于好友数量比较多,我分别找了两张图制作出图云。

我用 Python 爬取微信好友,***发现一个大秘密

我用 Python 爬取微信好友,***发现一个大秘密

努力,奋斗,世界,生活,自己。这些词在我们 1K 多人的好友中出现的最多。大家都非常的优秀,都非常的上进。

我用 Python 爬取微信好友,***发现一个大秘密

我的签名:人生必有痴,而有后成。现在的我痴迷于各种优秀的人,每天都在向他们学习。希望大家一生当中也有痴迷的一面。 

责任编辑:庞桂玉 来源: 今日头条
相关推荐

2022-08-17 11:20:23

Python微信

2021-12-14 15:20:37

Python微信代码

2018-04-27 11:50:15

Python微信好友微信

2018-05-16 09:10:10

Python爬虫微信好友

2021-06-30 23:38:56

Python微信好友

2010-04-15 15:23:41

2017-07-17 09:27:09

Python 爬虫编程

2017-07-12 10:25:17

Python微信itchat 包

2013-07-08 14:42:11

2024-05-06 09:08:52

微软开源Linux

2018-12-04 15:10:56

Python微信备忘录

2022-09-30 13:55:46

Python机器人

2020-05-14 18:25:40

微信移动应用群聊

2021-04-16 11:27:16

Python表情微信

2022-02-28 00:14:30

人工智能数据机器学习

2021-08-01 22:41:07

微信功能技巧

2015-07-27 10:34:55

大数据大忽悠

2017-12-27 14:51:12

Kotlin谷歌Java

2017-08-30 12:17:02

Python王者荣耀套路

2018-06-19 08:02:00

统计程序微信
点赞
收藏

51CTO技术栈公众号