from wordcloud import WorldCloud
import jieba
import itchat
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
import re
█
#登陆微信
itchat.login()
Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Loading the contact, this may take a little while.
Login successfully as G凯learlove
#给文件传输助手发送信息
itchat.send(u'你好微信助手','filehelper')
#统计男女比例,根据初步观察可得,1为性别男,2为性别女,0为未填friends = itchat.get_friends()[0:]
man=0
woman=0
not_write=0
for each in friends:if each['Sex'] == 0:not_write+=1elif each['Sex'] == 1:man+=1else:woman+=1
sum_num = len(friends)
man_rate = (man/sum_num)*100
print('男性比例:%.2f%%'%man_rate)
woman_rate = woman/sum_num*100
print('女性比例:%.2f%%'%woman_rate)
not_write_rate = not_write/sum_num*100
print('未填写的比例:%.2f%%'%not_write_rate)
男性比例:41.86%
女性比例:40.70%
未填写的比例:17.44%
#利用饼图可视化比例
sizes = [man,woman,not_write]
labels = ['man','woman','not_write']
explode = [0,0.1,0]
fig,axe = plt.subplots()
fig.set_size_inches(8,8)
axe.set(title='people_sex_rate')
axe.pie(sizes,explode=explode,labels=labels,autopct='%.2f%%',shadow=True,startangle=90)
plt.show()
#查看好友省份位置图
provice_list=[]
for each in friends:provice_list.append(each['Province'])
print(provice_list)
provice_dict = {}
for each in provice_list:provice_dict[each] = provice_dict.get(each,0)+1
print(provice_dict)
['', '江苏', '北京', '江苏', '', '陕西', 'Louth', '江苏', '', '', '', '江苏', '上海', '', '', '江苏', '陕西', '', '陕西', '', '', 'Lyon', '', '', '江苏', '', '江苏', '陕西', '江苏', 'Pennsylvania', '陕西', 'Nagasaki-ken', '', '', '陕西', '', '江苏', '浙江', '陕西', '陕西', '江苏', '江苏', '', 'Paris', '浙江', '陕西', '', '', '', '北京', '江苏', '', '江苏', '', '江苏', '江苏', '江苏', '山西', '浙江', '陕西', '陕西', '', '', '江苏', '', '陕西', '江苏', '陕西', '河南', '江苏', '江苏', '', '云南', '北京', '', '江苏', '', '', '陕西', '', '北京', '江苏', '陕西', '江苏', '江苏', '青海']
{'': 30, '江苏': 24, '北京': 4, '陕西': 15, 'Louth': 1, '上海': 1, 'Lyon': 1, 'Pennsylvania': 1, 'Nagasaki-ken': 1, '浙江': 3, 'Paris': 1, '山西': 1, '河南': 1, '云南': 1, '青海': 1}
fig,axe = plt.subplots()
fig.set_size_inches(18,8)
axe.set(title='people_provice_rate')
x_provice = provice_dict.keys()
y_provice = provice_dict.values()
axe.bar(x_provice,y_provice)
plt.show()
#地图可视化
from pyecharts import Map
#各省份个数
value = list(provice_dict.values())
#省份
attr = list(provice_dict.keys())
map = Map("微信好友省份分布图",width=1200,height=600,title_pos='center',background_color='#F6CEF5')
map.add('',attr,value,maptype='china', visual_range=[1, 10],is_visualmap=True, is_map_symbol_show=False,is_label_show=True)map.render(path='./微信好友.html')
#接下来分析个性签名
tlist = []
for each in friends:print(each['Signature'])#首先去除spaneach['Signature']=each['Signature'].replace("span","")#其次去掉class的内容each['Signature']=each['Signature'].replace("class","")#最后去除表情emojieach['Signature']=each['Signature'].replace("emoji","")#利用正则表达式替换1F开头的rep = re.compile('1f\d.+')each['Signature'] = rep.sub('',each['Signature'])tlist.append(each['Signature'])
#连接成一个独立的字符串
content = ''.join(tlist)
print(content)
哦,卡哇伊阔多。
缘陕科大福利平台,首次添加免费送出一套PPT你能加我就有资源,朋友圈扫码进群。感恩、诚信、认真、负责、耐心、坚持此号已满,请大家加牛可乐xiaozhaobang_bangjie,回复城市名称
常年召收C1、B2学员
晚是世界的晚,安是给你的安,晚安
年龄从来都不是衡量一个人成熟的标志To the fore
◢ ◤实力才是让人信服的根本。像风一样
看我朋友圈哦(´-ω-`)
女人贵在安分守己男人贵在独宠一女
I'll try anything once没有签名就是最好的签名
客服微信:sj17070488299
?
还有一种人不知不觉、
没关系你也不用给我机会,反正我还有一生可以浪费。
开心过着每一天,知命不惧 日日自新
掩筝罢弦听渊默,苍茫天地何解莲
专注于事,放眼未来!
经营范围:中高端四件套,棉被,羽绒蚕丝被,沙发垫枕芯等家居
专注大学生就业服务懂得珍惜,才配拥有山不过来,我就过去。gg
始于颜值陷于才华忠于人品╭∩╮( ̄▽ ̄)╭∩╮
我是小仙女。
让这个时间燥起来
越善良越需要聪明
思想的本质就是不安随心随意,过好每一天
18392508886小科比健康成长
舍时以待如果一周可以选择两天 我会毫不犹豫的选择周末累吗?累!死啦吗?没死就得干只要干不死,就往死里干!
此号已满,可加boniu576,或企鹅1702132821“没有梦的润色,光阴只不过是白纸一张,单薄没有重量。”
smilesjs.xyzJust as you wish
起伏不定的情绪,该怎么去收拾
₍₍ (̨̡ ‾᷄ᗣ‾᷅ )̧̢ ₎₎
夏虫不可语冰,井蛙不可语海,凡夫不可语道。
星河滚烫,你是人间理想
常年招收C1·B2·A2学员
得到了就不珍惜的人&#xff0c;都该死&#xff01;<&#61;" 哦&#xff0c;卡哇伊阔多。缘陕科大福利平台&#xff0c;首次添加免费送出一套PPT你能加我就有资源&#xff0c;朋友圈扫码进群。感恩、诚信、认真、负责、耐心、坚持此号已满&#xff0c;请大家加牛可乐xiaozhaobang_bangjie&#xff0c;回复城市名称常年召收C1、B2学员晚是世界的晚&#xff0c;安是给你的安&#xff0c;晚安年龄从来都不是衡量一个人成熟的标志To the fore◢ ◤实力才是让人信服的根本。像风一样看我朋友圈哦(´-ω-&#96;)女人贵在安分守己男人贵在独宠一女I&#39;ll try anything once没有签名就是最好的签名客服微信&#xff1a;sj17070488299?还有一种人不知不觉、没关系你也不用给我机会&#xff0c;反正我还有一生可以浪费。开心过着每一天&#xff0c;知命不惧 日日自新掩筝罢弦听渊默&#xff0c;苍茫天地何解莲专注于事&#xff0c;放眼未来&#xff01;经营范围:中高端四件套&#xff0c;棉被&#xff0c;羽绒蚕丝被&#xff0c;沙发垫枕芯等家居专注大学生就业服务懂得珍惜&#xff0c;才配拥有山不过来&#xff0c;我就过去。gg始于颜值陷于才华忠于人品╭∩╮&#xff08;&#xffe3;▽&#xffe3;&#xff09;╭∩╮我是小仙女。让这个时间燥起来越善良越需要聪明思想的本质就是不安随心随意&#xff0c;过好每一天18392508886小科比健康成长舍时以待如果一周可以选择两天 我会毫不犹豫的选择周末累吗&#xff1f;累&#xff01;死啦吗&#xff1f;没死就得干只要干不死&#xff0c;就往死里干&#xff01;此号已满&#xff0c;可加boniu576&#xff0c;或企鹅1702132821“没有梦的润色&#xff0c;光阴只不过是白纸一张&#xff0c;单薄没有重量。”smilesjs.xyzJust as you wish起伏不定的情绪&#xff0c;该怎么去收拾₍₍ (̨̡ ‾᷄ᗣ‾᷅ )̧̢ ₎₎夏虫不可语冰&#xff0c;井蛙不可语海&#xff0c;凡夫不可语道。星河滚烫&#xff0c;你是人间理想常年招收C1·B2·A2学员得到了就不珍惜的人&#xff0c;都该死&#xff01;<&#61;"
#jieba进行分词
word_list &#61; jieba.cut(content,cut_all&#61;True)
#利用空格 连接成整个字符串
word_split &#61; &#39; &#39;.join(word_list)
print(word_split)
哦 卡哇伊 阔 多 缘 陕 科大 大福 福利 平台 首次 添加 免费 免费送 送出 一套 PPT 你 能 加 我 就 有 资源 朋友 朋友圈 扫 码 进 群 感恩 诚信 认真 负责 耐心 坚持 此 号 已 满 请 大家 加 牛 可乐 xiaozhaobang bangjie 回复 城市 市名 名称 常年 召 收 C1 B2 学员 晚 是 世界 的 晚 安 是 给 你 的 安 晚安 年龄 从来 都 不是 衡量 一个 个人 成熟 的 标志 To the fore 实力 才 是 让 人 信服 的 根本 像 风 一样 看 我 朋友 朋友圈 哦 女人 贵在 安分 安分守己 分守 己 男人 贵在 独 宠 一 女 I ll try anything once 没有 签名 就是 最好 的 签名 客服 微 信 sj17070488299 还有 一种 人不知 不知 不知不觉 不觉 没关 没关系 关系 你 也 不用 给 我 机会 反正 我 还有 一生 可以 浪费 开心 过 着 每 一天 知命 不惧 日日 自新 掩 筝 罢 弦 听 渊默 苍茫 天地 何解 莲 专注 于 事 放眼 未来 经营 经营范围 范围 中高 高端 四件 四件套 件套 棉被 羽绒 蚕丝 蚕丝被 沙发 沙发垫 枕芯 等 家居 专注 大学 大学生 学生 生就 就业 服务 懂得 珍惜 才 配 拥有 山 不过 过来 我 就 过去 gg 始于 颜 值 陷于 才华 忠于 人品 我 是 小 仙女 让 这个 时间 燥 起来 越 善良 越 需要 聪明 思想 的 本质 就是 不安 随心 随意 过 好 每 一天 18392508886 小 科比 健康 健康成长 成长 舍 时 以待 如果 一周 可以 选择 两天 我会 毫不 毫不犹豫 犹豫 的 选择 周末 累 吗 累 死 啦 吗 没死 就 得 干 只要 干 不 死 就 往 死 里 干 此 号 已 满 可加 boniu576 或 企鹅 1702132821 没有 梦 的 润色 光阴 只不过 不过 是 白纸 一张 单薄 没有 重量 smilesjs xyzJust as you wish 起伏 起伏不定 不定 的 情绪 该 怎么 去 收拾 夏 虫 不可 语 冰 井蛙 不可 语 海 凡夫 不可 语 道 星河 滚烫 你 是 人间 理想 常年 招收 C1 B2 A2 学员 得到 了 就 不 珍惜 的 人 都 该死
#词云1
#导入词云与设置字体
from wordcloud import WordCloud
font &#61; r&#39;/usr/share/fonts/truetype/wqy/wqy-microhei.ttc&#39;
#设置词云解析规则&#xff0c;并解析字符串
wc &#61; WordCloud(font_path&#61;font,background_color &#61; &#39;white&#39;,width&#61;1000,height&#61;600,random_state&#61;42,
).generate(word_split)
#画在画板上&#xff0c;并展示&#xff0c;关掉坐标轴
plt.imshow(wc)
plt.axis(&#39;off&#39;)
plt.show()
#词云2
#导入系统的目录包
from os import path
#导入python标准的图像处理包
from PIL import Image
#导入字体
font &#61; r&#39;/usr/share/fonts/truetype/wqy/wqy-microhei.ttc&#39;
#定义图片名字
img &#61; &#39;词云.png&#39;
#将目录与图片文件名结合起来导入默认目录&#xff0c;生成nadrray对象&#xff08;矩阵&#xff09;
img_mask &#61; np.array(Image.open(path.join(&#39;.&#39;, img)))
#或者直接
&#39;&#39;&#39;
img &#61; &#39;词云.png&#39;
img_path &#61; &#39;./&#39;&#43;img
img_mask &#61; np.array(Image.open(img_path))&#39;&#39;&#39;
#生成词云规则
wc &#61; WordCloud(font_path&#61;font, #使用的字体background_color &#61; &#39;white&#39;, #背景色#width&#61;2000, #宽度&#xff08;如果用外置图片的话&#xff0c;就根据图片大小定&#xff09;#height&#61;1000, #高度&#xff08;如果用外置图片的话&#xff0c;就根据图片大小定&#xff09;mask &#61; img_mask,#使用的图片矩阵random_state&#61;42, #随机数种子&#xff0c;保证每次结果都一样
)wc.generate(word_split) #运用在制定的字符串上
#plt.figure(figsize&#61;(20,20))
fig,axe &#61; plt.subplots()
fig.set_size_inches(16,13) #调整画板大小
plt.imshow(wc) #图片画在画布上
plt.axis(&#39;off&#39;)#关闭坐标轴
plt.show()#展示图片