如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化展示
大前天我们通过Python网络爬虫对朋友圈的数据进行了抓取,感兴趣的朋友可以点击进行查看,如何利用Python网络爬虫抓取微信朋友圈的动态(上)和如何利用Python网络爬虫爬取微信朋友圈动态——附代码(下)。今天小编带大家通过词云去将其进行可视化,具体的教程如下。
1、在Python中做词云,需要用到wordcloud库和jieba分词库,没有安装的伙伴可以直接pip安装即可。
2、之后你可能还需要一些字体,如simhei.ttf等,这些字体在网上都有,可以直接进行下载,在做词云的时候会用得到,如下图所示。
3、在items.py的同级目录下建立analyse.py文件,定义analyse_words方法,用于实现词云可视化,jieba.cut用于得到分词结果,具体的代码实现,如下图所示。因为得到的moment.json数据是以JSON格式存储的,所以需要在该文件中导入JSON模块对其进行解析。
这个地方需要注意一下,由于我们的memoent.json文件中是中文字符,如果在open()函数中没有加入encoding=’utf-8’的话会导致gbk编码错误,记得将编码加上即可。
4、之后运行程序,得到keys.png图片文件,程序运行的效果如下图所示。可以看到keys.png已经在items.py目录下了。
5、双击keys.png,如下图所示。
6、不得不承认,这个词云图片内容确实丰富,不过也十分的丑。小编利用wordart(一个词云网站)将朋友圈数据进行更加美化的可视化。
7、比方说用动物的图案进行可视化,效果图如下图所示。
8、如果直接将数据进行导入的话,wordart会直接将整段话进行可视化,这样显得十分冗余,看上去也不太友好,因此还需要通过Python对数据进行分频统计,之后再导入到wordart中就可以看到想要的效果了。首先,我们需要对json文件进行处理一下,将文本全部导出来,形成一个moment.txt文件。内容如下图所示。
9、编写代码,将文本进行分词,代码实现如下所示。
10、程序运行完成之后,得到的moment_outputs.txt文件,内容如下图所示,可以很清楚的看到分词情况。红色部分是程序运行的过程。
11、继续编写代码,将词频进行统计汇总,代码实现如下图所示。
12、程序运行之后,得到一个txt和Excel文件,里边是关于词频统计的信息,如下图所示。红色部分是程序运行的结果,并没有报错。
13、将这些关键字导入到wordart中进行可视化,如下图所示。
14、设置一下图案、字体、排版、颜色等等,就可以生成绚丽的词云图了,下图是汪星人词云图。
15、下图是小云朵词云图,可以给视觉带来一场饕餮盛宴。
小伙伴们,你们有没有觉得很神奇呢?喜欢的话欢迎收藏和转载噢~~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python 学习资料
昨天整理出了有关 java 方面的学习材料,有读者留言也需要 python 相关的学习材料,正好这两天在整理自己的网盘空间,也发现了不少有关 python 的学习资料,在这里也分享给大家,供大家学习。 一、Python 学习网站 1、Python菜鸟教程 地址如下: http://www.runoob.com/python/python-tutorial.html 该教程对新手非常友好,通俗易懂,而且还有动图展示,也适合当作工具来使用。 2、廖雪峰老师的教程 地址如下: https://www.liaoxuefeng.com/ 廖雪峰老师的教程很不错, 相对来说讲的比较深入, 算是进阶教程, 有讲底层原理, 高级面向对象编程知识, 错误调试,单元测试,多进程,协程,网络编程等高级知识点。 后面还提供了一个16 天的结合 Python 开发 webapp 的实战演练,也是很不错的干货。 3、Python正则表达式指南 网页地址: http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 内容浅显易懂,知识结构清晰,p...
- 下一篇
用java做一个简单的打字游戏
Java也是可以做桌面程序的。只不过需要运行在装有JDK的电脑环境上,所以应用不是很广泛,但是用来提高自身的代码逻辑还是可以的!偶有一天看到金山的打字通,就想起何不做个简单的打字游戏用来练练手。于是就有了下文 首先建一个类MyTyping,只有main方法 运行main方法就可以看到出现屏幕中心出现一个窗体(大小是300*400) 代码逻辑也就思路里那么多。觉得丑的可以自己优化下,个人觉得没必要 OK,出现后就进行下一步 在同一包下新建MyPanel类。继承Panel类 此时运行main方法,窗体上出现了 黑色的字母C。 那接下来,就是要让drawString第一个参数为26个随机字母,第二个参数为不超过300的随机数,第三个参数为不超过400的随机数 改造下: g.drawString(newCharacter((char)(Math.random()*26+97)).toString().toUpperCase(), (int)(Math.random()*300), (int)(Math.random()*400)); 随机数不会的可以自己百度去。。 多次点击运行,可以看...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案