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

用户6888863 2021-10-28 13:07:16
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库来绘制一下分析的结果,对了,要是读者朋友不知道怎么使用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年之间

写在最后

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

本文分享自微信公众号 - AI篮球与生活(dylanxia2019)

原文出处及转载信息见文内详细说明,如有侵权,请联系 [email protected] 删除。

原始发表时间: 2021-10-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

版权声明
本文为[用户6888863]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1894237

  1. 保姆级教程!将 Vim 打造一个 IDE (Python 篇)
  2. python给定两个函数和定义域,判定两个函数是否构造为复合函数。
  3. 求 python3.8 有条件的递增方法
  4. 如何让python的//运算得到一个小数点不是0的结果
  5. 关于#matlab# #算法# #python#的问题:校园导航制作
  6. python的字典编程练习。!
  7. Python类的实例化应用实现输入打印
  8. python的字典编程练习,!
  9. 调试来自于逐飞的MM32F3277移植有MicroPython开发板
  10. 求 python3.8 有条件的递增递减算法
  11. 如何才能在python中实现动态宽度对齐输出
  12. 14道Python基础练习题(附答案)
  13. python写一个正则,匹配内容以“关于”,(代转)开头的那句话,要怎么写正则?
  14. 来个Python能做的救救孩子.
  15. Python爬虫,写完程序获取不到结果,
  16. python for循环和while循环打印九九乘法表
  17. Python异常
  18. Python请设计一能产生某月份月历的程序,能提示用 户输入某月份第1天是星期几,并将该月份的月历打印出来,求
  19. Python入门语法(简洁不啰嗦)
  20. Python入门与各种系统安装部署应用
  21. 你只认识大众汽车的车标怎么能行?赶紧用python采集所有车标学习一下
  22. python回文词如何以文件形式解决python问题
  23. 工作排程中Bat调用Python 程式无发打开(一闪而过)?
  24. python题目不会写求朋友们帮帮忙
  25. pythonwx内进行for循环导致窗体未响应
  26. Python自动化测试框架,谁才是你的唯一?
  27. 如何删除anaconda文件夹里的python.exe
  28. python爬取数据报错求解决一下
  29. Python编写程序求复利率,复利计算公式为
  30. 每周最怕编程课,懂python的朋友看看我吧
  31. 使用python批量将csv文件转为txt文件
  32. 用python写程序!!救命!!
  33. Python编写程序,输入年龄和出生年份,输入姓名和年龄
  34. Python爬虫,关于Xpath定位与预期不符
  35. python 批量计算的数据 print()到console的数据如何全部保存到指定路径文档,目前只能保存最后一个文件的
  36. 安装Python时出现错误:显示发现windows7 怎么弄
  37. 关于python中的PiP升级,尝试过很多遍了还是这个问题
  38. 这个怎么整啊,刚接触python
  39. 用python做图形旋转,opencv如何自动旋转图片到正常的水平位置
  40. Python零基础入门:字符串使用详解(常用方法及使用案例)
  41. Python Qt GUI设计:QPrinter打印图片类(基础篇—21)
  42. python中一维数组怎么转置
  43. 遇到一个问题,关于Python的复数的
  44. python批量将文件夹里的csv文件转成txt文件
  45. Python 彻底搞懂列表推导式|初级到进阶(实例30+)
  46. python爬虫,遇到urllib.error.URLError: &lt;urlopen error [Errno 11001] getaddrinfo failed&gt;错误
  47. Python程序设计输入五到十之间的整数n,生成并输出一个n位的验证码,不能把大小写字母和数字全写出来
  48. python程序打包之后没运行tkinter
  49. python提取多个Excel文件内目的格内容按一定格式写入新的Excel。
  50. pandas读取csv文件文件末尾都是NaN值,发生了什么?
  51. Python使用matplotlib可视化自定义背景色实战:自定义可视化图像的背景色(Background Color)
  52. 大学生Python实验的列表与元组
  53. python 关于线程的参数args的问题
  54. 如何用python将pdf转成网页html的格式
  55. python基础题 运行后卡在某一步 随后电脑疯狂运转发声 等待无果
  56. 求大神教怎么用python写字
  57. 云计算开发:Python3-expandtabs()方法详解
  58. 9000字深度整理: 全网最详细 Pandas 合并数据集操作总结!
  59. python这个代码有错误,请帮我修改
  60. python redis自带门神 lock 方法