Python爬取幾千條相親文案
前言:
前不久,我刷到這樣一條短視頻,“1.7億的90后僅有約1000萬對結(jié)婚,結(jié)婚率不到10%”,當然我們也無法查實當中數(shù)據(jù)的來源以及真實性,不過小編倒是總能聽說身邊的朋友在抱怨脫單難、找不到合適的對象。
今天我通過Python寫了一個簡單的腳本在抓取公開的相親文案,看看在相親的都是些什么樣的人?他們的擇偶標準又是什么樣子的?什么樣子的人更加容易脫單?
1.代碼的編寫過程
我們引入需要用到的庫,這里用到Python
當中的requests
庫來發(fā)送和接受請求,通過正則表達式re這個庫來解析數(shù)據(jù)
import requests from tenacity import * import re import time
很多時候?qū)τ龅秸埱蟪瑫r的情況,因此當出現(xiàn)一次錯的時候,我們會多嘗試幾次,因此這里使用retry裝飾器來多次嘗試
@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ù)包括出生年份、身高/體重、學歷、收入、職業(yè)、自我介紹、擇偶標準、車房情況等等,都是通過正則表達式re庫來實現(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/>⑤學歷(.*?)<br/>") jobs_1 = re.compile("<br/>⑥職業(yè)(.*?)<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/>")
2.結(jié)果的可視化展示
我們先來看一下性別比例,從分布來看,女生前來相親的比例更高,主要也是因為數(shù)據(jù)源是來自北京、上海、杭州等大城市的相親介紹,大城市中似乎女生脫單更加困難一些,
我們再來看一下單身的女性的特征,首先她們的年齡主要集中在94、93以及95年左右,正好都是處在適婚的年齡
而她們的學歷,本科占到了絕大多數(shù),基本上都有本科的學歷,而大專的占比排在第二,碩士和博士處于少數(shù)
另外小編也對單身女性的星座做了一個統(tǒng)計,發(fā)現(xiàn)處女座、天秤座以及射手座、白羊座的女性單身率略高一些
最后,我們來看一下她們的擇偶標準吧,小編將她們的擇偶標準單獨提取出來,然后繪制成了詞云圖
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)出來的樣子如下圖所示:
3.結(jié)論
可見相親市場上的女生,她們首先是希望男方是要有房有車的,其次要是男方之前存在婚史,女生會比較介意,然后要是有穩(wěn)定的工作、有能力有責任心,通常都會給女生留下比較好的印象,而至于外在條件上,大多數(shù)女生的回答則是身高在175-180左右,年齡在90-97年之間。
到此這篇關(guān)于Python爬取幾千條相親文案的文章就介紹到這了,更多相關(guān)Python爬取相親文案內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳談在flask中使用jsonify和json.dumps的區(qū)別
下面小編就為大家分享一篇詳談在flask中使用jsonify和json.dumps的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03解決numpy矩陣相減出現(xiàn)的負值自動轉(zhuǎn)正值的問題
這篇文章主要介紹了解決numpy矩陣相減出現(xiàn)的負值自動轉(zhuǎn)正值的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06