万众海浪论坛  
温馨提示今天是:

当网络繁忙时请选择:https://bbs.838778.com(线路一)https://bbs.939138.com(线路二)进入本站论坛。


 
标题: 不能说的秘密:我用 Python 爬了爬自己的微信朋友,发现……
风颖猫
金牌会员
Rank: 6Rank: 6


UID 186393
精华 0
积分 2810
帖子 562
威望 2810 点
金钱 11250 RMB
阅读权限 70
注册 2017-9-5
状态 离线
 
发表于 2017-9-7 08:41  资料  个人空间  短消息  加为好友  QQ
不能说的秘密:我用 Python 爬了爬自己的微信朋友,发现……

不能说的秘密:我用 Python 爬了爬自己的微信朋友,发现……
2017-07-19 17:30来源:炼石网络空间安全研究院
<p>原标题:不能说的秘密:我用 Python 爬了爬自己的微信朋友,发现……</p> <p></p> <p>最近几天干啥都不来劲,昨晚偶然了解到 Python 里的 itchat 包,它已经完成了 wechat 的个人账号 API 接口,使爬取个人微信信息更加方便医学博士公布不同体型人群科学饮食方案 。鉴于自己很早之前就想知道诸如自己微信好友性别比例都来自哪个城市之类的问题,于是乎玩心一起,打算爬一下自己的微信。</p> <p>微信好友信息收集</p> <p>首先,在终端安装一下 itchat 包。</p> <p>数据爬取教程消化不良的饮食原则安装完成后导入包,再登陆自己的微信。过程中会生产一个登陆二维码,扫码之后即可登陆。登陆成功后,把自己好友的相关信息爬下来。</p> <p></p> <p>有了上面的 friends 数据,我们就可以来做分析啦。</p> 中医小窍门中医点穴法治急症<p>自己微信好友的男女比例</p> <p>仔细观察了一下返回的数据结构,发现”性别“是存放在一个字典里面的,key 是”Sex“,男性值为 1,女性为 2,其他是不明性别的(就是“赏识教育”重要性没有填的)。可以写个循环获取想要的性别数据,得到自己微信好友的性别比例。</p> <p></p> <p>打印的结果为:</p> <p>男性好友:37.65%</p> <p>女性好友:59.23%</p> <p>不明性别好友:3.12%</p> <p>啊,一不小心就暴露了自己女性朋友比较多的事实。然而为什么我现在还是一只汪?!好了,再把这个数据用R画成图看看(Python 作图真的是忍不了,代码就不放了):</p> <p></p> <p>自己微法国女人的抗衰老方法信好友的城市分布</p> <p>再仔细观察 friends 列表,发现里面还包含了好友昵称、省份、城市、个人简介等等的数据,刚好可以用来分析好友城市分布,最好的方式是定义一个函数把数据都爬下来,存到数据框里,再进行分析。</p> <p></p> <p>以上便得到一个叫 data 的 csv 桌面文件, 用 R 打开并简单做一下数据预处理,得到如下(涉及隐私的已被预处理):</p> <p></p> <p>接着先根据省份、城这四种懒我们千万不能偷市进行数据的分组和聚合,选择排名前二十的,利用 ggplot2 包画出如下的城市分布图(代码太长,不放了,就是这么任性,有需要参考的直接向我拿):</p> <p></p> <p>看来我大部分的朋友都是在广东的(不是废话吗),其中广东的朋友大部分集中在广、深、珠,第二名是在奥克兰, 接着是四川、澳门等。灰色的 NA 值是指没有设置自己所在地的朋友,一共有 70 多人。</p> <p>另外,在国外的朋友由于微信的女性痛经背后的健康隐患设置问题(很多是直接跳过省份,只有城市可以选择的),很多国外的城市被误当成了省份。</p> <p>再来一张图看看自己微信朋友在广东的具体分布(取前八):</p> <p></p> <p>自己微信好友个性签名的自定义词云图</p> <p>好玩的来了。之前已经爬下了每个好友的个性签名,刚好可以分析一下大伙儿个性签名时使用的高频词语是什么,顺便可以做个词云图。</p> <p>先把原先爬下来的个性签名(Signature)打印出来,发现有很多本来吹电扇空调导致的感冒治疗有妙招是表情的,变成了 emoji、span、class 等等这些无关紧要的词,需要先替换掉,另外,还有类似 /= 之类的符号,也需要写个简单的正则替换掉,再把所有拼起来,得到 text 醋的营养价值与功效 字串。</p> <p></p> <p>接着就可以把 JB,啊不,把结巴分词这个包搞进来分词。</p> <p></p> <p>终于可以进入画图阶段了。可以根据自己想要的图片、形状、颜色画出相似的图形(在这里,我使用的是我的头像,当然,为了颜色可以更加鲜艳使最后画出的词云图更加好看易辨,我先对自己的头像用 PS 做了一点小处理)。为此,我们需要把 matplotlib、wordcloud、numpy、PIL 不同年龄的女人乳腺疾病各不同等包搞进来。</p> <p></p> <p>运行上面的代码,得到下面的图:</p> <p></p> <p>看来,在我的微信好友的个人签名里,有人善于聆听,有人强调善良,有人重视灵魂,有人凝视人生。一直在等待,不放弃寻找。历尽曲折,不畏虚伪。真心如一,不能辜负。一步一生多努力,一起一切 one more dream(真编不下去了)。</p> <p>最后</p> <p>以上是不是很有趣呢?是不是又打开了一扇新世界的大门呢?</p>舔了小姐下身会得艾滋吗?  <p>我微信好友也不是太多,如果微信好友有几千个,可以得到几千条数据,分析一下还是很有价值的。</p> <p>当然,itchat 包还有很多其他的功能还有待发掘,包括自动回复微信信息、自动添加好友、管理微信群等,有时间再慢慢摸索吧。</p> <p>(来源:36大数据)返回搜狐,查看更多</p> <p>责任编辑:</p>
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
柔道是哪个国家的柔道和柔术有什么区别 阅读 ()











http://bbs.54qnw.com/thread-25814-1-1.html
http://cnwsz.org/forum.php?mod=viewthread&tid=271737
http://www.fangjinyun.me/forum.php?mod=viewthread&tid=8657
http://www.manypet.com/forum.php?mod=viewthread&tid=115615
http://www.hunbuli.com/forum.php?mod=viewthread&tid=258014
http://wx.gplm.cn/forum.php?mod=viewthread&tid=164157
http://www.doerclub.cn/forum.php?mod=viewthread&tid=773867
http://www.dinkzu.com/forum.php?mod=viewthread&tid=60209
http://wavs.cn/forum.php?mod=viewthread&tid=2408445
http://v5w.com/discuz/index/forum.php?mod=viewthread&tid=298704
http://ytskincare.com/forum.php?mod=viewthread&tid=259126
http://ugscn.cn/forum.php?mod=viewthread&tid=149773
http://www.dy900.cn/forum.php?mod=viewthread&tid=237084
http://www.gangtiezixun.com/forum.php?mod=viewthread&tid=60348
http://ai99.cn/forum.php?mod=viewthread&tid=1666200
http://www.223600.cc/forum.php?mod=viewthread&tid=275056
http://bbs.chnhengrui.com/forum.php?mod=viewthread&tid=28079
http://zhun28.com/forum.php?mod=viewthread&tid=384559
http://www.fjptw.com/forum.php?mod=viewthread&tid=428868
http://www.chwlvip.com/forum.php?mod=viewthread&tid=48491

顶部
 

 

本站永久域名①:www.838668.com (点击加入您的收藏夹)

当前时区 GMT+8, 现在时间是 2024-12-23 02:37

     Powered by Discuz! 5.5.0  © 2001-2007, Skin by Cool
Clear Cookies - Contactus - 万众海浪论坛 - Archiver - wap