2019脱单指南 | 用Python数据解决单身问题

国家统计局人口数据采集Python脚本数据汇总!怪不得这么多人单身 通过采集国家统计局“国家数据”网站中提供的中国历年人口数据,并对数据进行可视化的探索,发现了一些有意思和令人深思的现象和趋势。 有一些小伙伴后台留言希望公布一下采集“国家数据”网站人口数据的代码,在这里,就将总人口、人口出生率、人口年龄结构和人口平均寿命4项数据的代码公布出来,方便大家学习和使用。 涉及到的模块 在这里使用到的第三方库有requests,通过pip命令即可直接安装: 私信... 阅读详情
问答类型平台最有趣的地方就在于不确定性,因为你永远不知道沙雕网友会提什么脑洞问题。

最近很多关于晒择偶标准的帖子,活脱脱把知乎变成了另一个“世纪佳缘”,回答清一色的爆照和晒条件,这对于单身狗来说是妥妥的福利。

母胎SOLO的程序员小Q就沉迷其中不能自拔,这是他流着哈喇子发出的第100次感慨“你说说!这些小姐姐照片是真好看!但回答实在太太太多了,怎么才能在这些回答中找到合适的人选呢?Z哥,你能不能从数据分析角度给我点思路啊?”

小Z不胜其扰,被迫接受了这个艰难的任务——基于数据打造一份择偶指南

 数据获取

首先,我们要拿到这些小姐姐们的数据,小Z找到了择偶/相亲相关内容下最热门的一个问题——你的择偶标准是怎样的?

说是问择偶的标准,其实全是希望找到另一半的小哥哥、小姐姐们在答题。目前已经有27000+回答了:

回答爬取这一块,知乎还是比较友善的,只需要在XHR里面找到回答的动态网址,伪装headers的User-Agent就能够欢乐的批量爬取了。

小Z不费吹灰之力就爬到了问题下27664条回答,还包括每条回答的答主昵称、关注人数、点赞数、性别等一大票字段。

数据初窥

1、匿名情况和性别占比

截至日前,这个回答下有13527个用户是匿名的,占比(48.90%)接近半数。需要注意的是,所有匿名用户的性别默认都是男(知乎性别1表示男,0表示女,-1代表未知)。出于职业习惯,小Z以迅雷不及掩耳之势分析了男女占比(剔除了匿名用户的占比):

小Z发现,这个问题下,已经有大神基于内容进行了匹配,在未剔除匿名的情况下,发现男性占比较大。

而我们剔除掉匿名的用户,只基于爬取的性别源数据进行分析,发现男、女、未知三分天下,性别占比相对均衡,可以确定的是,目前回答下有4758个不匿名的小姐姐。(这两套逻辑下的统计结果并不冲突)

2、回答创建时间分布

在看回答创建时间分布前,需要先把知乎默认的时间戳格式转换成我们习惯的时间格式:

回答时间分布:

  • 2018年4月30号,随着问题的提出,第一个哥们开始答题,前期这个问题一直处于日回答数不过50的不温不火状态。时间来到了18年国庆节,可能是单身狗返乡受到亲友们的疯狂质询,导致回答数暴增,10月7日当天,日回答数突破300大关,随后回答数稳定在100左右。

  • 无从考证2018年12月13日发生了什么,那一天有506颗悸动的心将脱单的希望交给了知乎。

  • 19年春节前的返乡期,又是一次情感大拷问,也是回答数的第三个小高潮。及至今日,每天还有60+新增回答。

 缩小脱单范围

“哥们,你看看吧”一番标准汇报式的操作完成之后,小Z有些嘚瑟。

“Emmm,这都哪儿跟哪儿啊!你别给我看这些有的没的行吗!什么男女占比,什么发布时间分布,都关我屁事啊,我需要的是切实的!可以帮助我在上面找到女朋友的数据建议!”

纳尼?这跟我预想的他会猛夸我一顿的结果完全不一样啊!不过他说的确实在理。小Z顿时没了底气。“那行,数据都拿到了,你说说你找女朋友什么条件吧”

小Q45度角仰望天空,露出了少男怀春般的甜笑“什么条件不条件的,我只想找到一个我愿意为她放弃所有预设条件的灵魂伴侣~”

噗!“这才是他单身的根本原因啊!这个人可能被需求压成傻子了,要包容,要包容,要包容”小Z吐完一口老血后不断安慰自己。

小Q继续补充道:“这样吧,你能帮我列一个清单吗?我觉得可能还是要自己聊聊,看合不合拍。哦对了,匿名的就算了,我不喜欢太害羞的”。

得!匿名算了是吧,那我直接筛掉!灵魂伴侣是吧,那肯定接受异地,地区匹配先省略了!能放弃所有预设条件是吧,那学历年龄身高哥也不用给你去正文苦哈哈的匹配了!

问题的重点,就在于如何设计一套合适的逻辑来从数据中清洗和筛选出目标小姐姐们。

沉思片刻,小Z制定了一个四步脱单法来解决这个问题:

1、既然是灵魂伴侣,那如果回答连30字都没有超过,不是抖机灵就是敷衍,怎么能承担起“灵魂”二字呢!必须PASS掉!

搞定,这一步下来,目标群体还有4244个小姐姐

2、数据最重要的特性之一就是时效性,别看回答数量这么多,真正抓得住的幸福才是属于自己的幸福,如果一个答主最近一次更新答案的时间超过了一个月,那只有两种可能,要么是她已经找到了,要么她已经对这个方式失去了兴趣。所以,加上时间条件,筛选出最近30天还活跃的小姐姐们。

经过本轮筛选,小姐姐的数量直接从4244个缩小到598个。

3、小Z发现,有一些小姐姐在回答中强调照片OR内容已删,已经找到。这类回答当然要继续PASS。

还剩下562位~

4、对于相貌平平无奇,条件一般的小Q来说,去追已经被众星捧月的小姐姐们,难度实在是太大了。于是小Z根据经验暴力设置了两个阈值:

  • 知乎账号被关注人数超过1500以上的,对小Q来说算是大V了,PASS!

  • 回答点赞超过150或评论条数超过100的,说明已经有狼群盯上,激烈的竞争不适合与世无争的小Q。

四步走下来,名单已经成功锐减到480了,剩下的都是些走心的(回答字数多)、热乎的(最近更新)、正在择偶中且竞争还不算激烈的小姐姐们。小Z长舒一口气后,又有了新的困惑:“这样筛选得到的名单,虽然说范围精确多了,能不能再进一步,给他一个优先级排序呢?

 引入指数,暴力排序

问题的核心要给他找一份相对不错,又竞争尚小的名单。而相对不错,又竞争压力尚小,怎么量化呢?将发际线挠退了2厘米后,小Z有所顿悟。

在这个回答下,点赞越多说明答主在某个方面越受青睐,评论越多则表示主动出击的人越多,竞争可能更激烈。而前面已经对点赞和评论数进行了清洗,大热不在,如何在小热中进行排序呢?

这里,小Z用每个回答的点赞数除以评论数,得到一个赞评指数,用来衡量平均一个评论能够获得多少赞,数值是越高越好的。

举个栗子:

回答A有130个赞,30条评论,回答B有130个赞,60条评论,点赞数相同的情况下,B的评论更多,竞争更加激烈,从竞争的角度看,选择A更加明智;回答C和D分别有50条评论,而C的点赞数要高于D,在评论数相同的情况下(竞争激烈程度相近),我们应该选择更受青睐的C。

从赞评指数来看,A的4.33 > B的2.17;C的2.24 > D的1.70,看来,评赞指数能够为我们的选择提供优先级指导。

于是,小Z用暴力的赞评指数对剩下的小姐姐进行排序,并取TOP30,得到了最终的脱单大名单。

不错不错,有心了有心了。”小Q接过名单,忍俊不禁,乐呵呵的去按ID索伴,至于后续嘛,外号铁公鸡的小Q破天荒的请小Z吃了一顿丰盛的烧烤。

最后,小Z把爬取代码,源数据以及筛选过程打包整理,后台回复“脱单”即可获取完整代码,旁友们可以执行代码获取符合小Q条件的小姐姐,不过,更好的方式还是尝试自己设置条件来筛选另一半。

更多有趣有用文章

懒人专用的奇淫技巧,用Python实现炫酷的语音操作电脑
Python里三个最高逼格的调试神器
九大神招,让Python里数据分析神器Jupyter,完美升华
推荐一款Python编辑器,集Pycharm和Sublime优点于一身的王者

老司机吐槽

建议看一下,零基础学Python都想问的6个问题,老司机给你两千字解答
51个Python鲜为人知的秘密特性,老司机看完都惊叹不已
Visual Studio 2019Python的开发环境搭建 Python的开发环境有各种各样的,在Windows下可以通过各种IDE(I Integrated Development Environment)来进行开发,比如Pycharm,Spyder, Thonny ,Eclipse + PyDev等等一些琳琅满目的编辑器,当然还有我的选择Visual Studio。之所以会选择VS,是因为VS本身就是一个功能非常强大的集成开发环境,其优秀的代码编辑和管理可能是其他IDE无法比拟的,再就是之前做C#开发,VC++开发都在VS上进行的,不想因为现在想学习一下Pyth 阅读详情

相关推荐

Python爬取2万条相亲网站数据!看看中国单身男女都在挑什么!

想必昨天的七夕节,一定是有人欢喜有人忧的一天,朋友圈里的晒照惹恼了我的一个程序员朋友,在昨晚怒爬2万条相亲网站数据,做了一次相亲男女画像! 话不多说,我们今天就以“世纪佳缘”这个相亲网站为例子,爬取搜索页面当中所有的用户信息,包括“用户ID”、“年龄”、“城市”、“学历”、“属相”等内容,使用的工具是爬虫工具pycharm。 首先老规矩,爬虫之前我们先分析一些目标网页的构成,我们进入世纪佳缘的搜索页面,摁下F12打开开发者工具,找到网页选项,看一下网页的Request URL和请求方式、user-a

pythonlaodi的博客 2222

2018最新黑马Python零基础就业全栈开发教程

2018最新黑马Python零基础就业全栈开发教程

Python爬取千条相亲数据,看看单身率90%的中国男女都在挑剔什么

前不久,刷到这样一条短视频,“1.7亿的90后仅有约1000万对结婚,结婚率不到10%”,当然我们也无法查实当中数据的来源以及真实性,不过小编倒是总能听说身边的朋友在抱怨单难、找不到合适的对象。 今天通过Python写了一个简单的脚本在抓取公开的相亲文案,看看在相亲的都是些什么样的人?他们的择偶标准又是什么样子的?什么样子的人更加容易单? 代码的编写过程: 我们引入需要用到的库,这里用到Python当中的requests库来发送和接受请求,通过正则表达式re这个库来解析数据 很多时候对遇到请求超时的

码农黑羽的博客 2639

数据解决单身问题

作者:数据不吹牛来源:时间能编程最近很多关于晒择偶标准的帖子,活把知乎变成了另一个“世纪佳缘”,回答清一色的爆照和晒条件,这对于单身狗来说是妥妥的福利。母胎SOLO的...

数据森麟 328

Python帮你单,24小时关注女朋友的情绪变化

程序员找个对象不容易啊,好不容易有了女朋友,可以有的时候太忙,经常加,于是暗自下决心,下次一定要准时发消息给她,哪怕是几句话,想来想去不如用Python做一个守护机器人: 这样就给女友定时发提示消息了 不会漏过每一个关键时刻, 贴心提醒让她学习英语单词 最重要的是,可以实时知道女友的情感情绪指数,再也不用担心女友莫名其妙生气了。 01、编程思路 为了方便快速开发,我们使用python中...

758

这段 Python 代码,可以让你

“ 阅读本文大概需要 3 分钟。 ”昨天的时候,看到了明哥在群里发的一篇文章,情人节来了,教你个用 Python 表白的技巧,里面写了怎么来做一张神秘的表白图片,感觉写的很有意思,技术也...

静觅 852

单身狗(Python

单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

Daemonic_的博客 1066

利用 Python 爬取了近 3000 条单身女生的数据,究竟她们理想的择偶标准是什么?

灵感来源与学习:利用 Python 爬取了 13966 条运维招聘信息,我得出了哪些结论? 本文原创作者:壹加柒 本文来源链接:https://blog.csdn.net/yu1300000363/article/details/107316568 前几天手机上CSDN推荐了一篇文章《利用 Python 爬取了 13966 条运维招聘信息,我得出了哪些结论?》,恰好最近也在学习爬虫相关知识,打开一看,从数据的爬取——》数据的清洗——》数据的可视化,涵盖的知识是很多我从前没有尝试过的。之前一直的实战一直停.

JackTian 1939

单身单算法 单了算你赢

问题背景需要考虑的问题算法描述 比较懒,怎么记录方便我就怎么来了,于是随手粘贴了图片 数据结构1.将男士和女士对异性好感的排序表抽象成一个二维数组MP和WP 2.创建两个数组用来记录男士和女士是否单身,其中索引表示第几位男士,存储的值表示是否单。例如:isManFree[0] = True # 表示第0位男士还是单身3.设计男士对女士的追求表,记录男士有没有追过这位女士,二维表中女士表示横轴

No.96 801

七夕过后,我依然单身,于是我用Python爬了你们单身的原因

前两天偶然在微博看到这样的一个关于520,七夕,情人节等等的普法教育。。。!相信前几天的七夕很多小仙女都收到了来自对方的爱意! 可是还有很多伙伴连发红包的机会都没有。。。 我就是这类,没收到爱意,也没机会送出爱意的这类!我也不知道我为什么还单着!哈哈哈,我想知道,这么多单着的人,你们单着是因为什么!爬虫!爬虫!爬虫! 大家说说,单着的这么多人,有分析过为什么如此优秀的你却还是单身呢? 一、需求...

chen801090的博客 197

Python分析90后单身原因,逃不了这三点!

一、需求背景 今天逛微博的时候发现一个有趣的话题**#90后单身原因TOP3#** 一份针对全国90后青年婚恋观进行抽样调查公布了结果。结果显示,一线城市单身占比持续领先。90后单身原因TOP3:圈子小、工作忙、对爱情幻想过于完美。 **单身的三大原因:**圈子小、工作忙、对爱情幻想过于完美! 老王觉得这三个原因都并不合理,难道单身的原因难道不是因为穷吗? 二、功能描述 好奇这个调查是怎么来的...

Python追梦 862

Python】爬取了近3000条单身女生的数据,究竟她们理想的择偶标准是什么?

灵感来源与学习:《利用 Python 爬取了 13966 条运维招聘信息,我得出了哪些结论?》 本文原创作者:壹加柒 前几天手机上CSDN推荐了一篇文章《利用 Python 爬取了 13966 条运维招聘信息,我得出了哪些结论?》,恰好最近也在学习爬虫相关知识,打开一看,从数据的爬取——》数据的清洗——》数据的可视化,涵盖的知识是很多我从前没有尝试过的。之前一直的实战一直停留在数据的爬取,没有对数据进行分析使得数据在我手上似乎失去了价值。 于是我想着跟着这篇文章的思路,爬取个有意思的网站。本来想着爬取学.

壹加柒的博客 2180

中国高校单身率排行榜出炉,有哪些学校入围?

图文来源:高三网现如今单身率越来越高,日前,中国高校单身率排行榜出炉,一起来看看吧!中国高校单身率排行榜出炉近日,一份来自网络调查的“2020中国高校单身率排行榜”出炉.在这份榜单中,...

程序IT圈 127

python实现2019-nCoV疫情确诊数据拟合与预测

python实现2019-nCoV疫情确诊数据拟合与预测 探索这些数据的规律和内在联系了

帅帅de三叔 1万+

Python爬取2万条相亲数据!看看中国单身男女都在挑什么

想必昨天的七夕节,一定是有人欢喜有人忧的一天,朋友圈里的晒照惹恼了我的一个程序员朋友,在昨晚怒爬2万条相亲网站数据,做了一次相亲男女画像! 话不多说,我们今天就以某相亲网站为例子,爬取搜索页面当中所有的用户信息,包括“用户ID”、“年龄”、“城市”、“学历”、“属相”等内容,使用的工具是爬虫工具pycharm。 首先老规矩,爬虫之前我们先分析一些目标网页的构成,我们进入网站的搜索页面,摁下F12打开开发者工具,找到网页选项,看一下网页的Request URL和请求方式、user-agent等基.

Leo的博客 2527

PAT 乙级 1065 单身python

AC 在无重复元素的数据中,利用set()建立数据集,更为节约时间

m0_43424109的博客 608
上一篇: 深扒程序员外包,为啥我不建议你去外包公司?
下一篇: 还在撸Python3.7,Python3.9新鲜出炉,菜鸟哥带你尝鲜解读
菜鸟学Python
博客等级 码龄9年 7562粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值