如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例
前几天给大家分享了利用Python网络爬虫抓取微信朋友圈的动态(上)和利用Python网络爬虫爬取微信朋友圈动态——附代码(下),并且对抓取到的数据进行了Python词云和wordart可视化,感兴趣的伙伴可以戳这篇文章:利用Python词云和wordart可视化工具对朋友圈数据进行可视化。
今天我们继续focus on微信,不过这次给大家带来的是利用Python网络爬虫抓取微信好友总数量和微信好友男女性别的分布情况。代码实现蛮简单的,具体的教程如下。
相信大家都知道,直接通过网页抓取微信的数据不太可行,但是强大的Python提供了一个itchat库,搭建了链接微信好友信息的友好桥梁,直接上代码,如下图所示。
关键部分的代码,都有注释,方便大家理解。当程序运行的时候,会弹出一个微信二维码,此时需要用手机扫码授权登录。如果您当时正在微信电脑版上登录的话,此时微信会强制退出,然后进行授权。授权成功之后,程序会继续往下执行,稍等片刻之后,便可以给您返回您的微信好友数量信息。
在这里,以小编的微信好友为例,程序运行之后,得到的信息如下图所示:
可以看到,小编的微信好友共有1637人。相信很多小伙伴已经知道在手机微信页面的第二个选项卡“通讯录”下,一直往下拉取好友列表,直到最后,就可以看到自己微信好友的数量,大家可以试试看,是不是和Python程序抓取到的数量是否一致。
接下来,小编继续带您继续发现微信好友中的男女比例。其实也很简单,代码实现也很容易,这里介绍两种方式,如下图所示。(注:代码是接着前面的程序往下继续写的)
可以自定义一个函数,获取性别信息,也可以直接调用value_counts()方法,可以更方便统计各项出现的次数。小编的微信好友男女数量情况如下图所示,在这里,1代表男士,2代表女士,0代表未知性别(因为有的好友并没有设置性别这一项)。
可以看到,小编有884位男性好友,拥有655位女性好友,还有将近100位好友未知男女性别情况。
至此,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例已经完成,小伙伴们可以打开电脑,赶紧去尝试一下吧,简单的几行代码,带你玩转微信好友~~~
这篇文章的主要参考链接在这里:https://blog.csdn.net/zhanshirj/article/details/74166303,感谢大佬提供的思路和方法。
下一篇文章,小编继续给大家分享微信好友的那些事儿,带大家利用Python网络爬虫抓取微信好友的所在省位和城市分布,并且对其进行可视化,敬请关注~~
最后,祝大家520节日快乐!有女朋友的抱紧女朋友,有老婆的抱紧老婆,啥也没有的请抱紧你的基友~~
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
京东2018秋招笔试编程题集合
1.括号匹配方案 合法的括号匹配序列被定义为: 空串""是合法的括号序列 如果"X"和"Y"是合法的序列,那么"XY"也是一个合法的括号序列 如果"X"是一个合法的序列,那么"(X)"也是一个合法的括号序列 每个合法的括号序列都可以由上面的规则生成 例如"", "()", "()()()", "(()())", "(((())))"都是合法的。 东东现在有一个合法的括号序列s,一次移除操作分为两步: 移除序列s中第一个左括号 移除序列s中任意一个右括号.保证操作之后s还是一个合法的括号序列 东东现在想知道使用上述的移除操作有多少种方案可以把序列s变为空 如果两个方案中有一次移除操作移除的是不同的右括号就认为是不同的方案。 例如: s = "()()()()()",输出1, 因为每次都只能选择被移除的左括号所相邻的右括号. s = "(((())))",输出24, 第一次有4种情况, 第二次有3种情况, ... ,依次类推, 4 * 3 * 2 * 1 = 24 输入描述: 输入包括一行,一个合法的括号序列s,序列长度length(2 ≤ length ≤ 20). 输出描述: 输出一个...
- 下一篇
JavaScript高级程序设计学习(四)之引用类型
在javascript中也是有引用类型的,java同样如此。 javascript常见也比较常用的引用类型就熟Object和Array。 一个对象和一个数组,这个在前后端分离开发中也用的最多。比如ajax传参,有时我不仅仅只是需要一个参数,例如添加方法,传的是一个对象,对象存在属性。在java中对象也可以说类。因为类存在属性,例如人类,他的属性有身高,体重,姓名,年龄,性别等。而js对象,也可以这样,比如车,它可以有品牌,颜色,造型等等。 js对象可以做什么呢?同java对象有什么区别呢? 第一,如果要问题js对象可以做什么,最简单最直白最实用,我可以将一些公共属性放到这个对象中,然而我只需对象.属性,即可拥有。别说这个不常用,比如项目路径,全局变量等,都可以这样做。这样的话,代码会得到一定的规范。代码规范是很重要的,这个对于初学者而言,要牢记。不规范导致的只是无止休的重复劳动。 第二,js对象方便异步ajax传参,无论是react或者vue.js,我相信异步传参基本还是要用对象的; 作为IT从业者而言,时间对于我们就是金钱。时间是非常宝贵的,因为时间让我们增长自己的知识才能,在这个培...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS关闭SELinux安全模块
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Redis,开启缓存,提高访问速度