大前天我们通过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、下图是小云朵词云图,可以给视觉带来一场饕餮盛宴。

 

小伙伴们,你们有没有觉得很神奇呢?喜欢的话欢迎收藏和转载噢~~

如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化展示的更多相关文章

  1. 利用Python网络爬虫抓取微信好友的签名及其可视化展示

    前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所 ...

  2. 如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例

    前几天给大家分享了利用Python网络爬虫抓取微信朋友圈的动态(上)和利用Python网络爬虫爬取微信朋友圈动态——附代码(下),并且对抓取到的数据进行了Python词云和wordart可视化,感兴趣 ...

  3. Linux 上的数据可视化工具

    Linux 上的数据可视化工具 5 种开放源码图形化工具简介 Linux® 上用来实现数据的图形可视化的应用程序有很多,从简单的 2-D 绘图到 3-D 制图,再到科学图形编程和图形模拟.幸运的是,这 ...

  4. 数据库——可视化工具Navicat、pymysql模块、sql注入问题

    数据库--可视化工具Navicat.pymysql模块.sql注入问题 Navicat可视化工具 Navicat是数据库的一个可视化工具,可直接在百度搜索下载安装,它可以通过鼠标"点点点&q ...

  5. 如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  6. Windows下Redis安装+可视化工具Redis Desktop Manager使用

    Redis是有名的NoSql数据库,一般Linux都会默认支持.但在Windows环境中,可能需要手动安装设置才能有效使用.这里就简单介绍一下Windows下Redis服务的安装方法,希望能够帮到你. ...

  7. 《利用python进行数据分析》读书笔记--第八章 绘图和可视化

    http://www.cnblogs.com/batteryhp/p/5025772.html python有许多可视化工具,本书主要讲解matplotlib.matplotlib是用于创建出版质量图 ...

  8. 基于Python的交互式可视化工具 [转]

    前几天发现一个可视化工具Dash,当看到它的交互式效果后突然就觉得眼前一亮.早就想写出来分享给大家,今天利用睡前一点时间发出来,希望能给有需要的朋友带来一点帮助或者多一个参考. Dash介绍 在Pyt ...

  9. 【Python代码】TSNE高维数据降维可视化工具 + python实现

    目录 1.概述 1.1 什么是TSNE 1.2 TSNE原理 1.2.1入门的原理介绍 1.2.2进阶的原理介绍 1.2.2.1 高维距离表示 1.2.2.2 低维相似度表示 1.2.2.3 惩罚函数 ...

随机推荐

  1. 2016 10 27 考试 dp 向量 乱搞

    目录 20161027考试 T1: T2: T3: 20161027考试 考试时间 7:50 AM to 11:15 AM 题目 考试包 据说这是一套比较正常的考卷,,,嗯,,或许吧, 而且,,整个小 ...

  2. 【每日一记】unity3d 图片置灰shader

    项目须要.參考了一下网上的资料,写了一个shader,给button置灰. shader详细实现例如以下: 2016.07.25补充,支持mask剪裁 Shader "Transparent ...

  3. Linux socket 编程中存在的五个隐患

    前言:         Socket API 是网络应用程序开发中实际应用的标准 API.尽管该 API 简单,但是   开发新手可能会经历一些常见的问题.本文识别一些最常见的隐患并向您显示如何避免它 ...

  4. Android实现App版本自动更新

    现在很多的App中都会有一个检查版本的功能.例如斗鱼TV App的设置界面下: 当我们点击检查更新的时候,就会向服务器发起版本检测的请求.一般的处理方式是:服务器返回的App版本与当前手机安装的版本号 ...

  5. Service和Servlet的区别

    1. 整体概念 Servlet是Java对于Web开发而产生的一项技术,可以说Servlet技术是Java专有的,它是服务器端的技术,客户端通常是浏览器,Servlet提供了请求/响应模式,是JAVA ...

  6. PyCharm 2017 Mac 免注册版破解安装说明

    PyCharm 2017 Mac 免注册版破解安装说明 下载完成安装包后,双击打开,将左侧拖拽至右侧应用程序,默认安装. 打开软件,在License server address中填入[http:// ...

  7. fill,fill-n,memset的区别

    这里在网上搜集归纳了一个总结 memset函数 按照字节填充某字符 在头文件<string.h>中 因为memset函数按照字节填充,所以一般memset只能用来填充char型数组,(因为 ...

  8. linux驱动编译时候出现的问题

    1.在编译驱动的时候,提示错误,找不到<asm/xxxx.h>这些类的头文件? 答:因为在内核编译的时候,会在内核目录的include中创建一个asm文件再软链接到对应的一些架构.比如我当 ...

  9. 最新linux运维高级架构课13期 架构师课程

    有会员购买的,分享给大家.完整一套,可以学习一下.     ├─L001-2017linux运维高级架构师13期-运维与自动化运维发展-10节 │      1-1运维职业发展.avi │      ...

  10. django-debug-toolbar 使用

    https://pypi.org/project/django-debug-toolbar/ https://django-debug-toolbar.readthedocs.io/en/latest ...