熱線電話:13121318867

登錄
首頁大數據時代用Python采集了幾千條相親文案,終于發現了告別單身的秘密
用Python采集了幾千條相親文案,終于發現了告別單身的秘密
2021-12-03
收藏

作者: 俊欣

來源:關于數據分析與可視化

前不久,小編刷到這樣一條短視頻,“1.7億的90后僅有約1000萬對結婚,結婚率不到10%”,當然我們也無法查實當中數據的來源以及真實性,不過小編倒是總能聽說身邊的朋友在抱怨脫單難、找不到合適的對象。

用Python采集了幾千條相親文案,終于發現了告別單身的秘密

今天小編通過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種超實用精美圖表

結果的可視化展示

我們先來看一下性別比例,從分布來看,女生前來相親的比例更高,主要也是因為數據源是來自北京、上海、杭州等大城市的相親介紹,大城市中似乎女生脫單更加困難一些,

用Python采集了幾千條相親文案,終于發現了告別單身的秘密

我們再來看一下單身的女性的特征,首先她們的年齡主要集中在94、93以及95年左右,正好都是處在適婚的年齡

用Python采集了幾千條相親文案,終于發現了告別單身的秘密

而她們的學歷,本科占到了絕大多數,基本上都有本科的學歷,而大專的占比排在第二,碩士和博士處于少數

用Python采集了幾千條相親文案,終于發現了告別單身的秘密

另外小編也對單身女性的星座做了一個統計,發現處女座、天秤座以及射手座、白羊座的女性單身率略高一些

用Python采集了幾千條相親文案,終于發現了告別單身的秘密

最后,我們來看一下她們的擇偶標準吧,小編將她們的擇偶標準單獨提取出來,然后繪制成了詞云圖

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")

最后呈現出來的樣子如下圖所示

用Python采集了幾千條相親文案,終于發現了告別單身的秘密

可見相親市場上的女生,她們首先是希望男方是要有房有車的,其次要是男方之前存在婚史,女生會比較介意,然后要是有穩定的工作、有能力有責任心,通常都會給女生留下比較好的印象,而至于外在條件上,大多數女生的回答則是身高在175-180左右,年齡在90-97年之間。

寫在最后

近年來,隨著人們思想觀念的改變,相親也逐漸得到年輕人的接受與認可,特別是對于那些圈子比較窄,接觸不到異性的人而言。小編希望每個人都能夠在最后收獲愛情,擁有美好的生活。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢