断断续续地学Python有几个月了,掌握了基本语法,期待一些实战练习,希望将学的Python应用起来,做一些有意思的事情。
于是就有了这个系列,《用Python做一些有意思的事情》,今天是本系列的第一篇,用Python爬取自己的微信朋友。
常言道,欲知其人,先观其友。一个人的社交范围,往往就能体现出他的品性。通过观察一个人朋友的素质,就可以判断出一个人的品德和修养。
你身处什么样的环境,你就会成为什么样的人。
现在人们日常生活基本上离不开微信,但微信不单单是一个即时通讯软件,微信更像是虚拟的现实世界。你所处的朋友圈是怎么样,慢慢你的思想也会变的怎么样。
于是我就拿自己的微信做实验,爬取了自己的微信好友的基本信息,并做了个简单的统计分析。我是什么人,Python告诉你!
一、微信好友性别比例
整体思路:
1、使用Python里的itchat包,调用itchat包中的登陆接口登陆自己的微信,过程中会生产一个登陆二维码,扫码之后即可登陆。
2、登陆成功后,把自己好友的相关信息爬下来
3、遍历好友信息,提取其中的性别信息并各自计数
4、使用Python里的matplotlib包,对统计结果进行数据分析,画出柱状图,结果如下图所示:
数据分析:
这还用分析什么?男多女少,男女比例极不协调,典型的理工科男生的朋友圈,单身这么多年不是没有道理的
二、微信好友个性签名
整体思路:
1、使用Python里的itchat包,调用itchat包中的登陆接口登陆自己的微信,过程中会生产一个登陆二维码,扫码之后即可登陆。
2、登陆成功后,把自己好友的相关信息爬下来
3、遍历好友信息,提取其中的个性签名并保存下来,保存为文本文件
4、使用简单的正则表达式过滤文本,将文本中的emoji和特殊符号等过滤掉,只保留有意义的关键信息
5、引入Python的结巴分词这个包(jieba)来进行分词,将个性签名的一句话分割成多个关键词词组
6、引入Python的词云这个包(wordcloud)来进行画图,将出现频率高的关键词以词云的方式展现出来,结果如下图所示
数据分析:
出现得比较多的关键词:知行合一、优秀、武汉、小时候,这些和我也还是比较相符合的吧,我最近确实打算看知行合一王阳明,在书架上摆了好几个月了,这位微信个性签名是知行合一的朋友,欢迎来交流指导啊哈哈哈哈
以上是不是很有趣呢?是不是又打开了一扇新世界的大门呢?
我微信好友也不是太多,如果微信好友有几千个,可以得到几千条数据,分析一下还是很有价值的。
Python的包实现确实丰富,不需要关注底层的具体实现,只需要研究如何用好Python提供的各种包,用Python的这些包来做上层的应用,来做一些有意思的事情。
请持续关注我吧,后面还会用Python做更多更好玩的事情哦!
领取专属 10元无门槛券
私享最新 技术干货