练习:微信好友分析

来源:http://www.cnblogs.com/jiaoyu121/p/6944398.html

1.好友性别分布

import itchat

itchat.login()
#itchat.send(u‘你好‘,‘filehelper‘)

friends = itchat.get_friends(update=True)[0:]
#print len(friends)

male = female = other = 0
for i in friends[1:]:
    sex = i[‘Sex‘]   #1男性 2 女性
    if sex == 1:
        male += 1
    elif sex == 2:
        female +=1
    else:
        other += 1

total = len(friends[1:])
#print u‘男性好友:‘+(float(male)/total)*100
print u‘男性好友:%.2f%%‘%(float(male)/total*100)
print u‘女性好友:%.2f%%‘%(float(female)/total*100)
print u‘其他:%.2f%%‘%(float(other)/total*100)

输出:

可视化

from echarts import Echart, Legend, Pie

chart = Echart(u‘%s的微信好友性别比例‘ % (friends[0][‘NickName‘]), ‘from WeChat‘)
chart.use(Pie(‘WeChat‘,
              [{‘value‘: male, ‘name‘: u‘男性 %.2f%%‘ % (float(male) / total * 100)},
               {‘value‘: female, ‘name‘: u‘女性 %.2f%%‘ % (float(female) / total * 100)},
               {‘value‘: other, ‘name‘: u‘其他 %.2f%%‘ % (float(other) / total * 100)}],
              radius=["50%", "70%"]))
chart.use(Legend(["male", "female", "other"]))
del chart.json["xAxis"]  #x轴y轴暂时没有隐藏
del chart.json["yAxis"]
chart.plot()

输出

2.好友个性签名

tList = []
for i in friends:
    signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "")
    rep = re.compile("1f\d.+")
    signature = rep.sub("", signature)
    tList.append(signature)

# 拼接字符串
text = "".join(tList)
print text

import jieba

all_words = []    #用词列表
wordlist_jieba = jieba.cut(text, cut_all=True)
all_words.extend(set(wordlist_jieba))   #set(data)去除重复的词

from collections import Counter

count = Counter(all_words)   #统计出现次数,以字典的键值对形式存储,元素作为key,其计数作为value。
result = sorted(count.items(), key=lambda x: x[1], reverse=True)  #key=lambda x: x[1]在此表示用次数作为关键字
print type(result)  #元组列表
#for word in result:
#    print word[0], word[1]

输出:

可视化

from pyecharts import WordCloud
data = dict(result)wordcloud = WordCloud(‘微信好友个性签名词云‘,width = 1200,height = 720) wordcloud.add(‘test‘,data.keys(),data.values(),word_size_range = [20,80]) wordcloud.render(r‘E:\wordcloud.html‘)

输出

3.自动回复

import time

@itchat.msg_register(‘Text‘)
def text_reply(msg):
    # 当消息不是由自己发出的
    if not msg[‘FromUserName‘] == myUserName:
        # 发送提示给文件助手
        itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" %
                        (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg[‘CreateTime‘])),
                         msg[‘User‘][‘NickName‘],
                         msg[‘Text‘]), ‘filehelper‘)
        # 回复给好友
        return u‘[自动回复]您好,我现在有事不在,一会再和您联系。\n已经收到您的的信息:%s\n‘ % (msg[‘Text‘])

if __name__ == ‘__main__‘:
    itchat.auto_login()

    # 获取自己的UserName
    myUserName = itchat.get_friends(update=True)[0]["UserName"]
    itchat.run()

输出:

时间: 2024-10-14 04:32:13

练习:微信好友分析的相关文章

使用 python 进行微信好友分析

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

初出茅庐-----微信好友分析与微信机器人

初出茅庐-----微信好友分析与微信机器人 一.微信好友分析 1.简介 对微信的好友进行分析,统计好友的人数,省市的分布,并排序,并统计好友签名用词的特点.用pyechart图像显示,并存为网页文件. 2.函数描述 函数 描述 get_friends_info(self) 获取好像信息,返回lis列表 friends_info_lis_to_excle(self) 把lis信息写入到excle extract_data_as_two_lis(self, condition) 参数为conditi

我的第一个微信好友分析

1.Pillow PIL:Python Imaging Library,已经是 Python 平台事实上的图像处理标准库.PIL功能非常强大,但API却非常简单易用. 如果安装了Anaconda,Pillow就已经可用了.否则,需要在命令行下通过pip安装: pip install pillow 如果遇到Permission denied安装失败,请加上sudo重试. 2.Pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 E

我的第一个微信好友数据分析

本次我们利用python来分析一下我们微信的好友数据 首先安装7个依赖库 1.Pillow PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. 由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow,如果有annaconda,则直接使用即可,如无,

微信好友大揭秘,使用Python抓取朋友圈数据,通过人脸识别全面分析好友,一起看透你的“朋友圈”

微信:一个提供即时通讯服务的应用程序,更是一种生活方式,超过数十亿的使用者,越来越多的人选择使用它来沟通交流. 不知从何时起,我们的生活离不开微信,每天睁开眼的第一件事就是打开微信,关注着朋友圈里好友的动态,而朋友圈中或虚或实的状态更新,似乎都在证明自己的"有趣",寻找那份或有或无的存在感. 有人选择在朋友圈记录生活的点滴,有人选择在朋友圈展示自己的观点.有时我们想去展示自己,有时又想去窥探着别人的生活,而有时又不想别人过多的了解自己的生活,或是屏蔽对方,或是不给对方看朋友圈,又或是不

微信好友分布分析

一.环境要求 Windows 10:python 3.7: 第三方库 wxpy 0.3.9.8——登录微信openpyxl 2.6.2——可对 excel 表格进行操作 pyecharts 0.5.11——百度的开源可视化库, wordcloud 1.5.0——词云制作库 matplotlib 3.1.0——生成词云图 pandas 0.24.2——读取 excel 表格的数据 pyecharts-snapshot 0.2.0——是 pyecharts 的依赖库之一 echarts-countr

分析微信好友列表信息(json)

在前面我们玩了好多静态的 HTML,但还有一些常见的动态数据,比如,商品的评论数据.实时的直播弹幕等,这些数据是会经常发生改变的,所以很多网站就会用到 Json 来传输这些数据. Python JSON 可以用 json 模块, 1. 将 python 对象转化为 json是这样的 json.dumps() 2. 将json数据转化为python对象是这样的 json.loads() 微信好友列表 登陆微信网页版(据说现在很多微信号不能等网页版了??) 很容易找到有一个请求,会返回所有好友的信息

ListView模拟微信好友功能

ListView模拟微信好友功能 效果图: 分析: 1.创建listView 2.创建数据 3.创建适配器 将数据放到呈现数据的容器里面. 将这个容器(带数据)连接适配器. 4.ListView设置适配器 代码: 1 package fry; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import com.example.weChatFriends.R; 7 8 import android.app.Activity

我用 Python 爬取微信好友,最后发现一个大秘密

前言 你身处的环境是什么样,你就会成为什么样的人.现在人们日常生活基本上离不开微信,但微信不单单是一个即时通讯软件,微信更像是虚拟的现实世界.你所处的朋友圈是怎么样,慢慢你的思想也会变的怎么样.最近在学习 itchat,然后就写了一个爬虫,爬取了我所有的微信好友的数据.并对其中的一些数据进行分析,发现了一些很有趣的事. 然后通过 itchat.get_friends() 这个函数就可以获取到自己好友的相关信息,这些信息是一个 json 数据返回.然后我们就可以根据这些返回的信息,进行正则匹配抓取