想必昨天的七夕节,一定是有人欢喜有人忧的一天,朋友圈里的晒照惹恼了我的一个程序员朋友,在昨晚怒爬2万条相亲网站数据,做了一次相亲男女画像!

话不多说,我们今天就以“世纪佳缘”这个相亲网站为例子,爬取搜索页面当中所有的用户信息,包括“用户ID”、“年龄”、“城市”、“学历”、“属相”等内容,使用的工具是爬虫工具pycharm。

首先老规矩,爬虫之前我们先分析一些目标网页的构成,我们进入世纪佳缘的搜索页面,摁下F12打开开发者工具,找到网页选项,看一下网页的Request URL和请求方式、user-agent等基本信息:

请求方式是post,说明我们不用去源代码里找标签了,所有的数据都存放在网页的json文件当中,这倒是方便很多,我们直接通过链接直接获取API文件,不需要进行网页解析,点击HTR后点击“请求”就能看到表单数据了。

很显然,“sex”就是性别,“f”是“female”的缩写,“p”代表着页码,因为搜索页面一共有10页,所以我们需要构造一下完整的请求url:

http:// search.jiayuan.com/v2/s earch_v2.php ?key=&sex=f&stc=1:11,2:18.24,3:155.170,23:1&sn=default&sv=1&p=1&f=select

当网页页码发生变化的时候,我们发现url当中只有p值发生了变化,因此只需要改变p值就能构造对应的URL。

好了,网页的构成都分析好了,下一步就要开始在pycharm当中写爬虫了,通过上面的url,我们可以获取到服务器返回的 json格式的用户信息,部分源代码如下:

爬取的过程就不详细讲解了,因为世纪佳缘的网站还需要进行模拟登陆,所以需要登陆后将 cookie 放入爬虫的请求头中,这样便可正确访问数据。经过爬取后的数据清洗后如下:

注:excel数据集我放到网盘里了,为了防止被吞掉,大家可以关注公众号“ 数据分析不是个事儿 ”后台回复“ 相亲 ”就能获得!

一、BI可视化分析

有了数据之后,我们下一步就是进行数据可视化分析了,这里我们把清洗好的数据导入到 FineBI 当中,在 FineBI 的主页创建Excel数据集,位置我们可以放在任意的一个业务包里:

下一步为了能够在不改变源数据表的情况下进行数据加工和编辑,因此使用自助数据集的方式,将excel表当中的所有指标全部添加:

在FineBI当中,我们可以对数据进行很多加工操作,比如过滤、分组汇总、新增列、排序、合并等等:

因为我们已经在excel当中清洗过数据了,所以这次就不用进行加工处理了,直接选择创建一个可视化组件,命名为“相亲”:

然后我们就进入了可视化操作页面,我们只需要将指标和维度拖入到横纵坐标轴上,选择对应的图表类型,比如这里选择了“柱状图”,就能自动展示出图表:

当然我们也可以对指标和维度进行编辑,比如排序、分组、过滤等等:

然后可以对图表进行一些优化,比如颜色、大小、标签等等,一个基础的可视化图表组件就完成了:

二、结论分析

1、单身男女的学历情况分析

整体上看高学历的人数占比是很小的,大多数是大专和本科毕业,但是其中硕士的单身比例也非常高,因为一般来说,学历越高婚姻率越低;下面我们再看一下不同性别的学历情况:

整体上看,女性的学历程度比起男性要低一些,大专以下的女性比例高,本科以上的男性比例高,这个也可能跟高学历的人数有关;

2、单身男女的婚姻状况

没想到,占比最大的婚姻状况竟然是离异,说明相亲网站上市场最大的对象是离异男女,占到了50%的比例;

我们再用性别维度进行拆解,发现整体比例是差不多的,但是男性的丧偶比例要高一下,未婚比例要比女性要低很多,说明相亲市场中未婚的还是以女性为主。

3、单身男女的年龄、身高情况

首先是年龄情况,可以看到相亲网站上用户的整体年龄偏大,主要的群体以30-40岁为主,但是男性的年龄分布出现了明显的断层,40岁-50岁的比例是很小的,但是55岁以上的比例又远超女性,看起来大龄剩男都是因为离异或者丧偶;

而女性在55岁之前的单身比例都比较高,55岁之后就断崖式下降了,看起来单身女性是个在各个年龄段都存在的问题啊。

下面我们再来看一下单身男女的身高情况:

很显然,单身女性在“160cm”、“165cm”出现了两次高峰,单身男性在“170cm”、“175cm”出现了两次高峰。

据说女性不过160、男性不过175都很难找对象,看起来大家在填资料的时候,都或多或少往这两个数值上靠,整体上能看出来,个子不高确实不太好找对象。

为了更明显地看出男女身高与年龄的情况,我特意做了张分布图:

4、单身男女的择偶观分析

这张图横坐标代表个人的年龄,纵坐标代表着择偶对象的心仪年龄高,基本上男女都呈现正相关的线性关系,但是男性明显对比自己年龄低的更喜欢,而女性则相反。

我们再来看一下单身男女对于未来配偶的条件分析:

果然有房有车才是大家最关心的条件,这也不能说错,因为单身年龄越大,对于生活的要求是偏高的;

5、单身男女的城市分布分析

为了方便看出分布情况,我采用了热力地图,实际上从数据上可以看出单身数量最多的城市都是一线城市,包括:上海、成都、广州、北京、天津等地。

因为爬取的信息有限,因此分析结论不是非常深入,仅供大家娱乐,祝大家早日找到心仪对象,明年七夕不单身!

源码获取点击:源码

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

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

    想必昨天的七夕节,一定是有人欢喜有人忧的一天,朋友圈里的晒照惹恼了我的一个程序员朋友,在昨晚怒爬2万条相亲网站数据,做了一次相亲男女画像! 话不多说,我们今天就以某相亲网站为例子,爬取搜索页面当中所有 ...

  2. Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是......

    作者 | 量化小白H 责编 | 胡巍巍 Python规划学习路线图,速领取? https://edu.csdn.net/topic/python115?utm_source=csdn_bw 本文爬取了 ...

  3. 用Python分析了5万条相亲网站数据,看相亲男女画像

    这短短的一生,我们最终都会失去.你不妨大胆一些,爱一个人,攀一座山,追一个梦. 一.前言 数据来源:https://www.zhenai.com/zhenghun/ 本文利用 Python 分析了按城 ...

  4. Python分析了5万条相亲网站数据 | 看相亲男女画像

    文章目录 一.前言 二.数据查看和预处理 三.数据分析 这短短的一生,我们最终都会失去 你不妨大胆一些 爱一个人,攀一座山,追一个梦 一.前言 数据来源:http://www.zhenai.com/z ...

  5. python获取游戏数据_Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是.........

    原标题:Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是...... 作者 |量化小白H 责编 | 胡巍巍 本文爬取了豆瓣游戏网站上所有可见的游戏评分数据进行分析,全文包括以下几 ...

  6. 这届网友实在是太有才了!用python爬取15万条《我是余欢水》弹幕

    年初时我们用数据解读了几部热度高,但评分差强人意的国产剧,而最近正午阳光带着两部新剧来了,<我是余欢水>和<清平乐>,截止到目前为止,这两部剧在豆瓣分别为7.5分和7.9分,算 ...

  7. Python爬取15万条《我是余欢水》弹幕,看郭京飞如何演活极丧中年人

    CDA数据分析师 出品 他来了他来了,正午阳光带着新剧走来了. 年初时我们用数据解读了几部热度高,但评分差强人意的国产剧,而最近正午阳光带着两部新剧来了,<我是余欢水>和<清平乐&g ...

  8. Python爬取15万条《我是余欢水》弹幕,还原一个丧到极致的中年人生

    ▼ 更多精彩推荐,请关注我们 ▼ 作者:Mika 数据:真达   后期:泽龙  [导语]:今天我们聊聊热干面,Python技术部分可以直接看第四部分.公众号后台,回复关键字"余欢水" ...

  9. 小牧用Python 爬取数万条房产数据,揭秘一线城市生存压力有多大

    最近各大一二线城市的房租都有上涨,究竟整体上涨到什么程度呢?我们也不得而知,于是乎笔者为了一探究竟,便用 Python 爬取了房某下的深圳租房数据.以下是本次的样本数据: 除去[不限]的数据(因为可能 ...

最新文章

  1. linux查看上下文切换命令,Linux性能优化,Linux查看CPU上下文切换
  2. GdiPlus[44]: IGPGraphics (三) 关于文本绘制续 - IGPStringFormat
  3. 从“连锁”到“新联锁”,尚美生活如何引领酒店行业变革?
  4. 深度优先搜索知识总结
  5. 学习File API用于前端读取文件
  6. Android开发学习笔记-md5加密算法
  7. 如何使用GDAL进行AOI裁剪
  8. 使用android SpannableStringBuilder实现图文混排,看到许多其他
  9. 58. 网络驱动器设备: iSCSI 服务器
  10. MySQL主从架构搭建
  11. [HTML+CSS]电商网站模板
  12. nod32 lic 99用户授权文件可以用到2015年4月的许可证下载
  13. php隐藏下载外链,教你如何去掉友荐和无觅的隐藏外链和版权链接
  14. Go语言程序开发之ARM开发环境搭建
  15. data[i] is underfined
  16. P1309 [NOIP2011 普及组] 瑞士轮-快排+归并排序
  17. 三菱FX3U——ST编程点动与自锁
  18. 更改VisualStudio的字体大小
  19. C语言 乒乓球比赛问题
  20. 【Axure视频教程】日期时间函数

热门文章

  1. 连接失败 错误651
  2. 使用110云报警监控我的世界
  3. Word 宏处理文本框无颜色填充
  4. Adaptec 1200A 在Win7下驱动
  5. 计算机屏幕出现条纹w7,电脑屏幕出现条纹,教您win10屏幕出现条纹的解决方法
  6. 港联证券投资前瞻:核电订单重回历史高位 C919圆满完成商业首航
  7. el-date-picker 的一些小坑(chang事件不生效以及页面数据不更新)
  8. Java实现蓝桥杯历届试题兰顿蚂蚁
  9. js正则手机或者固话验证
  10. 界面设计规范收集 HIG