学习
实践
活动
专区
工具
TVP
写文章

Python爬虫itchat爬取微信好友的个性签名 并利用WordCloud,jieba制作词云

我们先上效果图吧!看这个图也是很符合我的圈子的。搞信用卡,金融都多一些。

引用的库:

import itchat

import matplotlib.pyplot as plt

from wordcloud import WordCloud,ImageColorGenerator

import numpy as np

import PIL.Image as Image

itchat.login()

friends = itchat.get_friends(update=True)

登陆微信,获取好友信息。

for i in friends:

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

rep = re.compile("1f\d+\w*|[/=]")

signature = rep.sub('',signature)

siglist.append(signature)

text = ' '.join(siglist)

遍历好友信息,取出好友的个性签名。千万要记得:

这里是空格:这里是空格:这里是空格:这里是空格:这里是空格:

为什么我要强调,因为我调试了很久,查了很久资料,加上是我第一次学习,开始的时候没有空格,怎么都打印不出正常的效果出来,甚是奇怪。所以在这里强调一下,以便之后的学习查证。

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

word_space_split = ' '.join(wordlist)

coloring = np.array(Image.open('E:\\py\\pyqt5\\1.png'))

my_wordcloud = WordCloud(background_color='white',max_words=2000,mask=coloring,max_font_size=60,random_state=42,scale=2,font_path='E:\\py\\pyqt5\\simsun.ttc').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.savefig("E:/py/pyqt5/temp.jpg",dpi=200)

plt.show()

贴的代码都很杂乱无章的。也就自己能看懂吧。所以说这里只是我的一个几率笔记吧,甚至都不算。

plt.axis('off')这个指的是关掉x y轴的坐标

plt.savefig("E:/py/pyqt5/temp.jpg",dpi=200)保存成一张图片

plt.show()把图片显示出来,本身并不会保存。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190127G0ZU2900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券