用Python爬取了几千条相亲文案,终于发现了告别单身的秘密

Posted 程序员_宇宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Python爬取了几千条相亲文案,终于发现了告别单身的秘密相关的知识,希望对你有一定的参考价值。

前不久,小编刷到这样一条短视频,“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 库来绘制一下分析的结果

结果的可视化展示

我们先来看一下性别比例,从分布来看, 女生前来相亲的比例更高 ,主要也是因为数据源是来自北京、上海、杭州等 大城市的相亲介绍 ,大城市中似乎女生脱单更加困难一些,

我们再来看一下单身的女性的特征,首先她们的年龄主要集中在 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年之间

写在最后

近年来,随着人们思想观念的改变, 相亲也逐渐得到年轻人的接受与认可 ,特别是对于那些圈子比较窄,接触不到异性的人而言。小编希望每个人都能够在最后收获爱情,拥有美好的生活。

以上是关于用Python爬取了几千条相亲文案,终于发现了告别单身的秘密的主要内容,如果未能解决你的问题,请参考以下文章

用 Python 爬取了《雪中悍刀行》数据,终于知道它为什么这么火了

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

用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!

用Python爬取28010条《隐秘的角落》评论,有没发现点什么?

我爬取了8483条测试工程师招聘需求,竟发现……

用Python爬取了全国近5000家旅游景点,分析元旦去哪玩