Python爬取幾千條相親文案
前言:
前不久,我刷到這樣一條短視頻,“1.7億的90后僅有約1000萬(wàn)對(duì)結(jié)婚,結(jié)婚率不到10%”,當(dāng)然我們也無(wú)法查實(shí)當(dāng)中數(shù)據(jù)的來(lái)源以及真實(shí)性,不過(guò)小編倒是總能聽(tīng)說(shuō)身邊的朋友在抱怨脫單難、找不到合適的對(duì)象。
今天我通過(guò)Python寫(xiě)了一個(gè)簡(jiǎn)單的腳本在抓取公開(kāi)的相親文案,看看在相親的都是些什么樣的人?他們的擇偶標(biāo)準(zhǔn)又是什么樣子的?什么樣子的人更加容易脫單?
1.代碼的編寫(xiě)過(guò)程
我們引入需要用到的庫(kù),這里用到Python當(dāng)中的requests庫(kù)來(lái)發(fā)送和接受請(qǐng)求,通過(guò)正則表達(dá)式re這個(gè)庫(kù)來(lái)解析數(shù)據(jù)
import requests from tenacity import * import re import time
很多時(shí)候?qū)τ龅秸?qǐng)求超時(shí)的情況,因此當(dāng)出現(xiàn)一次錯(cuò)的時(shí)候,我們會(huì)多嘗試幾次,因此這里使用retry裝飾器來(lái)多次嘗試
@retry(stop=stop_after_attempt(5))
def do_requests(url):
response = requests.get(url, headers=headers, proxies=proxies, timeout=10)
return response.text
我們抓取的數(shù)據(jù)包括出生年份、身高/體重、學(xué)歷、收入、職業(yè)、自我介紹、擇偶標(biāo)準(zhǔn)、車房情況等等,都是通過(guò)正則表達(dá)式re庫(kù)來(lái)實(shí)現(xiàn)的,
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/>⑤學(xué)歷(.*?)<br/>")
jobs_1 = re.compile("<br/>⑥職業(yè)(.*?)<br/>")
income = re.compile("<br/>⑦月均收入(.*?)<br/>")
married = re.compile("<br/>⑨有無(wú)婚史(.*?)<br/>")
house_cars = re.compile("<br/>⑧車房情況(.*?)<br/>")
self_intro = re.compile("<br/>? 自我介紹(.*?)<br/>")
requirements = re.compile("<br/>【擇偶標(biāo)準(zhǔn)】<br/>(.*?)</a>")
family_member = re.compile("<br/>⑩家庭成員(.*?)<br/>")
2.結(jié)果的可視化展示
我們先來(lái)看一下性別比例,從分布來(lái)看,女生前來(lái)相親的比例更高,主要也是因?yàn)閿?shù)據(jù)源是來(lái)自北京、上海、杭州等大城市的相親介紹,大城市中似乎女生脫單更加困難一些,

我們?cè)賮?lái)看一下單身的女性的特征,首先她們的年齡主要集中在94、93以及95年左右,正好都是處在適婚的年齡

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

另外小編也對(duì)單身女性的星座做了一個(gè)統(tǒng)計(jì),發(fā)現(xiàn)處女座、天秤座以及射手座、白羊座的女性單身率略高一些

最后,我們來(lái)看一下她們的擇偶標(biāo)準(zhǔn)吧,小編將她們的擇偶標(biāo)準(zhǔn)單獨(dú)提取出來(lái),然后繪制成了詞云圖
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")
最后呈現(xiàn)出來(lái)的樣子如下圖所示:

3.結(jié)論
可見(jiàn)相親市場(chǎng)上的女生,她們首先是希望男方是要有房有車的,其次要是男方之前存在婚史,女生會(huì)比較介意,然后要是有穩(wěn)定的工作、有能力有責(zé)任心,通常都會(huì)給女生留下比較好的印象,而至于外在條件上,大多數(shù)女生的回答則是身高在175-180左右,年齡在90-97年之間。
到此這篇關(guān)于Python爬取幾千條相親文案的文章就介紹到這了,更多相關(guān)Python爬取相親文案內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+matplotlib實(shí)現(xiàn)繪制等高線圖示例詳解
在matplotlib.pyplot中除了可以繪制常規(guī)圖表如折線、柱狀、散點(diǎn)等,還可以繪制常用在地理上的平面展示地型的等高線圖,本文主要為大家介紹了如何利用matplotlib繪制等高線圖,需要的可以參考一下2021-12-12
Python程序中用csv模塊來(lái)操作csv文件的基本使用教程
這篇文章主要介紹了Python程序中用csv模塊來(lái)操作csv文件的基本使用教程,csv文件中也是格式化的數(shù)據(jù),只不過(guò)csv本身沒(méi)有XML和JSON那么流行...需要的朋友可以參考下2016-03-03
python中requests庫(kù)+xpath+lxml簡(jiǎn)單使用
這篇文章主要介紹了python中requests庫(kù)+xpath+lxml簡(jiǎn)單使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
使用python實(shí)現(xiàn)簡(jiǎn)單爬取網(wǎng)頁(yè)數(shù)據(jù)并導(dǎo)入MySQL中的數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了如何使用 python 實(shí)現(xiàn)簡(jiǎn)單爬取網(wǎng)頁(yè)數(shù)據(jù)并導(dǎo)入 MySQL 中的數(shù)據(jù)庫(kù),對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-06-06
利用Python將Excel快速轉(zhuǎn)換成HTML的代碼實(shí)現(xiàn)
在日常的辦公和數(shù)據(jù)處理任務(wù)中,Excel文件因其強(qiáng)大的表格數(shù)據(jù)管理能力而備受歡迎,然而,在某些情況下,我們可能需要將Excel文件轉(zhuǎn)換成HTML格式,以便在網(wǎng)頁(yè)上展示或進(jìn)行進(jìn)一步的數(shù)據(jù)處理,本文將介紹如何利用Python將Excel文件快速轉(zhuǎn)換成HTML,并提供具體的代碼示例和案例2024-12-12
Python利用Beautiful Soup模塊修改內(nèi)容方法示例
Beautiful Soup是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python 庫(kù)。它能夠通過(guò)你喜歡的轉(zhuǎn)換器實(shí)現(xiàn)慣用的文檔導(dǎo)航、查找、修改文檔的方式。他還能夠修改HTML/XML文檔的內(nèi)容。這篇文章主要介紹了Python利用Beautiful Soup模塊修改內(nèi)容的方法,需要的朋友可以參考下。2017-03-03
Pytorch如何把Tensor轉(zhuǎn)化成圖像可視化
這篇文章主要介紹了Pytorch如何把Tensor轉(zhuǎn)化成圖像可視化問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
基于python pygame實(shí)現(xiàn)的兔子吃月餅小游戲
pygame是用來(lái)開(kāi)發(fā)游戲的一套基于SDL的模板,它可以是python創(chuàng)建完全界面化的游戲和多媒體程序,而且它基本上可以在任何系統(tǒng)上運(yùn)行,這篇文章主要給大家介紹了基于python pygame實(shí)現(xiàn)的兔子吃月餅小游戲的相關(guān)資料,需要的朋友可以參考下2021-09-09

