Py学习  »  Python

用python挖一挖知乎上宅男们最喜欢的1000个妹子

数据与算法之美 • 5 年前 • 570 次点击  


在文章开始前,先来一张图给大家热热身。这里是宅男们最喜欢的妹子中排名前200位的头像(实际193张图,部分不规则的图已被二胖过滤)。排名不分先后哈!快来看看有没有你们熟悉的面孔。

找到眼熟的人了吗?说不定你也在里面哦,找到了别忘记点赞哈,文末有福利!!!

二胖相信大家最关心以下两点:

1. 除了照片外还有什么信息?

——那必须呀,肯定还有干货。

2. 这些漂亮美眉是怎样被找出来的呢?

——二胖马上就给大家解答。


01

挖取策略

PS:不关心技术和流程的童鞋可以直接跳过这部分看后面的数据分析部分

首先给大家解释下,二胖是怎么找到这些漂亮美眉的。

先用一张流程图介绍一下整个流程:[左边的方框代表操作,右边的椭圆代表数据]


第一步

人工选择的初始群体很关键,但是并不难。

可以从关注某些问题的相关用户中抓取目标人群,如问题:女生腿长是什么感觉?或者抓取这些问题下活跃男性用户关注或点赞的女性。

二胖这里选择了部分问题和部分男性的关注动态和点赞动态,筛选出了第一批女性群体,也就是上图中的初始美眉群体(具体选择了哪些问题和男性用户二胖就不在这里公布了)。

她们由于某种特殊的关联或者用户行为被聚类在了一起,我们可以简称她们为相似性用户。这里二胖找到了2553人作为初始群体,下图为读取的redis中的记录数。

第二步

下面需要抓取所有美眉的男性粉丝的关注关系。

请注意:这里为什么要抓取关注关系,而不是男性粉丝的集合呢?——因为我们要找到“最佳宅男”。

举个例子:假设初始美眉群体有三个用户:小美、中美和大美,关注关系如下所示:

男性粉丝的集合是:{1,2,3,4,5}

而关注关系指的是:有几条线就有几个关注关系,这里有9个关注关系。

在这一步中,二胖共抓取了219165条关注关系。

第三步

下面需要找出上一步中关注初始女性群体中人数最多的男性粉丝。

这里很容易理解,比如在大美中美小美那张图里,关注初始女性群体人数最多的男性分别是3>2>=4>1>=5,“最佳宅男”就是3啦。

对上一步中的数据进行排序后,共计男性粉丝人数105379人。

二胖在这里截取了前2106名男性作为“宅男”群体。

悄悄给大家看看排行前10的“宅男们”,“宅男”第一名关注了2000多位初始女性美眉中的858人,快一半了,我只想说,老司机带带我。

当然,二胖肯定不能公布他们的信息啦。【下图中打码的部分是他们的url_token,即唯一身份标识;后面的数字是他们所关注的初始美眉群体中的美眉数量】

我只能说,排第一的哥们儿,你吓到我了,赔钱。

第四步

有了这2000多个“宅男”就好办了,接下来的步骤和上面类似。抓取这些“宅男”关注的女性用户,同样按关注关系排序,得到前2000名最受欢迎的美眉:

其中女性关注关系有:344849条。

女性用户集合中有:66869人。

同样,悄悄给大家看看排行前十的美眉被多少宅男关注了,二胖已经悄悄地看了这些美眉们的主页,确实很漂亮,她们的回答中也有特别多的照片😋。

讲到这里,技术实现的过程基本讲解完毕,当然,这只是个粗略的介绍,其中有不少细节二胖省略了。二胖相信,这并不是最佳的操作,比如可以用更加合理的算法和方法聚类,这里就仅供娱乐吧。

02

数据分析

二胖特别喜欢ElasticSearch文档中的一句话:“There is no point in having data unless you plan to do something with it.”。有了数据当然要分析一下啦。

关于宅男

对于筛选出来的2000名“宅男”,二胖也对其进行了简单的分析,我相信大部分人关注的是美眉而不是宅男,所以二胖只统计了宅男们关注的话题、职位等信息。

首先展示的是他们最关注的150个话题,大家可以在词云中仔细找找关键词,有亮点哦。

亮点找到了吗?二胖一眼望过去就看见了“Python、Android、程序员、ios”等内容,看来程序员为宅男队伍的壮大贡献了不少力量啊。

于此,二胖又探究了一下“宅男”们的岗位:

程序员不愧是“宅男”的主力军,这好像并不太奇怪?二胖奇怪的是,为什么有那么多Android开发的童鞋,你们有什么特殊癖好吗?

二胖又顺便分析了下“宅男”们的地理位置,也许是因为北京和上海的用户较多,所以北京和上海的宅男人数也尤为突出。

关于妹子

好啦,你们关注的妹子来啦。

首先还是先看看妹子们关注的话题吧。和宅男们相比,妹子们关注的话题就正常多了,美容护肤、音乐、经济、旅行、法律、金融——确实是很女生了。当然喽,感兴趣的同学可以仔细找找亮点哦。

二胖最关注的是为什么那么多美眉关注Photoshop,莫非妹子们和PS之间有什么不可说的联系吗?嘻嘻。

妹子们的位置和宅男们的一样,身处北京和上海的居多,二胖认为这可能是用户基数大的原因。

除了以上信息,二胖还抓取了妹子们的自我描述,并对关键词进行了提取。而后发现,这些美眉多数都在运营公众号、微博,同时很多妹子还留下了个人微信。

妹子们留下的工作信息比较少,二胖收集到的数据不算很多。不过创始人是什么,妹子们都创业了?嗯嗯,产品经理就不意外啦,很多产品经理都玩知乎的。

除了上述信息外,二胖还抓取了这2000个美眉们回答得最多的问题,下面是排行前25的问题:

很多问题二胖都点开看了,二胖发现这些问题多数都是需要爆照的,比如“你的日常搭配是什么样子?”很多美眉都在这个问题下发了自拍照,大家可以去瞅瞅。

除了这些问题,二胖还将排行前400的问题整理了一下,由于版面问题。这里只放了前25个,需要其他问题的童鞋可以关注二胖的公众号“大数据前沿”,后台回复“知乎美眉”获取。

03

写在最后

除了以上内容,二胖还分析了其他的信息,比如宅男和美眉们的公司、学校等,由于涉及隐私不能发出来,感兴趣的童鞋可以尝试自己分析。

这些数据除了可供娱乐,还可以做很多事情,比如可以帮找女朋友。

举个简单的例子:你想要找一个长得好看、单身、身材好、腿长并且短发的女朋友该怎么办。最简单的办法就是用程序去查找:同时回答了以下问题的女性。

  • 女生腿长是什么感觉?

  • 身材好是一种怎样的体验?

  • 长得好看,但没有男朋友是怎样的体验?

  • 女生有一头短发是种怎样的体验?

当然这不一定准确,也不一定能找到某些潜水用户,但是至少比我们一个一个去找要快得多。

除此以外,大家一定要注意保护自己的隐私!用户行为都是可以被获取的,用程序可以计算出你的习惯,并对你进行简单的用户画像、分类等。就拿知乎来说,通过大家关注了哪些人、点了哪些赞、关注了哪些问题、留下的职业及学校等信息基本就可以大致判断出用户的类型,要不怎么会有个性化推荐呢。所以,在大数据时代,我们几乎是没有隐私可言的。当然,这也有利有弊,用一定的算法,我们也可以发现一些异常行为,比如知乎上的不少骗子、酒托、饭托等,都可以通过数据聚类,从而发现社会上一些不和谐的事情。

本文涉及的代码和数据就不提供给大家啦。一是为了避免大家的抓取对网站服务器造成过多压力,二是数据具有一定的隐私性。感兴趣的童鞋可以自己通过技术实现,二胖在文中也有说到实现思路。

本文授权转自:大数据前沿


数据与算法之美

用数据解决不可能


长按扫码关注



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/mSqxLFHJK7
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/21650
 
570 次点击