前言

今天带大家玩点好玩的东西,用Python制作自己朋友圈个性签名的词云,有趣吧~好了,下面开始干活。我知道你们还是想先看看效果的。

环境准备

语言环境:Python 3.6

工具:Pycharm

操作系统:windows or MacOS

用到的扩展库

itchat:用来收集微信相关信息。

jieba:是一个强大的分词库,完美支持中文分词。

matplotlib:Matplotlib 是 Python 的绘图库。它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。它也可以和图形工具包一起使用,如 PyQt 和 wxPython

wordcloud:以词语为基本单位,更加直观和艺术的展示文本的一个小词云生成器

import itchat

import re

import jieba

import matplotlib.pyplot as plt

from wordcloud import WordCloud

from wordcloud import ImageColorGenerator

import numpy as np

import PIL.Image as Image

代码实现

第一步,登录微信并获取签名信息

用 itchat 库登录微信后用 get_friends 方法获取微信朋友全部信息,信息包括:昵称、备注名、性别、地区、个性签名等等。个性签名用的是 Signature 字段,很多我们不需要的我们可以选择性剔除,例如:空格,表情等

signlist = []

itchat.auto_login() #登录微信

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

for i in friends:

signature = i['Signature'].strip().replace('span','').replace('class','').replace('emoji','').replace('n','').replace('"','') #去除无用字符

rep = re.compile("1fd+w*|[<>/=]")

signature = rep.sub('',signature)

signlist.append(signature)

text = "".join(signlist)

分词

简单来说就是将一句话拆分开来,例如【今天也是充满希望的一天】,可以拆分为【今天,也是,充满,希望,的,一天】

#分词

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

word = ",".join(cut)

print(word)

绘制词云

把上面所有的中文分词进行处理,做成词云,选择一张图片作为背景。词云还拥有以下几种属性:背景颜色、最大单词数、画布图片、最大字体数、字体路径(电脑自带)、画布比例等。

然后用 matplotlib 库把图的颜色、分词内容写人并显示出来。

coloring = np.array(Image.open("F:photo.jpg")) # 电脑中自定义词云的图片

my_wordcloud = WordCloud(background_color="white", max_words=2000,mask=coloring, max_font_size=70, random_state=48,font_path='./font/msyh.ttf',scale=2).generate(word) # 定义词云背景图颜色、尺寸、字体大小、电脑中字体选择,random_state 为每个单词返回一个PIL颜色,字体路径,画布比例

image_colors = ImageColorGenerator(coloring)

plt.imshow(my_wordcloud.recolor(color_func=image_colors)) # 绘图颜色

plt.imshow(my_wordcloud) # 绘图内容

plt.axis("off")

plt.show() # 显示图片

保存自己的词云,搞定

d = path.dirname(__file__) # project 当前目录

my_wordcloud.to_file(path.join(d, 'xxx.png'))

总结

区区几十行代码,轻轻松松就可以制作自己朋友圈个性签名的词云,无论是生活还是工作,我们没有理由不去利用编程来大幅度提高自己的效率了。

除此之外,简单的Python技术,还可以在工作和生活中实现许多有趣、实用的功能:

● 比如有人用来做股票分析;

● 有人想转行前端,爬过拉勾网里所有前端职位的招聘需求,然后从中分析出哪些框架要求的多,就专攻那些框架学习,再去去找工作;

● 有人用python轻松爬取千张表情包,再也不怕斗图了;

● 有人观影前爬取某电影的猫眼评论和评分,更准确地从眼花缭乱的评论中分析,大家对这电影打高分或低分的原因,还做成了关键词词云……

Python可以为我们的好奇心买单,通过合理设置爬虫和分析工具,我们的生活会远远比目前看到的更加精彩和多样化。

还没开启Python学习的你,不要再在犹豫中耗尽所有可能!

python设置word背景色_python 绘图的背景颜色不要_项目分享|5步教你用Python制作朋友圈个性签名...相关推荐

  1. python训练营 朋友圈_项目分享|5步教你用Python制作朋友圈个性签名

    前言 今天带大家玩点好玩的东西,用Python制作自己朋友圈个性签名的词云,有趣吧~好了,下面开始干活.我知道你们还是想先看看效果的. 环境准备 语言环境:Python 3.6 工具:Pycharm ...

  2. python itchat 无法登录_项目分享|5步教你用Python制作朋友圈个性签名

    前言 今天带大家玩点好玩的东西,用Python制作自己朋友圈个性签名的词云,有趣吧~好了,下面开始干活.我知道你们还是想先看看效果的. 环境准备 语言环境:Python 3.6 工具:Pycharm ...

  3. python设置word背景色_Python数据可视化:WordCloud入门

    WordCloud是一种很好的展现数据的方式,网上也有不少小工具和在线网页. 但是有些不支持中文,有些安装复杂,所以决定用Python实现. 主要参考官网,通过官网的例子,讲一下WordCloud的制 ...

  4. python设置word背景色_Java 给Word不同页面设置不同背景

    Java 给Word不同 Word文档中,可直接通过[设计]-[页面颜色]页面颜色,通过Java代码可参考如下设置方法: 1. 设置单一颜色 doc.getBackground().setType(B ...

  5. eclipse单独设置html背景色,eclipse代码和背景颜色设置、个性化设置、主题设置

    一.主题设置 我最开始找到的就是这篇实用且快速的主题设置方法,使用了这种方法,主题颜色搭配我不是太喜欢,所以我推荐我介绍的代码和背景颜色设置. 李远5号 当前版本1.0.0 二.个性化设置 个性化设置 ...

  6. Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

    文章目录 前言 一.图片大小的设定和调节 1. 三种调整matplotlib图片大小的方法 1.1 plt.figure(figsize=(n, n)) 1.1.1 代码如下: 1.1.2 输出结果如 ...

  7. VB 设置ListView中指定一行的背景颜色

    代码如下: 'SetListViewBGColor(ListView控件名称,要设置的背景颜色行号,颜色值-默认:&HB6B4FF) Public Sub SetListViewBGColor ...

  8. 使用NPOI设置Excel表的单元格背景颜色

    使用NPOI设置Excel表的单元格背景颜色 2016年12月15日 15:25:01 起个名字真的好难啊 阅读数:15091更多 个人分类: 文件操作 版权声明:本文为博主原创文章,未经博主允许不得 ...

  9. R语言使用plot函数可视化数据、使用pch参数设置数据点的形状、使用lwd参数和bg参数设置数据点边框宽度、背景颜色(仅限于 21到25)

    R语言使用plot函数可视化数据.使用pch参数设置数据点的形状.使用lwd参数和bg参数设置数据点边框宽度.背景颜色(仅限于 21到25) 目录

  10. 用python画小兔子_少儿编程分享:手把手教你用PYTHON编写兔獾大作战(一)

    原标题:少儿编程分享:手把手教你用PYTHON编写兔獾大作战(一) 游戏制作 我们今天要制作的小游戏是Bunnies vs. Badgers (兔獾大作战).游戏中的兔子通过射箭抵御獾的进攻,从而保卫 ...

最新文章

  1. 异步备份和还原数据库:.NET发现之旅(六)
  2. [图]吴恩达AI公司Drive.ai或已找到新买家--苹果
  3. 前沿资讯|Spring Native 0.11.2、Spring Authorization Server 0.2.2 发布
  4. mysq对存在null值的字段排序
  5. sdut-1158 C语言实验——两个数最大
  6. R语言实战应用精讲50篇(二十五)-时空数据统计模型:确定性预测模型
  7. MATLAB插值问题
  8. android bitmap保存本地图片,Android保存View转Bitmap并到本地图库实时更新
  9. java 实现nfa的化简_NFA的实现
  10. 苹果笔记本调整 pycharm 字体大小的地方
  11. web网页打印设计的CSS样式
  12. 电子书下载:Beginning ASP.NET 2.0 and Databases
  13. 选择图层_PS图层之——基本功能详细介绍
  14. Java+opencv+mysql实现人脸识别源码(人脸采集入库+人脸识别相似度)
  15. 中文同义词近义词库 vs 词向量
  16. JAVA数据库访问控制框架设计与使用
  17. html流程svg动画,12款基于SVG的HTML5应用和动画
  18. linux awk判断字符串开头,Linux文件比较三剑客(awk/grep/sed)之awk
  19. 柠檬班学习性能测试day2_性能测试入门(0519)
  20. 双向链表的一个简单的例子

热门文章

  1. 身份证识别仪阅读器读卡器谷歌google chrome网页浏览器WEB二次开发包
  2. 最难忘的一节计算机课,我最难忘的一节课
  3. mongodb插入查询速度测试
  4. 神经网络模型(.pth)能做些什么(使用心得)
  5. python制作qq机器人
  6. 黑盒测试——边界值分析
  7. clickhouse优缺点总结
  8. 《问佛》------------一篇精辟人生哲理短文(转)
  9. Spring Security 密码加密器 Pbkdf2PasswordEncoder 、 BCryptPasswordEncoder
  10. 向淘宝学运营:移动MM速长成