前言

今天带大家玩点好玩的东西,用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("1f\d+\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训练营 朋友圈_项目分享|5步教你用Python制作朋友圈个性签名相关推荐

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

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

  2. python实现秒杀系统_双十一买买买,教你用Python实现秒杀系统

    原标题:双十一买买买,教你用Python实现秒杀系统 简书博客地址: https://www.jianshu.com/u/8f4d80000566 架构搭建是重点,代码或语言实现较简单. 本篇用pyt ...

  3. python内存池机制_看过来啦!教你用Python进行内存管理

    原标题:看过来啦!教你用Python进行内存管理 现在学Python的小伙伴有很多啦!Python语言的发展前景也是有目共睹.小助手今天为大家带来了Python中内存管理的方法,一起来学习一下吧~ P ...

  4. python代码运行助_【分享】中午吃什么,Python摇一摇代码帮助你 | 勤奋的小青蛙...

    中午吃什么是个老问题,闲暇时间写个代码来解决. 代码可以自行修改 权重 数 #coding='utf-8' import random import collections as coll impor ...

  5. 用python写秒杀程序_马上双十一,教你用Python实现秒杀系统

    简书博客地址: https://www.jianshu.com/u/8f4d80000566 大家好,我是老表 阅读文本大概需要 10 分钟 坚持学习很难,养成学习习惯更难 架构搭建是重点,代码或语言 ...

  6. python中国地图程序设计_神级程序员教你用Python如何画一个中国地图!(好好玩)...

    为什么是Python 先来聊聊为什么做数据分析一定要用 Python 或 R 语言.编程语言这么多种, Java , PHP 都很成熟,但是为什么在最近热火的数据分析领域,很多人选择用 Python ...

  7. python 知乎美女_知乎大神教你用Python爬取网站美女图,附代码!

    都知道Python的抓取功能强大,可以帮我们从海量的数据中爬取所需要的进行分析.下面,就给大家分享知乎大神怎么用Python爬取高颜值美女! 1.数据源 知乎话题『美女』下所有问题中回答所出现的图片 ...

  8. python撩妹技能_干货必看 | 手把手教你用Python撩妹

    今天我们不讲专业知识,我们来讲讲,如何用Python做个撩妹小程序,考虑到有些小白没有深入的学习过Python,我给大家整理个初阶小白也可以做出来的程序,画颗爱心. 以下是代码: 1 from tur ...

  9. python成语游戏代码_一件有趣的事:用Python 爬了爬自己的微信朋友,有源代码。...

    原标题:一件有趣的事:用Python 爬了爬自己的微信朋友,有源代码. 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定 ...

最新文章

  1. 操作SQLite数据库
  2. js中的正则表达式入门
  3. ngnix+keepalived 实现N主高可用负载均衡web群集
  4. Unicode编码Linux下的转换
  5. Go的sync.WaitGroup(二):WaitGroup让主程序与协程全部都执行 并且全部执行完成
  6. 2.2.2 MySQL基本功能与参数文件管理
  7. 通过openpctv简单学习opkg安装与生成包的一些过程
  8. nodejs轻量服务器后端
  9. 从源码分析RocketMQ系列-Producer的invokeSync()方法
  10. linux read函数_浅谈Linux内核IO体系之磁盘IO
  11. django进阶03静态文件和模板
  12. 根据指定字段排序编号(SQL Server 2005,Update,Order By)
  13. 如何进行用户访谈更容易获得全面而有效的信息
  14. Linux基础自学记录二
  15. DEL: 扁桃体发炎兼嗓子哑治疗药品
  16. 选PMP培训机构看什么
  17. iMX8 Android SDK 下载
  18. 《信息管理学基础》——娄策群(第二版)第一章答案
  19. 信息服务器在哪里打开,internet信息服务(lls)管理器在哪里打开
  20. InstructGPT高效实践——【DeepSpeed-Chat】源码详解(2/3):Supervised Finetuning、Reward Model Finetuning

热门文章

  1. 曙光服务器bios开启虚拟化支持,中科曙光虚拟化培训教程汇总:3.1 使用针对ESXi的常见LSI 命令行管理工具 v1.0.pdf...
  2. html css重设,typo.css
  3. 城市简码_如何使用简码在WordPress中添加Twitter Bootstrap CSS
  4. 山东商业职业技术学院计算机应用技术代码,山东高考3+2模式11所高校名称及代码,专业及代码...
  5. paper阅读笔记(ABSA)(LCF-BERT):LCF: A Local Context Focus Mechanism forAspect-Based Sentiment Classifica
  6. Gated Mechanism for Attention Based Multi Modal Sentiment Analysis 阅读笔记
  7. 【转】 组合 组合 各种组合
  8. 真假蜘蛛识别php,两招教你轻松识别百度真假蜘蛛(实操教程)
  9. M103: Basic Cluster Administration chapter 0 Introduction学习记录
  10. AB报,开创网上免费看原版报纸的新模式!