本文实例讲述了python实现的微信好友数据分析功能。分享给大家供大家参考,具体如下:

这里主要利用python对个人微信好友进行分析并把结果输出到一个html文档当中,主要用到的python包为itchat,pandas,pyecharts等

1、安装itchat 微信的python sdk,用来获取个人好友关系。获取的代码 如下: import itchat

import pandas as pd

from pyecharts import Geo, Bar

itchat.login()

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

def User2dict(User):

User_dict = {}

User_dict["NickName"] = User["NickName"] if User["NickName"] else "NaN"

User_dict["City"] = User["City"] if User["City"] else "NaN"

User_dict["Sex"] = User["Sex"] if User["Sex"] else 0

User_dict["Signature"] = User["Signature"] if User["Signature"] else "NaN"

User_dict["Province"] = User["Province"] if User["Province"] else "NaN"

return User_dict

friends_list = [User2dict(i) for i in friends]

data = pd.DataFrame(friends_list)

data.to_csv('wechat_data.csv', index=True)

2、对获取到的数据进行分析。

主要分析了男女比例,以及好友所在城市分布,并且在地图上面展示了微信好友的分布情况。另外其他的数据读者可以自己去分析,这里只是提供一个引导而已。 import pandas as pd

from pyecharts import Geo, Bar

def Cal_mVw(data):

result = {}

for i in data:

if i == 1:

result["man"] = result.get("man", 0) + 1

elif i == 2:

result["woman"] = result.get("woman", 0) + 1

else:

result["unknown"] = result.get("nunknown", 0) + 1

return result

def count_city(data):

result = {}

for i in data:

if data is not "NaN" or data is not "nan":

result[i] = result.get(i, 0) + 1

return result

data1 = pd.read_csv('wechat_data.csv', encoding='GBK')

manVSwoman=Cal_mVw(data1["Sex"])

#print(manVSwoman)

bar = Bar("个人微信好友男女比例")

bar.add("男女人数", ["男", "女", "不详"], [139, 75, 1])

bar.render()

city=count_city(data1["City"])

geo = Geo("微信好友分布", "", title_color="#fff", title_pos="center",

width=1200, height=600, background_color='#404a59')

#attr, value = geo.cast(city)

geo.add("", city.keys(), city.values(), visual_range=[0, 30], visual_text_color="#fff", symbol_size=15, is_visualmap=True)

geo.show_config()

geo.render()

男女比例画出来的图如下所示

获取到的好友分布情况如下图所示:

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

python 微信数据_Python实现的微信好友数据分析功能示例相关推荐

  1. python 住区数据_Python实现的北京积分落户数据分析示例

    本文实例讲述了Python实现的北京积分落户数据分析.分享给大家供大家参考,具体如下: 北京积分落户状况 获取数据(爬虫/文件下载)-> 分析 (维度-指标) 从公司维度分析不同公司对落户人数指 ...

  2. python自动寻路模板_Python实现的简单模板引擎功能示例

    本文实例讲述了Python实现的简单模板引擎功能.分享给大家供大家参考,具体如下: #coding:utf- 8 __author__="sdm" __author_email=' ...

  3. python爬取好友微信地区_python爬取微信信息--显示性别/地域/词云(附代码)

    看到一篇有意思的博客 利用微信开放的接口itchat 可以获取登录的微信好友信息 并且利用图像工具显示分析结果 非常的有意思 记录下实现过程 并提供可执行代码 首先要 import itchat 库 ...

  4. python远程聊天_python工具,微信聊天、自动回复、手机微信远程控制电脑

    功能简介 微信聊天.发送文件 微信忙碌回复 微信机器人回复 微信远程控制电脑 软件截图 python工具,微信聊天.自动回复.手机微信远程控制电脑 python工具,微信聊天.自动回复.手机微信远程控 ...

  5. python给女朋友_python实现用微信每天给女朋友发晚安

    python实现用微信每天给女朋友发晚安 发布时间:2018-06-17 17:24, 浏览次数:311 , 标签: python 初学python,看到一个小脚本程序,就自己实现做个笔记 环境准备: ...

  6. 微信数据包解析 php,微信交互数据包分析 - 新手入门及其它(软件) - 恩山无线论坛 - Powered by Discuz!...

    本帖最后由 derry 于 2019-3-7 23:30 编辑 微信启动后,主要建立以下连接: 1.      建立tcp长链接 端口号:80.443.8080中的一个(微信重启后会切换端口). 2. ...

  7. python保存数据_Python 保存数据的方法(4种方法)

    Python 保存数据的方法: open函数保存 使用with open()新建对象 写入数据(这里使用的是爬取豆瓣读书中一本书的豆瓣短评作为例子) import requests from lxml ...

  8. python进阶数据_Python 进阶

    高阶函数 定义 函数接受的参数是一个函数 函数的返回值为一个函数 满足以上2点中其中一个就是高阶函数 函数嵌套 定义 函数中def定义一个函数 嵌套会存在闭包, 其他情况不会有闭包(闭包闭的是变量) ...

  9. python程序设计实验报告实验程序流程序列化_Python使用pickle模块实现序列化功能示例...

    本文实例讲述了Python使用pickle模块实现序列化功能.分享给大家供大家参考,具体如下: Python内置的pickle模块能够将Python对象序列成字节流,也可以把字节流反序列成对象. im ...

最新文章

  1. 优于人类参考摘要,适用CNN新闻,OpenAI用人类反馈提升了摘要生成质量
  2. Binary Tree Level Order Traversal II leetcode java
  3. JavaScript的类型、值和变量
  4. 「影视+社交」,网易云信助力「微光」开辟新赛道
  5. WebCore中的渲染机制(二):块和内嵌(Blocks and Inlines)
  6. chrome 看每行代码的运行时间
  7. cocoaPod集成9大环境以及报错项目问题
  8. web文件上传(二)--使用form还是ajax
  9. 当想给下一个请求发送同享的数据时候 可以使用域对象设置属性
  10. ASP.NET加密和解密数据库连接字符串
  11. SAP MM采购仓储入门视频教程——适合新手入门学习
  12. Hashmap红黑树源码学习
  13. 页面中设置IE浏览器的文档模式
  14. 三层交换机和二层交换机区别是什么
  15. 永远的《毕业生》之《Scarborough Fair》
  16. elasticSearch搜索引擎安装使用,SprignBoot整合Spring Data Elasticsearch,百度云 Elasticsearch安装包
  17. 计算机网络第一章概述
  18. python invoking c++
  19. OCR学习之一:OCR简介
  20. Flask 学习-9. 开启调试模式(debug模式)的2种方法

热门文章

  1. 九度OnlineJudge之1003:A+B
  2. 【VC皮肤】破解版skin++皮肤库使用
  3. 使聊天机器人的对话更有营养
  4. js之旅(十五)js向上取整、向下取整、四舍五入等
  5. 福建师范大学2020年8月计算机应用基础,福建师范大学16年8月《计算机应用基础》作业考核导学资料...
  6. python和revit_Revit中Dynamo编程——Python脚本编程与RevitAPI交互的注意事项
  7. 思科多层交换机VLAN间路由及其配置
  8. python取整求余
  9. javascript 红黑树算法与说明
  10. 如何使用微软官方工具制作win11启动盘