itchat是python与微信网页版连接的api,作为测试,博主利用itchat爬取了自己的微信并进行可视化

首先登录微信,定义函数用来储存好友信息

import itchat

import matplotlib.pyplot as plt

import pandas as pd

import re

import jieba

from pyecharts import Map,Geo

'''遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!'''

itchat.login()

friends=itchat.get_friends(update=True)

#定义函数从朋友圈中爬取信息

def get_var(var):

variable = []

for i in friends:

value = i[var]

variable.append(value)

return variable

计算好友圈性别比例,画一个饼状图

#初始化计数器

male = female = other = 0

#friends[0]是自己的信息,所以要从friends[1]开始

for i in friends[1:]:

sex = i["Sex"]

if sex == 1:

male += 1

elif sex == 2:

female += 1

else:

other +=1

#计算好友总数

total = len(friends[1:])

a=float(male)/total*100

b=float(female) / total * 100

c=float(other) / total * 100

#就朋友圈性别比例做一个饼状图

x=[a,b,c]

label=['male','female','other']

plt.pie(x=x,labels=label,autopct='%3.1f %%',shadow=True, labeldistance=1.1, startangle = 90,pctdistance = 0.6)

plt.show()

获取好友所在地区,做地图可视化

#爬取微信好友所在地区

Province = get_var('Province')

data=pd.DataFrame({'prv':Province,'nu':1})

data=data.loc[data['prv']!='',:]

data=data.groupby(['prv']).sum().sort_values(by='nu')

provice=data.index.tolist()

values=data.values.tolist()

#将好友所在地区分布作一个地图可视化

map = Map("微信好友地区分布",'微信好友地区分布', width=1200, height=600)

map.add("", provice, values, visual_range=[0, 50], maptype='china', is_visualmap=True,

visual_text_color='#000')

map.show_config()

map.render(path="D:/04-01中国地图.html")

可视化结果

获取好友个性签名,分词并统计词频,保存为csv文件

# 爬取好友的个性签名

siglist = []

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).split(',')

#去掉所有停用词

ph=open("C:/Users/Administrator/Desktop/tyc.txt","rb")

tyc=str(ph.read().decode('utf-8'))

ph.close()

m=[]

for i in word_space_split:

if i not in tyc:

m.append(i)

#统计词频并保存为csv文件

da=pd.DataFrame({'ci':m,'nu':1})

da=da.groupby(['ci']).sum().sort_values(by='nu',ascending=False)

da.to_csv('d:/qianming.csv')

表格的前五行如下:

python微信朋友圈刷图_用python中的itchat可视化微信朋友圈相关推荐

  1. python计算平均值画折线图_【Python数据分析】一、matplotlib绘制折线图

    matplotlib是最流行的Python会图库,主要做数据可视化图表. 本节目标:学习绘制折线图(plt.plot) 设置图片的大小和分辨率(plt.figure) 实现图片的保存(plt.save ...

  2. python飞机大战功能模块图_基于Python的飞机大战游戏设计

    第 2 3 卷 第 1 期 2019年 3 月 扬 州 职 业 大 学 学 报 Journal of Yangzhou Polytechnic College Vol .23 No . 1 Mar . ...

  3. python爬今日头条组图_(python爬虫之)ajax解析爬取今日头条组图并下载

    首先吐槽一波csdn配色真直男,囧 此次任务需要注意的是: 用request.get方法的时候要加cookie, 网页源代码也改动了,详情页进入后不是一个json数据包,是一个html文档. 以及其它 ...

  4. python绘制简单城市剪影图_利用Python的folium包绘制城市道路图的实现示例

    写在前面 很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得不说,还是给我的科研工作提供了特别方便的工具,在博客前面我 ...

  5. python绘制简单城市剪影图_以Python制作的手绘图表居然是这个样子的!快来看看怎么做吧!...

    大家可能已经习惯了用Matplotlib和seaborn来制作不同的图表,但是今天要介绍一个非常酷的Python手绘风格的可视化包:cutecharts. ​ 这个包可以用来生成以下几种看起来像手绘的 ...

  6. python做视频抽帧图_利用Python和ffmpeg从视频中抽帧,此方法比opencv抽帧法快。

    原博文 2020-03-26 09:34 − import subprocess import os import subprocess import shutil #目录文件不存在则自动创建,存在则 ...

  7. python画二维折线图_利用python画折线图

    # encoding=utf-8 import matplotlib.pyplot as plt from pylab import * #支持中文 mpl.rcParams['font.sans-s ...

  8. 【适合Python语言小白的股价图】利用Python中的matplotlib绘制股价图(非k线图)

    [适合Python语言小白的股价图]利用Python中的matplotlib绘制股价图(非k线图) 代码小白,最近做一家公司的股价复盘用到了matplotlib,在此做个小小的记录.代码的逻辑比较笨, ...

  9. python微信朋友圈刷图_10分钟用Python做个微信朋友圈抽奖九宫格

    最近在朋友圈看到个好玩的抽奖九宫格: 随便点开一个: 哈哈,笑出猪叫!这个玩法利用了朋友圈发长图会显示中间局部的设定,搞笑之余也为朋友圈广告营销贡献了新思路. 制作图的过程也不复杂,长图对应部分设计好 ...

最新文章

  1. Android LK Bootlaoder启动概览
  2. SPU解析优化:模块设计与实现,SKU优化
  3. 深度学习框架PyTorch与TensorFlow,谁更胜一筹?
  4. AndroidManifest.xml文件详解(uses-sdk)
  5. 子网掩码+ip地址_C ++程序使用位掩码查找唯一编号
  6. c语言指针生成numpy数组,python – 在cython中声明numpy数组和c指针
  7. ubuntu中安装caffe docker 镜像【不用自己配环境,一键搞定,快速进入caffe学习】
  8. 前端集合删除对象_【两万字】面试官:听说你精通集合源码,接我二十个问题!...
  9. Java ActiveMQ 讲解(二)Spring ActiveMQ整合+注解消息监听
  10. 与代数式xyz所对应的C语言表达式是,C程序习题集讲解.doc
  11. 技术员 Ghost Win 7 Sp1(x86/x64)装机版/纯净版 201808
  12. Android11 如何将系统默认设置中文
  13. U8记账凭证修改方法汇总
  14. storm32云台说明书_STorM32 BGC三轴云台控制板电机驱动电路设计(驱动芯片DRV8313)
  15. 【雷达】基于粒子群算法优化综合微带天线阵列方向图附matlab代码
  16. 3.22 进口物料的报关手册核销
  17. 捋一捋Unified Language Model Pre-training for Natural Language Understanding and Generation
  18. wan口有流量但电脑上不了网_路由器wan口流量_双WAN口路由器配置(WAN口设置/WAN口在线检测/流量均衡控制)_路由器检测不到wan...
  19. 在Mac上怎么使用Charles进行抓包
  20. 2020-12-04使用retrofit上传下载文件,监听下载进度

热门文章

  1. Elasticsearch 第二天
  2. 每个人都应该学的技能 - 如何做出好决定
  3. redis从db0迁移数据至db1
  4. conda search cuda后没有版本10的问题
  5. 参加孤尽老师DIY班一期的主要收获
  6. MATLAB 车牌识别程序介绍 SVM、神经网络[毕业设计]
  7. 西门子200SMART笔记
  8. 解释X_train,Y_train,X_test,Y_test分别表示什么
  9. 2018年就要过去了
  10. 解决xp共享的批处理文件