纵有疾风起
人生不言弃

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我

今天,我发现班级群里的女同学几乎都用自己的照片做头像,面对着一张张曾经熟悉又好几个月没有见的面孔,我突然萌生出了一个想法:用python给她们的颜值排个序,说干就干!

一 先把头像下载下来

获取头像接口

首先我不打算用itchat或wxpy等微信接口模块,因为这些接口貌似无法通过以微信群为组别来返回数据,我准备从网页版微信入手。

扫码登录完毕后,经过反复调试,我发现了规律,当在聊天列表中首次点进某个群聊时,服务器端会返回该群内的用户信息:

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图
image

随便点进1个群,该群总共有129个用户,大家可以看到,该过程中有3次post请求,前两次分别返回50条信息,第三条返回20条信息,也就是说,每次最多返回50条信息,这些信息中包含用户的个人昵称、群昵称、头像url、性别、地区等信息:

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图1
image

再来看看它post请求的具体信息:

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图2
image

最主要的的内容是请求主体,它包含了我们要获得信息用户的某些特征参数所以我只需在网页端找到这个请求主体,然后再复制到python里模拟请求就ok了,这也避免了分析参数的问题:

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图3
image

这样就获取好友列表信息了,最后for循环获得头像url!

保存群用户头像信息

起初我以为和上一步用同一个session会话就可以把图片保存下来,但是保存内容为空,然后我还是循规守矩,参考第一步方式开始爬取头像信息,并以群昵称命名:

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图4
image

运行程序就可以把群内用户的头像全保存下来了

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图5
image

调用百度人脸识别接口识别头像颜值

注册百度云账号,创建人脸识别应用
用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图6
image

记住API Key和Secret Key,下面调用接口要用到。

遍历文件夹内的图片信息
用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图7
image

我们在img文件夹下,遍历所有头像(ImgFile为每张头像的路径)

用python调用接口进行人脸识别

先构建get_access_token函数:

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图8
image

这里用到了上述的API Key和Secret Key参数值,并返回access_token值。

最后,对每个头像进行识别,结果中会包含年龄、性别、脸型、笑容等信息,这里我们只取性别、年龄、颜值等3类信息:

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图9
image

在最后我根据识别的结果进行相应过滤,只保存识别结果为female的的图像,非女生头像的都给舍弃掉了,最后把结果保存到表格中就ok。

一切就绪之后,我迫不及待的把结果发到了群里,以为会有人夸我聪明能干:

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图10
image

然后,排名最后的大姐给我发了下面一句话:

用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我插图11
image

怎么办啊,心好慌,不敢去上学了。“不做死就不会死”。

点击了解更多获取PythonWeb开发,数据分析,爬虫,人工智能等学习知识,
点击了解

来源:本文为第三方转载,如有侵权请联系小编删除。

文章转载于:https://www.jianshu.com/p/beff093bd948

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录