技术群里一位读者微信私聊我,问我能不能统计下微信好友信息并以文件形式保存。其实,以前也写过类似的文章,一篇是微信好友性别统计,一篇是制作好友签名的词云图。比较分散,今天就索性把他们整合一下,一次性完成制作好友信息 csv 表格、性别统计饼图、昵称词云图、个性签名词云图、好友城市地区分布柱形图。

效果图

以下是本次程序运行后生成的信息图。(源码获取方式文末已给出)

1、好友信息表格

csv 文件中包括昵称、备注名称、性别(1 表示男,2 表示女,0 表示没有填写性别信息)、个性签名、省份、城市。第一条信息是自己的信息。

Python资源共享群:484031800

2、好友性别统计饼状图

此图根据收集的好友信息的性别进行统计比例,图中看到我的微信好友中男性还是占大多数的,也有一部分伙伴不愿意透露自己的性别。

3、好友昵称词云图

对微信好友的昵称收集进行分词后做成词云图,图中字体越大表示出现的次数越多。看来有部分伙伴喜欢取叠词作为昵称,像露露、大大、甜甜、西西之类的。其他的昵称有「人生」和「天下」的豪迈,也有「蜗牛」和「晴天」的惬意。

4、好友个性签名词云图

对微信好友的个性签名收集进行分词后做成词云图,图中字体越大表示出现的次数越多。人生、奋斗、生活、努力、世界、未来等是我微信好友签名的主旋律,看来大家都是积极向上的乐观派。

5、好友主要城市分布柱形图

对微信好友资料中填写的城市或地区进行统计,图中为了展示效果,我去掉了地区个数小于 5 个的地区数据。

项目环境

语言:Python

编辑器:Pycharm

导包

需要导入的主要包如下:itchat:Python 实现调用微信接口的第三方模块。

jieba:分词库,用于制作词云图前的分词。

matplotlib:画词云图需要用到。

wordcloud:画词云图需要用到。

pyecharts:用于画柱形图和饼状图。

代码分析

代码结构由 7 部分组成,收集好友信息、整合信息、保存为 csv 文件、制作性别统计饼图、制作昵称词云图、制作个性签名词云图、制作好友城市地区分布柱形图。下面对这 7 部分进行分析讲解。

收集信息

通过 itchat 库获取所有微信好友信息并进行整理,并将好友信息一一对应打包成元组,主要代码如下。

整合信息

把收集的信息整合成字典形式,方便之后对信息进行更方便的提取,主要代码如下。

保存csv文件

将上面的字典信息保存为 csv 文件,保存文件的方法之前项目也经常用到,在此不再赘述,主要代码如下。

制作性别统计饼图

在上面收集的信息中遍历好友性别信息,为 1 时,男性数量加 1,为 2 时,女性数量加 1,其他就是表示没填写性别信息的。调用 pyecharts 库中的 Pie 方法制作饼图,生成的是一个 html 文件,打开此文件就会显示统计饼图。此文件保存目录需自己指定目录,不然会报错,代码如下。

制作昵称词云图

从上面获取的信息中提取所有好友的昵称信息,进行分词。制作词云图的背景图需要指定详细的本地路径。对词云图的参数进行设置,词云图里的字体 font_path 可以更改成自己喜欢的字体,Windows 电脑一般在系统盘\Windows\Fonts 目录下,右键点击你要设置的字体查看属性就可以看到该字体的名称。

生成的词云图我保存在该项目代码的同一目录下,主要代码如下。

制作个性签名词云图

个性签名词云图和昵称词云图的代码几乎一样,只是从上面信息取的是个性签名信息做成词云图而已。代码中保存的词云图名称改成和昵称词云图不同即可,不然会覆盖保存。当然你可以把制作词云图的背景图换一个,由于代码几乎一样,就不做展示了。

制作好友城市分布图

提取信息中的城市或地区信息,去除没填写地区或城市的空白字符。对地区信息进行统计,为了展示效果,我去掉了所在地区个数在 5 个以下的情况,因为城市太多,图会显得很臃肿。调用 pyecharts 库中的 Bar 方法制作柱形图,生成的也是一个 html 文件,和上面制作性别比例饼图一样。html 文件保存目录需自己指定目录,代码如下。

用 Python 制作这些可视化图形之前文章也讲过,没来记得看的戳这里查看 Python让你的数据生成可视化图形

python爬虫爬微信数据可信吗_Python爬取微信,我发现了之前没发现的秘密!相关推荐

  1. python爬虫搜特定内容的论文_python爬取指定微信公众号文章

    python怎么抓取微信阅清晨的阳光比不上你的一缕微笑那么动人,傍晚的彩霞比不上你的一声叹息那么心疼,你的一个个举动,一句句话语都给小编带来无尽的幸福. 抓取微信公众号的文章 一.思路分析 目前所知晓 ...

  2. Python爬虫大作业+数据可视化分析(抓取python职位)

    目录 一.抓取并解析数据 1.导入相关库 2.获取网页信息 3.数据清洗 4.爬取结果: ??二.保存数据 1.保存到excel中 2.保存到数据库中 ? ?3.调用 三.使用flask,实现可视化 ...

  3. python爬虫之股票数据定向爬取

    python爬虫之股票数据定向爬取 功能描述 目标:获取上交所和深交所所有股票的名称和交易的信息 输出:保存到文件中 技术路线:requests-bs4-re 前期分析 选取原则:股票的信息静态存在H ...

  4. Python爬虫 | 对广州市政府数据统一开放平台数据的爬取

    Python爬虫 | 对广州市政府数据统一开放平台数据的爬取 简单爬虫 网页分析 爬虫代码 简单爬虫 本次爬虫演示的是对 广州市政府数据统一开放平台 数据的爬取 网页分析 我们先到url=' http ...

  5. python爬虫好友图片_用itchat库爬取你所有微信好友的头像,并合成一张大图

    几年前,我们给爸妈手机上下载了一款神奇的软件,他的名字叫微信.几年后,爸妈就开始吐槽我们的微信头像了. 爸妈对我们微信头像的关注程度远胜过我们的衣食住行,我在新浪微博上看到了这张统计图. 图片来源:新 ...

  6. Python爬虫人工智能大数据全栈视频史上最全合辑教程分享!

    Python爬虫人工智能大数据全栈视频史上最全合辑教程分享! 毫无疑问Python是这两年最火的编程语言,不仅容易上手,且在多个行业都可应用.尤其今年人工智能及大数据的发展,Python将会展现更多的 ...

  7. Python爬虫之scrapy框架360全网图片爬取

    Python爬虫之scrapy框架360全网图片爬取 在这里先祝贺大家程序员节快乐,在此我也有一个好消息送给大家,本人已开通了微信公众号,我会把资源放在公众号上,还请大家小手动一动,关注过微信公众号, ...

  8. Python爬虫系列之抖音热门视频爬取

    Python爬虫系列之抖音热门视频爬取 主要使用requests库以及手机抓包工具去分析接口 该demo仅供参考,已经失效,需要抖音2019年5月最新所有接口请点击这里获取 抖音资源获取接口文档请点击 ...

  9. python Chrome + selenium自动化测试与python爬虫获取网页数据

    一.使用Python+selenium+Chrome 报错: selenium.common.exceptions.SessionNotCreatedException: Message: sessi ...

最新文章

  1. OMG!我居然把新首页设计出来了!
  2. 第十六届智能车竞赛广东省线上比赛第二波来袭
  3. .net 测试工具类
  4. python的字符串包括哪些_python公开课|Python字符串包含什么,我们应该怎么用
  5. 笔记本电脑下载python视频-学Python买什么笔记本电脑?
  6. (笔记)Mysql命令show databases:显示所有数据库
  7. RC952-FXE1-BL用户使用手册(存档)
  8. 单片机毕业设计196例
  9. vb在服务器上新建文件夹,VB 创建文件夹
  10. docker安装gamit_Ubuntu 14.04下Gamit10.5安装
  11. jQuery fadeIn淡入的使用
  12. 【寻找最佳小程序】01期:影视评分小工具“豆瓣评分”——产品设计要点及专家评析
  13. Espresso Idling Resource 使用
  14. 七牛非Cocoapods 手动集成霹雳直播SDK(通用版)
  15. Ubuntu18.04 同一个程序显示两个图标,收藏夹图标不合并问题解决
  16. 单道批-多道批-分时-实时
  17. 二分查找算法应用-实现求平方根函数
  18. C#使用德卡T10读取社报告卡基本信息
  19. ORA-04091:表XX发生了变化,触发器/函数不能读它
  20. 赛扬处理器_英特尔释放诚意:入门赛扬处理器升级不加价

热门文章

  1. 类脑视觉认知及人脸识别
  2. android屏幕坏了,手机屏幕坏了怎么办 手机屏幕坏了怎么换
  3. Android开发中微信分享图片有的图片分享不出去的问题解决
  4. c语言中两个数最大公约数怎么求,C语言求两个数中最大公约数
  5. Socket之shutdown()用法
  6. android实现windows菜单风格,【技术宅】如何打造WIN10风格的安卓桌面(多图注意)...
  7. uniquify (synthesis)
  8. virtualbox安装windows系统,开机时出现fatal:No bootable medium found, System halted的错误。
  9. 有意思的程序员资源与工具
  10. 一元享移动怎么样_中国联通“放大招”强怼移动:再推0月租视频日租卡、1元享10G省内流量!...