1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 10分钟教你用Python玩转微信之抓取好友个性签名制作词云

10分钟教你用Python玩转微信之抓取好友个性签名制作词云

时间:2022-08-07 08:38:17

相关推荐

10分钟教你用Python玩转微信之抓取好友个性签名制作词云

10分钟教你用Python玩转微信之抓取好友个性签名制作词云

01 前言+展示

各位小伙伴我又来啦。今天带大家玩点好玩的东西,用Python抓取我们的微信好友个性签名,然后制作词云。怎样,有趣吧~好了,下面开始干活。我知道你们还是想先看看效果的。

后台登录:

词云:

02 环境准备

Python版本:3.6.0

系统平台:Windows 10 X64

IDE:pycharm

相关模块:

re模块;

itchat模块;

jieba模块;

import matplotlib.pyplot模块;

wordcloud模块;

以及一些Python自带的模块。

03 获取个性签名

首先要做的,当然还是登录微信,获取好友的个性签名啦:

1importitchat

2#先登录

3itchat.login()

4

5#获取好友列表

6friends=itchat.get_friends(update=True)[0:]

7foriinfriends:

8#获取个性签名

9signature=i["Signature"]

10print(signature)

但是获取下来之后我们会发现,有大量的span,class,emoji,emoji1f3c3等的字段:

这是因为个性签名中使用了表情符号,这些字段我们都是要过滤掉的,所以写个正则和然后用replace方法去掉吧。

04 过滤掉emoji表情

这次把相关字段给replace成空格先:

1#获取好友列表

2friends=itchat.get_friends(update=True)[0:]

3foriinfriends:

4signature=i["Signature"].strip().replace("span","").replace("class","").replace("emoji","")#获取个性签名

5print(signature)

然后发现,还是不太妥当:

这里要借助一下re了,写个正则把这些统统干掉:

1#获取好友列表

2friends=itchat.get_friends(update=True)[0:]

3foriinfriends:

4signature=i["Signature"].strip().replace("span","").replace("class","").replace("emoji","")#获取个性签名

5rep=pile("<=.+/>")#正则匹配过滤掉emoji表情,例如emoji1f3c3等

6signature=rep.sub("",signature)

7print(signature)

为了照顾新手朋友,这里直接用了最简单的正则形式,把尖括号两端的直接匹配然后干掉,不过一般不推荐这样干。推荐用这样的表达式rep = pile("[^\u4e00-\u9fa5^]")。关于正则和re大家还是自己去找资料学习吧。然后perfect了:

05 制作词云

接来下用jieba分词,然后制作成词云,在此之前记得安装jieba和wordcloud库。

1#jieba分词

2wordlist_jieba=jieba.cut(text,cut_all=True)

3wl_space_split="".join(wordlist_jieba)

4

5#这里要选择字体存放路径,win的字体在windows/Fonts中

6##如果是中文必须要添加字体路径,否则会显示成框框

7my_wordcloud=WordCloud(background_color="white",width=1600,height=1200,

8font_path='C:\Windows\Fonts\苹方\PingFangBold_0.ttf').generate(wl_space_split)

9

10plt.imshow(my_wordcloud)

11plt.axis("off")

12plt.show()

记得要设置好中文路径哦。

效果图:

06 完整代码

欲获取代码,请关注我们的微信公众号【程序猿声】,在后台回复:pycode02。即可获取。

微信公众号

推荐文章:10分钟教你用Python做个打飞机小游戏超详细教程

推荐文章:10分钟教你用python下载和拼接微信好友头像图片

posted @ -11-27 22:27 短短的路走走停停 阅读(...) 评论(...) 编辑 收藏

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。