用Python获取了微信好友数据,进行可视化分析发现~_python获取微信好友列表

文末有福利领取哦~

👉一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。img

👉二、Python必备开发工具

img
👉三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
img

👉 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
img

👉五、Python练习题

检查学习结果。
img

👉六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
img

img

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

itchat.auto_login(hotReload=True)

其中hotReload=True的作用是,在短时间内获取数据不需要重复进行登陆验证。

02 获取好友数据

Itchat库的get_friends()功能可以获取所有好友的数据。但是它获取的数据类型是一种Itchat类型,因为没我们要用正则来提取数据,所以要将数据转化成字符串类型,代码如下:

all_friends = str(itchat.get_friends())

此时,我们就可以开始对数据进行提取了,这里我们提取的是好友个性签名、好友性别、好友所在省份和地市,这四个数据来进行可视化展示。代码如下:

#签名
Signature = re.findall("'Signature': '([\u4e00-\u9fa5].*?)',",all_friends)
c = 0
for i in Signature:
   with open(r'签名.txt','a') as f:
       try:
           f.write(i)
       except:
           pass
#统计性别数量
Sex = re.findall("'Sex': (.*?),",all_friends)
man = woman = other = 0
for i in Sex:
   if i == '1':
       man+=1
   elif i == '2':
       woman+=1
   else:
       other+=1
#省份和城市数据
shengfens = re.findall(r"'Province': '(.*?)',",all_friends)
chengshis = re.findall(r"'City': '(.*?)',",all_friends)
#绘制朋友省份分布地图
shengfen = []
for i in range(len(shengfens)):

   if shengfens[i] == '':
       pass
   else:
       shengfen.append(shengfens[i])
# 绘制河南省内朋友分布图
chengshi = []
for i in range(len(chengshis)):
   if shengfens[i] == '河南':
       chengshi.append(chengshis[i])

02 可视化展示

我们一共获取了973个好友的数据,下面对这些数据,来进行数据可视化展示。

01 签名词云可视化

通过对所有好友的个性签名进行词云可视化,我们发现,努力、生活、时间、世界、没有这几个词语最多,看来我的好友大多倾向于跟这些词汇相关的事情。

图片

代码如下:

with open("签名.txt",) as f:
   job_title_1 = f.read()
job_title_2 = re.sub('span','',job_title_1)
job_title_3 = re.sub('class','',job_title_2)
job_title_4 = re.sub('emoji','',job_title_3)
job_title_5 = re.sub('自己','',job_title_4)
job_title_6 = re.sub('回复','',job_title_5)
# job_title_7 = re.sub('位于','',job_title_6)
contents_cut_job_title = jieba.cut(job_title_6)
contents_list_job_title = " ".join(contents_cut_job_title)
wc = WordCloud(stopwords=STOPWORDS.add("一个"), collocations=False,
              background_color="white",
              font_path=r"K:\苏新诗柳楷简.ttf",
              width=400, height=300, random_state=42,
              mask=imread('xin.jpg', pilmode="RGB")
              )
wc.generate(contents_list_job_title)
wc.to_file("推荐语.png")

02 性别数量图

通过对好友性别进行可视化,我们发现,我们有男性好友543人,女性好友318人,还有112人没有填写这项信息。

图片

03

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值