Python获取微信好友签名生成词云

‘‘‘
pip install wxpy
pip install matplotlib  # 如果下载超时,就换源下载:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

pip install wordcloud
pip install Pillow
pip install numpy
pip install jieba
pip install scipy       # 处理图像   # pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy

‘‘‘

import re
import itchat
import jieba
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
from scipy.misc import imread

# 1. 登录,获取好友列表,用手机扫二维码登录

itchat.login()
# 2. 获取好友列表
friends = itchat.get_friends(update=True)[0:]
# print(friends)

# 3. 去除所有这些符号
tList = []
for i in friends:
    # 获取个性签名
    signature = i[‘Signature‘].strip().replace(‘span‘, ‘‘).replace(‘class‘, ‘‘).replace(‘emoji‘, ‘‘)
    #正则匹配过滤掉emoji表情, 例如emoji1f33f等
    rep = re.compile("1f\d.+")
    signature = rep.sub(‘‘, signature)
    tList.append(signature)

# 制作词云

text = ‘‘.join(tList)

wordlist_jieba = jieba.cut(text, cut_all=True)
wl_space_split = ‘ ‘.join(wordlist_jieba)
# print(wl_space_split)

# 用于生成配色方案的图
back_color = imread(‘mao.jpg‘)

# 词云
my_wordcloud = WordCloud(background_color=‘white‘,  # 背景颜色
               max_words=2000,  # 最大词数
               mask=back_color,  # 以该参数值作图绘制词云,这个参数不为空时,width和height会被忽略
               max_font_size=100,  # 显示字体的最大值
               # stopwords=STOPWORDS.add(‘中国‘),  # 使用内置的屏蔽词,再添加‘中国‘
               font_path=‘/Users/guohongjun/Library/Fonts/simfang.ttf‘,  # 指定字体文件 解决显示口字型乱码问题,
               random_state=42,  # 为每个词返回一个PIL颜色
               # width=1000,  # 图片的宽
               # height=860  #图片的长
               )

# 用wl_space_split生成词云
my_wordcloud.generate(wl_space_split)

# 基于彩色图像 生成响应的色彩
image_colors = ImageColorGenerator(back_color)
# 显示图片
# plt.imshow(my_wordcloud)
# 关闭坐标轴
# plt.axis(‘off‘)
# 绘制词云
plt.figure()
plt.imshow(my_wordcloud.recolor(color_func=image_colors))
plt.axis(‘off‘)
# 保存图片
my_wordcloud.to_file(‘ciyun.png‘)


see also:

  https://www.jianshu.com/p/a60b6ef1e6f6

原文地址:https://www.cnblogs.com/Neeo/p/10101595.html

时间: 2024-08-27 02:26:58

Python获取微信好友签名生成词云的相关文章

使用 python 进行微信好友分析

使用 python 进行微信好友分析 1. 使用到的库 ① wxpy:初始化微信机器人 ② openpyxl:保存微信好友数据为Excel表格 ③ pyecharts:生成可视化的地图 ④ wordcloud.matplotlib.jieba:生成词云图 [特别提醒]:pyecharts 库用的是0.5.x版本,而在 pip 中安装的为1.x.x版本,因此需要自行到[官网]中下载. 2. 基本功能 ① 分析微信好友数据 ② 生成词云图 ③ 生成地图展示 3. 代码实现 此处使用类来实现 (1)

Python爬取QQ空间好友说说并生成词云(超详细)

前言 先看效果图:  思路 1.确认访问的URL 2.模拟登录你的QQ号 3.判断好友空间是否加了权限,切换到说说的frame,爬取当前页面数据,下拉滚动条,翻页继续获取 爬取的内容写入本地TXT文件中 4.爬取到最后一页,读取TXT文件从而生成词云 具体分析 1.确认访问的URL 这就很简单了,我们通过观察发现,QQ空间好友的URL: https://user.qzone.qq.com/{好友QQ号}/311 2.我们在请求的时候会遇到模拟登录,也就是要通过Selenium+浏览器登录你的QQ

python生成词云

期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感. 今天要生成的是励志歌曲的词云,百度文库里面找了20来首,如<倔强>,海阔天空是,什么的大家熟悉的. 所要用到的python库有 jieba(一个中文分词库).wordcould .matplotlib.PIL.numpy. 首先我们要做的是读取歌词.我将歌词存在了文件目录下励志歌曲文本中. 现在来读取他 #encoding=gbk l

python 在线生成词云

效果图 大体步骤 1 接收请求中的文本,通过结巴分词处理文本. seg_generator = jieba.cut(text) # 使用结巴分词,也可以不使用 stopwords = pd.read_csv( path +"/stop_words_zh_UTF-8.txt", index_col=False, quoting=3, sep="\t", names=['stopword'], encoding='utf-8') # quoting=3全不引用 seg_

Python 实现获取微信好友信息

最近用闲余时间看了点python,在网上冲浪时发现有不少获取微信好友信息的博客,对此比较感兴趣,于是自己敲了敲顺便记录下来. 一.使用 wxpy 模块库获取好友男比例信息和城市分布. # -*- coding: utf-8 -*- """ 微信好友性别及位置信息 """ #导入模块 from wxpy import Bot '''Q 微信机器人登录有3种模式, (1)极简模式:robot = Bot() (2)终端模式:robot = Bot(c

简单爬取《小丑》电影豆瓣短评生成词云

导语  在前段时间看了杰昆菲尼克斯的小丑电影,心里很好奇大部分观众看完这部电影之后对此有什么评价,然后看了看豆瓣短评之后,觉得通过python把短评中出现最多的单词提取出来,做成一张词云,看看这部电影给观众们留下的关键词是什么. 抓取数据  首先刚开始的时候 ,是通过requests去模拟抓取数据,发现短评翻页翻到20页之后就需要登录豆瓣用户才有权限查看,所以打算通过使用selenium模拟浏览器动作自动化将页面中的数据爬取下来,然后存储到特定的txt文件,由于没打算做其他的分析,就不打算存放到

推荐一个免费的生成词云(word cloud)的在线工具

"词云"这个概念由美国西北大学新闻学副教授.新媒体专业主任里奇·戈登(Rich Gordon)提出. "词云"就是对网络文本中出现频率较高的"关键词"予以视觉上的突出,形成"关键词云层"或"关键词渲染",从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨. 今天推荐一个免费的生成词云的在线网站: http://www.yyyweb.com/demo/inner-show/word-i

python获取微信公共平台消息列表和用户头像

转载需注明原文地址:http://blog.csdn.net/btyh17mxy/article/details/25207889 刚写的模拟登陆的方式从获取微信公众平台消息列表和用户头像的库,之后还会继续增加相关功能,github地址https://github.com/btyh17mxy/wxwall #!/usr/bin/env python # coding: UTF-8 import json import hashlib import re import random import

python(wordcloud)实现中文词云

# 这是一个处理图像的函数from scipy.misc import imreadfrom wordcloud import WordCloud,STOPWORDS,ImageColorGeneratorimport matplotlib.pylab as plt # 解析图片back_color = imread("./veer-141001498.png")# 设置字体路径font = "C:\Windows\Fonts\STXINGKA.TTF"wc = W