揭秘Python爬虫:你考研调剂的对手是谁?

发表时间: 2020-02-24 19:37

【CSDN编者按】考研成绩揭晓后,不少考生都要面临调剂的问题。而宁夏大学曝出的新闻,也让考生对考研额外增加了一份焦虑。那么,在考研调剂中,你的竞争对手就有哪些?又该如何选择调剂专业?一起来看刚从即将从中国科技大学毕业的硕士生小康康的解读。

作者 | 小康康

责编 | 胡巍巍

出品 | CSDN(ID:CSDNnews)

考研调剂形势与压力

从历年来看,考研人数激增是从2017年开端,在那一年考研人数首次破200万,达到了201万人。由于在这之前人数基本维持在170万以下,也是从这一年开端,社会各界开始关注到考研,人们也开始纷纷讨论起考研这个事情。

2019年达到290万之后,2020年首次突破300万人,达到341万人。面对众多的报考人数,而录取人数却只是小部分增长,从近十年的数据来看,历年考研的报录比似乎都在3.0:1这条线上,上下浮动。尤其是从2015年至2018年的数据来看,很明显的在2.9:1和3.0:1之间浮动。

年份

报名人数

增长率

录取人数

2020

341万

17.59%

一 一

2019

290万

21.8%

一 一

2018

238万

18.4%

76.25万

2017

201万

13.56%

72.22万

2016

177万

7.3%

589800

2015

165万

-4.12%

570600

2014

172万

-2.27%

548700

2013

176万

6.3%

540900

2012

166万

9.6%

521300

2011

151万

7.5%

494600

2010

141万

12.8%

474400

最近不少高校都公布了考研复试的名单,不少被刷下来的同学都忙着选择调剂院校,在调剂的学生里,既有430分的,还有440分,不少初试成绩第一的同学也被无情刷掉,走上了调剂的道路。

据统计,2020年考研调剂报名的人数已经突破数十万了!我国今年考研报名人数才将近341万,考研调剂的比例之大,确实让人惊讶。

以目前的情况来看调剂的人数还是明显走高,一方面很多学生不想二战退之求其次,另一方面很多学生只是想考上研究生对院校和专业并没有很大的要求,这些应该也是研究生调剂人数逐年升高的导火线。

因此,我们认为:考研人数增加,并不意味着考研难了,而是意味着考研调剂难了。例如2018年考研调剂难度还相对来说比较轻松,很多高校都存在缺额的现象,但是去年的考研调剂就展示出了高要求和高门槛的态势,很多普通高校的调剂门槛是一提再提,从初试成绩到本科出身对调剂的考生进行详细的考核之后才会发放复试通知。

之所以会有这样的改变就是因为考研人数每年的大规模增加所造成的,因为随着考研人数的增加,造成了每年通过国家线的人数大规模的增加,于是便有了更多的没有进入复试或者复试被淘汰的学生。

这些考生绝大多数都参加考研调剂,庞大的考生群体要去争取高校为数不多的考研调剂名额,必然形成供不应求的局面,只能是导致考研调剂越来越难以及考研调剂的门槛越来越高。

公开的考生分数数据抓取Selenium实战

为了帮助考生们,掌握当下调剂形式,我们决定开发一个爬虫收集公开发布的非敏感调剂信息进行分析。

在这里,只抓取公开数据中的总分与专业两块非敏感数据,这两块数据已经能够为考生们寻找自己的蓝海提供很大的帮助了。

不去触碰任何隐私,这也是作为一个爬虫工程师的责任,并在每一次的数据分析完成后对所有数据进行了立刻地删除。

本文的重点是形势分析,所以只在爬虫这里介绍一个案例。选取ChinaKaoYan作为我们的数据采集对象,我们发现网站种有这样一个页面:

这里包含了由学生自行公开发布的分数与报考专业,因为只是学习交流,所以不把具体的内容展示出来了,打上了马赛克,请见谅。

可以看到这个页面结构还是我们所说的:【层级信息流】+【粗->细】。并且因为这个网站是服务器渲染的,不是接口+客户端渲染的形式,不能直接从接口下手。

这里,我们还是选择可视化的爬虫工具Selenium:

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox ,Safari,Google Chrome,Opera等。

这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

打开Win+R,输入cmd,在cmd里安装selenium,语句为:pip install selenium。安装完毕后,通过from selenium import webdriver as wb导入包。

接下来,我们就开始分析网站的结构了。可以看到,所有的信息流都被div标签包括,他们的class属性都为info-item font14.

针对这种复合性的class,不可以直接用find_element_by_class,因为这个接口只能检测到单类,故符合类,需要采用Xpth进行定位代码为:

拿到每一条信息流之后,就是对信息流内的HTML标签进行拆解,来看看详细的内部结构:

这里通过不同颜色标识了显示元素与HTML标签之间的对应关系,上一步中,我们获取了信息流的列表,在这里,对列表中每一个WebElement元素进行表里,获取每个元素里的5个Span标签,并对这些标签的文本内容进行提取,代码如下:

之后,就可以开启自动化抓取的道路啦。

调剂生的分数与专业大数据分析

考研人数逐年递增,竞争压力也让考生们倍感焦灼,为了能够考取心仪的学校,同学们全身心投入到这场考研攻坚战中,每个人都希望成为胜利者。但是理想很丰满,现实却很骨感,这场战役的结果并不能尽如人意。

为了能够让同学们都能体验到充实满足的研究生之旅,即使第一志愿并未达成,但是只要调剂合适的学校,通过自己的努力也是能够实现自己的心愿。接下来,本文将从大数据的角度,利用数据库和图表的方式,去向大家展示调剂的热门专业。

专业占比

我们首先利用MySQL数据库去查询热门专业。

查询结果为:

从结果我们可以看出,同学们调剂的时候,很多同学倾向于选择理工科与经管类专业,如:计算机技术、电子通信专业、控制工程、机械工程、会计、金融等,这些专业也是大家认可的好就业的专业。每一次调剂也是一次改变人生轨迹的机会,珍惜调剂机会,找到自己心仪的专业。

同样,词云中的每个专业,其背后也意味着一片红海,众多考生选择了这个专业,竞争压力也会更大,因此合理评估自己的能力,选择适合自己的专业,找到属于自己的蓝海,不要盲目选择热门专业。

至于如何评估自己的能力,是有很多考虑因素的,比如在同样的调剂专业中,你的排名是多少,你的分数处于什么样的段位,都是决定能否顺利获得调剂资格的最大因素。

总之,我们做这个数据分析的目的,是为了帮大家更好的进行自我定位,掌握当下调剂中竞争的形势,选择一条适合自己的路。

各专业调剂分数占比

相信大家一定很关注每个专业调剂的分数段,不知道自己的分数能否调剂到自己想要的专业呢,接下来,让我为大家揭晓吧,这里我们选取了部分专业进行分析:

首先我们来看看上面最热门的计算机相关专业吧,用SQL帮大家调取数据进行计算:

在SQL语句这里,为了更好的呈现效果,我们再用UNION语句进行拼接,并采用了反查结果表的策略进行的标题的修改。

从图中可以看出,调剂到计算机相关专业的主要集中在300-350这个分数段,那么同学请根据你自己的分数,来评估一下,你所处段位有多大的竞争力,如果你也是头部段位那么请大家在调剂的时候不要害怕这个专业分数段很高,要记得勇敢去选择喜欢的专业哟。

下面我们用饼状图显示计算机相关专业各分数段占比,让大家直观的了解到真实情况。

接下来,我们看看金融类的专业:

通过很长的一段SQL语句,分析出金融类专业分数主要是集中在350-400这个分数段,而且300-350与350-400之间的人数差距不大,这也暗示着,金融类专业中的分差较小,可能是金融类的专业竞争较为激烈,所以调剂的宝宝们分数都处于较高的水平,希望大家调剂的时候也要谨慎一点额,我们的数据分析的目的是希望帮大家规避风险,让自己的努力有一个Happy Ending。

金融类果不其然都很大神啊,所以饼状图看着都让人有带你瑟瑟发抖,但是童鞋们,不要放弃,不要害怕,只要你足够相信自己加上谨慎的选择,你依旧可以走上人生巅峰。

根据上面整理的词云图显示:机械和材料相关专业也是大家关注的热门,那我们就让SQL帮我们一起分析一下这两类相关专业吧,我们可以看出这两类专业在调剂选择时分数涵盖了这四个分数段,尤其在260-300这一分数段也有很多宝宝调剂到了相关专业,所以大家只要相信,密切关注调剂信息,只要有调剂的机会,千万不可放弃。

当你等调剂信息等得焦头烂额的时候,你也可以关注往年的调剂信息,以往年信息作为参考,有针对性地关注。

敲黑板敲黑板啦,从饼状图我们可以看出机械和材料相关专业各分数段调剂的人数比例接近,所以宝宝们要抓住机会。

数据反思:应对调剂策略

2020年考研攻坚战已经接近尾声,成绩开始陆续揭晓,真所谓几家欢喜几家愁,成功进入复试的同学一定要好好准备,如果没能达到理想志愿分数线的同学,也不要放弃,调剂选的好,梦想不会跑。

最后真诚祝愿大家学业顺利,2020美滋滋。