前言

前段时间公司里有个同事发了张图片在群上,是他所有微信好友头像拼成的一张大图,我看着挺有意思,就想自己也搞一下,然后百度了下怎么抓取微信好友之类的……一搜全是用Python抓取的,之前就听说过Python爬虫,但是没怎么接触过Python,算是小白(真小白)。不过我不慌,好歹自己是计算机专业(而且现在做的是Java开发),语言的原理应该是想通的,所以就大概看了下Python的介绍和基础语法,然后又自己捣鼓了下用Python写个helloWord,嗯,感觉很简单呀!但是要我自己一步步去弄?不存在的

搜了很多篇文章怎么抓取微信好友分析之类的,感觉没有一点Python基础还真地看不懂,自己又是一个嫌麻烦的人,最终Google了一篇比较适合小白用户操作的文章,下面会讲到。但是对于真小白(完全不懂Python的人来说还是有点难的),因为对于我们这种门外汉来说,我只是想操作软件那样简单操作几下就能得到我想要的结果而已,我不想浪费时间去了解什么Python什么安装环境什么原理,巴拉巴拉……所以就有了这篇博客,废话少说,下面进入正题

注:本篇博客不讲原理(因为我也不懂,哈哈),只讲实现过程,原理请移步下方的参考

正文

效果

欲练神功,必……看效果
1:统计好友的性别

看起来男女比例差不多啊

2:统计好友的地域分布,并且可视化在地图上展示

广东人最多,我系广东人

3:将好友的昵称做成词云

因为这个信息比较私人,这里就不展示。跟下面好友签名的词云分析显示效果差不多,用的一样技术

4:统计好友个性签名中的高频词汇

中间最大的几个英文,class、span、emoji应该是一些特殊字符或表情显示不出来。出现比较多的词,比如努力、生活、自己、人生,出现次数越多字越大

5:将所有好友的头像合并成一张大图

本人没有获取好友的同意,头像算隐私了吧?所以打了马赛克(谁还没有一点小秘密呢?)


啊,我的眼睛……

安装Python环境

1、打开Python官网,下载最新版Python3.7.1安装,如下图。

懒得去官网的点这里直接下载链接


2、 下载完之后双击python-3.7.1.exe,勾选Add python.exe to Path(是把Python的安装路径添加到系统环境变量的Path变量中,很重要。大神可忽略,小白必选),点击Install Now(默认安装到C盘,可以自己选择安装目录,由于我的C盘是固体250G,所以就默认安装),如下图

3、安装完之后检查下,点击开始,输入cmd(或者win+R快捷键)打开命令行窗口,输入python,出现下图就说明安装成功。此时输入exit()可以离开python编译器。

安装依赖

在cmd窗口下运行

  • pip3 install pillow

然后就开始安装,等到安装完成之后才可再次输入命令(耐心等,这一过程不要乱动,小白双手可离开键盘),如下图

类似的依次运行下面命令

  • pip3 install pyecharts
  • pip3 install itchat
  • pip3 install jieba
  • pip3 install echarts-china-provinces-pypkg
  • pip3 install echarts-countries-pypkg

下载源码

懂github的

  • github

真小白

  • 百度云

下载之后放到一个地方,然后解压,如下图

运行

准备好所有东西之后就可以正式开始抓取微信好友信息了

获取用户信息

1、需要将get_user_info.py第70行的二胖,改成自己的名字(这里我改成自己的微信昵称:鲜花)。

用什么软件打开修改?我用的是notepad++(百度下载就行),或者直接用文本text软件notepad.exe打开也行,不过格式不好看

2、定位到源码根目录下,cd /d F:\Projects\python\wechat_friends-master(替换成你自己的)或者在源码根目录下按住Shift+鼠标右键,选择在此处打开命令窗口,如下图

3、输入python get_user_info.py,(如果安装了多个python环境的输入python3 get_user_info.py), 执行后会弹出微信网页版登录的二维码,用手机微信扫一扫并且同意登录即可(如果图片没弹出来,在源码根目录下找到QR.png,手动点击打开),如下图:

命令执行后,等待,出现下图说明已登录成功并获取到了好友的信息

python get_user_info.py执行后

  • 会在data目录下生成friends.json (存放抓取到的好友信息,比如昵称、头像链接、个性签名等)
  • 会在images目录下存放所有好友的头像
    如下图

到此,我们的好友数据拿到了,下面就是对数据进行可视化分析

数据可视化分析

在cmd命令窗口中按住Win+C键结束命令,输入python analyse.py,(如果安装了多个python环境的输入python3 analyse.py),数据处理过程需要点时间(等待吧),如下图

当出现如下图时说明处理完成了

python analyse.py 执行后会在analyse文件夹下生产合成后的图片以及可视化的文件,如下图

至此,大功告成,去看看我们自己的好友分析吧,点开html文件即可用浏览器访问

总结

周六早上捣鼓了下这个微信好友分析,顺便写了一篇博客,感想如下

  • 完事开头难,你去做了其实也就那样
  • 写详细的博客真心累(小白笑了,大神呵呵)
  • 感谢二胖(本篇微信好友分析源码的原作者,想详细了解的移步下方的参考)

参考

分享一段代码-微信好友分析


更多精彩文章请关注

  • 个人博客:EdwardDrew
  • 简书
  • CSDN

真小白|一步步教你用Python抓取微信好友分析相关推荐

  1. 使用python抓取微信好友个性签名并形成词云(itchat;wordcloud)

    我主要参考这篇文章进行实践:点击打开链接 python版本:3.5 首先整体步骤分为两步:第一步,抓取好友个性签名,这一步主要依靠itchat实现:第二步,分词并形成词云,主要依靠jieba和word ...

  2. 手把手教你使用Python抓取QQ音乐数据(第四弹)(文末赠书)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 千里之行,始于足下. [一.项目目 ...

  3. 手把手教你入侵网站修改数据_手把手教你使用Python抓取QQ音乐数据(第四弹)...

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  4. 手把手教你使用Python抓取QQ音乐数据!

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  5. aws python sns_手把手教你用Python抓取AWS的日志(CloudTrail)数据

    原标题:手把手教你用Python抓取AWS的日志(CloudTrail)数据 作者: Gang TAO 大数据时代,利用数据做决策是大数据的核心价值. 本文手把手,教你使用python进行AWS的Cl ...

  6. python爬取qq音乐歌曲链接为什么播放不出来_手把手教你使用Python抓取QQ音乐数据(第一弹)...

    原标题:手把手教你使用Python抓取QQ音乐数据(第一弹) [一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. ...

  7. python抓取内存中的网页_『爬虫四步走』手把手教你使用Python抓取并存储网页数据!...

    爬虫是Python的一个重要的应用,使用Python爬虫我们可以轻松的从互联网中抓取我们想要的数据,本文将基于爬取B站视频热搜榜单数据并存储为例,详细介绍Python爬虫的基本流程.如果你还在入门爬虫 ...

  8. 如何用python抓取qq音乐_手把手教你使用Python抓取QQ音乐数据(第三弹)-阿里云开发者社区...

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  9. python音乐的数据抓取与分析_手把手教你使用Python抓取QQ音乐数据!

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

最新文章

  1. 鲁迅说:“智能不够,人工来凑”
  2. C#中几种换行符,不同操作系统各不相同【转】
  3. just have a view of the open source project i contributed!!!
  4. leetcode 91. Decode Ways | 91. 解码方法(动态规划)
  5. Python time mktime()方法
  6. Ionic--再次打开自动填充用户名和密码的问题解决方法
  7. C#线程锁使用全功略
  8. CME上位机控制Copley驱动MAXON电机
  9. 图形 3.6 纹理压缩——包体瘦身术——RGBA与ASTC与ETC2压缩与实际对比体验
  10. ucla 计算机专业 本科申请,2020年加州大学洛杉矶分校本科专业设置
  11. Android 判断当前身份证格式是否正确
  12. springboot学习(下)
  13. CTF writeup 0_IDF实验室
  14. 组装k39小钢炮(ubuntu16.04),了解一下!
  15. RadiAnt DICOM Viewer Crack by Xacker
  16. 文本摘要生成评价指标——rouge
  17. 今日运势 酷q_《意大利grand老妇人》电影_意大利grand老妇人老版国语字幕-内蒙古呼和浩特铁路预防职务犯协会...
  18. 水位报警器c语言程序,简易水位报警器制作_制作简单的水满报警器 - 全文
  19. 微信小程序离线引入 iconfont 字体图标
  20. c8051f340例程USB_Interrupt的上位机驱动(win7 64位)

热门文章

  1. python的算法是指_Python算法的七个重要特征
  2. 中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(1-5周)
  3. 显示和隐藏mac文件
  4. Xmind 8 pro 软件破解版(经济条件允许的情况下,请支持正版)
  5. CISP-PTE学习总结之基础练习题(四)
  6. Java把带小数点的字符串转换成整数
  7. delphi 11(10.5) 来了
  8. 避开“恐怖谷”,机器人的眼睛应该这样开发…
  9. 链路聚合-LACP模式
  10. 高可用集群篇(五)-- K8S部署微服务