前不久,小编刷到这样一条短视频,“1.7亿的90后仅有约1000万对结婚, 结婚率不到10% ”,当然我们也无法查实当中数据的来源以及真实性,不过小编倒是总能听说身边的朋友在抱怨脱单难、找不到合适的对象。
今天小编通过Python写了一个简单的脚本在抓取公开的相亲文案,看看 在相亲的都是些什么样的人 ?他们的 择偶标准又是什么样子的 ?什么样子的人更加容易脱单?
代码的编写过程
Python requests re
import requests from tenacity import * import re import time
很多时候对遇到 请求超时的情况 ,因此当出现一次错的时候,我们会多尝试几次,因此这里使用 retry 装饰器来多次尝试
@retry(stop=stop_after_attempt(5)) def do_requests(url): response = requests.get(url, headers=headers, proxies=proxies, timeout=10) return response.text
我们抓取的数据包括 出生年份、身高/体重、学历、收入、职业、自我介绍、择偶标准、车房情况 等等,都是通过正则表达式 re 库来实现的,
date_of_birth = re.compile("<br/>①出生年月/星座(.*?)<br/>", re.M | re.S) sex = re.compile("<br/>【基本资料】(.*?)<br/>") height = re.compile("<br/>②身高/体重(.*?)<br/>") education = re.compile("<br/>⑤学历(.*?)<br/>") jobs_1 = re.compile("<br/>⑥职业(.*?)<br/>") income = re.compile("<br/>⑦月均收入(.*?)<br/>") married = re.compile("<br/>⑨有无婚史(.*?)<br/>") house_cars = re.compile("<br/>⑧车房情况(.*?)<br/>") self_intro = re.compile("<br/>⑪ 自我介绍(.*?)<br/>") requirements = re.compile("<br/>【择偶标准】<br/>(.*?)</a>") family_member = re.compile("<br/>⑩家庭成员(.*?)<br/>")
下面我们通过 pyecharts 库来绘制一下分析的结果,对了,要是读者朋友不知道怎么使用 pyecharts 这个库,可以阅读一下小编写的上几篇文章,都是非常干货的
- 20个精美图表,教你玩转Pyecharts可视化
- 干货分享 | 用Pyecharts制作炫酷的可视化大屏
- 分享一个Pyecharts中非常重要的组件,可以大大提高绘制图表的效率
- Pyecharts绘制22种超实用精美图表
结果的可视化展示
我们先来看一下性别比例,从分布来看, 女生前来相亲的比例更高 ,主要也是因为数据源是来自北京、上海、杭州等 大城市的相亲介绍 ,大城市中似乎女生脱单更加困难一些,
我们再来看一下单身的女性的特征,首先她们的年龄主要集中在 94、93以及95年左右 ,正好都是处在适婚的年龄
而她们的学历, 本科占到了绝大多数 ,基本上都有本科的学历,而 大专的占比排在第二 ,硕士和博士处于少数
另外小编也对单身女性的星座做了一个统计,发现 处女座 、天秤座以及 射手座 、白羊座的女性 单身率略高一些
最后,我们来看一下她们的择偶标准吧,小编将她们的 择偶标准 单独提取出来,然后绘制成了词云图
review_list = [] reviews = get_cut_words("".join(df_girls["requirements"].astype(str).tolist())) reviews_counter = Counter(reviews).most_common(200) print(reviews_counter) for review in reviews_counter: review_list.append((" " + review[0] + " ") * review[1]) stylecloud.gen_stylecloud(text=" ".join(review_list), max_words=500, collocations=False, font_path="KAITI.ttf", icon_name="fab fa-apple", size=653, output_name="4.png")
最后呈现出来的样子如下图所示
可见相亲市场上的女生,她们首先是希望男方是要 有房有车 的,其次要是男方之前存在婚史,女生会比较介意,然后要是 有稳定的工作 、有能力有责任心,通常都会给女生留下比较好的印象,而至于外在条件上,大多数女生的回答则是身高在 175-180左右 ,年龄在 90-97年之间 。
写在最后
近年来,随着人们思想观念的改变, 相亲也逐渐得到年轻人的接受与认可 ,特别是对于那些圈子比较窄,接触不到异性的人而言。小编希望每个人都能够在最后收获爱情,拥有美好的生活。
◆ ◆ ◆ ◆ ◆