前言

上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来。

1.环境说明

Win10 系统下 Python3,编译器是 Pycharm,需要安装 itchat、matplotlib、pandas、jieba、wordcloud、numpy、pillow 这几个包

介绍 Pycharm 安装第三方包的方法。

由于某些包不能直接用 Pycharm 安装,所以这里说一下安装的方法。

安装wordcloud

worcloud需要numpy> = 1.5.1,pillow和matplotlib,所以要先安装numpy,pillow和matplotlib。

在这个链接找到合适的whl文件

如果是电脑是64位,python是3.6就下载下面这个。

下载回来就放到Python的目录下,就比如我是把 Python 安装在E:\Python36这个目录,就把下载回来的 wordcloud-1.3.3-cp36-cp36m-win_amd64.whl 放在这。

然后按win键+R ,输入cmd,回车

然后cd 到 Python 目录那

接下来就是安装了,pip install wordcloud-1.3.3-cp36-cp36m-win_amd64.whl

除了这个以外,某一个包需要翻墙才能安装,具体是哪个就不记得了,好像是 pandas。

2.相关代码

先把需要的东西导入,安装这些包可不简单

import itchat

import matplotlib.pyplot as plt

import re, jieba

import pandas as pd

from wordcloud import WordCloud, ImageColorGenerator

import numpy as np

import PIL.Image as Image

登录微信

itchat.auto_login(hotReload=True)

friends = itchat.get_friends(update=True)

获取数据

data = pd.DataFrame() # 提出好友的昵称、性别、省份、城市、个性签名,生成一个数据框

columns=['NickName', 'Sex', 'Province', 'City', 'Signature']

for col in columns:

val = []

for i in friends[1:]: # friends[0]是自己的信息,因此我们要从[1:]开始

val.append(i[col])

data[col] = pd.Series(val)

把个性签名中的 emoji 和别的东西过滤一下

siglist = []

for i in data['Signature']:

signature = i.strip().replace('emoji','').replace('span','').replace('class','')

rep = re.compile('1f\d+\w*|[<>/=]') # 具体含义另行查看

signature = rep.sub('', signature)

siglist.append(signature)

text = ''.join(siglist)

使用结巴分词进行分词,用 matplotlib 把图画出来

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

word_space_split = ' '.join(word_list)

coloring = np.array(Image.open("E:/Python/wechat/toux.jpg")) #这个路径可以改,最好还是不要改

my_wordcloud = WordCloud(background_color="white", max_words=2000,

mask=coloring, max_font_size=100, random_state=42, scale=2,

font_path="C:/Windows/Fonts/simkai.ttf").generate(word_space_split)

image_colors = ImageColorGenerator(coloring)

plt.imshow(my_wordcloud.recolor(color_func=image_colors))

plt.imshow(my_wordcloud)

plt.axis("off")

plt.show()

3.运行

先说明一下,如果能看懂代码,知道该怎么把必要的文件弄好,那就不怎么需要看下面这个。

如果看得不太理解,运行前一定要在 E 盘建立一个文件夹。路径是 E:\Python\Wechat ,然后在文件夹中放入一张命名为 toux.jpg 的照片,具体图片看个人喜好。

最好就是下图这样的照片

这样生成的词云就会很好看

意思就是图片要有白色的背景,人物颜色较鲜艳,人物突出(图片分辨率要高)

把代码安装顺序复制到 Pycharm,然后鼠标右键,选择 Run,扫描弹出来的二维码,登录微信网页版,确认后等待一下,看到下图就说明代码运行得很完美,成功运行,没有报错。

然后稍微等一下就可以看到词云图了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: 如何用Python制作微信好友个性签名词云图

本文地址: http://www.cppcns.com/jiaoben/python/263911.html

python制作微信个人二维码_如何用Python制作微信好友个性签名词云图相关推荐

  1. 使用python生成微信好友个性签名词云图

    生成词云主要使用了itchat.jieba.wordcloud这三个依赖库 itchat itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单. jieba "结巴& ...

  2. python制作微信个人二维码_无聊的脚本,python生成随机二维码,手机微信自动扫脚本。...

    本帖最后由 打字的小强 于 2018-10-11 09:39 编辑 QQ截图20181011084421.png (346.67 KB, 下载次数: 0) 2018-10-11 08:46 上传 首先 ...

  3. 微信创建二维码_如何创建二维码

    微信创建二维码 QR codes aren't everyone's cup of tea but I quite like them. If I see something I want to re ...

  4. python制作微信个人二维码_一个python自动生成微信二维码海报的轮子

    由于最近需要做一个线上活动,所以策划了一个微信二维码海报的用户裂变方案.做好了需求以后交给我们可爱的程序媛妹妹.三天过后去问她,她的表情是这样的 她是不是在说,"啊啊,真是不好意思" ...

  5. python发微信红包群二维码_小伙利用Python群发“支付宝”红包短信,一天赏金可达上千元...

    原标题:小伙利用Python群发"支付宝"红包短信,一天赏金可达上千元 注:以下教程仅供学习交流,娱乐而已,切勿用在非法途径 前言 最近朋友圈.微信群.QQ群里面全是什么扫码领取支 ...

  6. python深度神经网络文本二分类代码_如何用Python和深度神经网络识别图像?

    只需要10几行Python代码,你就能自己构建机器视觉模型,对图片做出准确辨识和分类.快来试试吧! 视觉 进化的作用,让人类对图像的处理非常高效. 这里,我给你展示一张照片. 如果我这样问你: 你能否 ...

  7. 使用jieba+wordcloud生成微信好友个性签名词云图

    讲真,词云图是我接触python语言以及大数据的启蒙者,记得很久以前看到网上有个制作qq好友相关信息的词云图,真的是瞬间就惊呆了,兴趣使然,真心爱上了这一块,也没想到从基础学起历经了这么长时间,现在又 ...

  8. 企业微信渠道二维码如何制作?

    很多企业在做活动推广时会用到企业微信渠道二维码,既可以将客户引流到企业微信中进行统一管理,又可以看到渠道投放效果,一举两得. 前言 当企业员工邀请客户添加企业微信时,需要客户通过扫描企业微信二维码进行 ...

  9. 生成二维码,读取二维码,这很Python(23)

    小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生. 欢迎和猫妹一起,趣味学Python. 今日主题 如何用Python生成二维码. 如何用Python读取二维码. 什么是二维码 二 ...

最新文章

  1. mvvm模式和mvc的区别_mvvm 和 mvc 区别?
  2. 区块链:新经济蓝图及导读
  3. golang中ioutil
  4. 《LoadRunner 12七天速成宝典》—第2章2.1节开始
  5. python:__new__()与__init__()
  6. 解读设计模式----单例模式(Singleton Pattern)
  7. 【Elasticsearch】elasticsearch 索引 详解 index
  8. 为啥连接mysql失败_为什么连接数据库后插入老是失败?
  9. 嵌入式C的高级用法必须了解
  10. 基于React的AmazeUI-touch使用(如何使用react)
  11. C语言中用二进制输出一个数字
  12. 安卓手机端抓包获取直播源下载并使用PotPlayer播放
  13. 程序猿必备的数电知识,快来看看你掌握多少!(建议收藏)
  14. 基于SSM的智慧房屋租赁系统
  15. 统计分析——回归分析
  16. java中的Date和时区
  17. 电脑只能上qq,但是不能打开网页的…
  18. android计算器退格键,请问下计算器的退格键是哪个键?
  19. OSChina 周五乱弹 ——国庆第六天,每逢佳节胖三斤
  20. HFM深入技术学习系列之二--规则

热门文章

  1. 微软在欧洲开设首家物联网实验室
  2. Mysql-SQL语句进阶(一)
  3. 彻底卸载Office 2010:Office 2010清理工具
  4. 30天提升技术人的写作力-第九天
  5. 中国游戏行业市场分析(一)关于国内游戏制作的问题
  6. 世界顶级黑客大师挑战赛WCTF 6月拉开战幕
  7. 经典论文阅读densenet(Densely Connected Convolutional Networks)
  8. 决策树底层思想,决策树的损失函数与极大似然函数理解
  9. 2021浙江高考成绩查询登不进,2021年浙江高考成绩查询官网查分网址:https://www.zjzs.net/...
  10. 【HDOJ】4699 Editor_天涯浪子_新浪博客