Python 爬取 42 年高考数据,告诉你高考为什么这么难?


作者 | 徐麟
历年录取率
可能很多经历过高考的人都不知道高考的全称,高考实际上是普通高等学校招生全国统一考试的简称。从1977年国家恢复高考制度至今,高考经历了许多的改革,其中最为显著的变化就是录取率的显著提升,曾经的“千军万马过独木桥”的场景得到了一定程度的缓解。
我们首先看下1977-2018年历年的录取人数和未录取(落榜)人数变化情况,本文数据均来自于网络公开高考数据:
可以看到1977年恢复高考之后的几年,由于种种原因,高考人数到达了一个比较高的点,随后有所下降。到2000年之后,高考的人数有了进一步的提升,录取人数也随之大幅提升,2008、2009达到了顶峰(此时心疼自己1秒),2010年之后参与高考的人数趋于平稳。
通过上图也可以发现,早期的高考难度之高,未录取人数是录取人数的数倍之多,而且早期的高考实际上在开始之前有预选的过程,能够参加高考的考生实际上已经经过了一轮大浪淘沙的过程。随着教育改革,越来越多的考生有机会通过高考接受更进一步的教育。
我们通过下面的百分比图,对于录取率的变化进一步加深认知:
部分代码如下:
setwd('D:/爬虫/高考')
data = read_excel('历年录取率.xlsx')
data_year = melt(data,id.vars = '年份',measure.vars = c('录取','未录取'),
variable.name='录取情况', value.name='人数(万)')
ggplot(data_year,aes(x=年份,y=`人数(万)`,fill=录取情况))+
geom_area(position = 'stack')+
ggtitle('历年高考人数统计(1977-2018)')+ theme_wsj()+
theme(axis.text.x = element_text(size=15),
axis.text.y = element_text(size=15),
axis.title =element_text(size=15),
plot.title = element_text(hjust=0.5,size=25,face='bold'),
panel.grid = element_blank(),
legend.position = 'top',
legend.title = element_blank(),
legend.text = element_text(size=15),
panel.background = element_blank(),
axis.line = element_blank(),
axis.ticks = element_blank()
)+xlim(1977,2018)
说到这,似乎大家会认为现在的高考并不困难,录取率已经到达了8成左右,通过高考已经成了家常便饭,如果你真的这样认为,那只能将下面的表情包送你:

三座“大山”
名校录取率
前面我们提到的录取率有了显著的提升,然而录取率实际上是包括了所有的录取情况,同时包含了本科以及专科的录取情况。真正的“211”,“985”名校的竞争实际上还是异常激烈的,特别是在一些处于“地狱模式”的高考省份(由于没有在网上找到海南省的相关数据,我们选取了其他三十个省份、直辖市的数据):
下面就为大家对比各个省份2018年的985、211录取率:
可以看到,不同省份的985和211录取率有着比较明显的差距,12个省份的985录取率低于1.5%,安徽,河南,江苏和贵州更是低于1.2%,作为山东考生的作者也不由得表示“自愧不如”。
即使是录取率最高的省份,985和211的录取率也只是5.8%和13.9%,结合现在各大企业在招人要求中对985和211的要求,高考真的并没有真的变得简单。
高考人数
除了名校录取率低之外,高考人数之多也是横亘在考生面前需要跨过的一个挑战。由于参与高考人数非常多,对于考试精细度就有了非常高的要求,可能一个细节的失误就会在全省的排名中下降非常多。
同样,我们看下各省2018年参与高考的人数:
河南省2018年的高考人数达到了86.5万,86.5万这个数据也超过了世界上接近2/3的国家人口数量。广东、山东、四川三个省的高考人数也超过了50万。由于参与高考的人数众多,这些省的高考几乎都是“肉搏战”。
高考题目难
除了名校录取率低,竞争人数多,另一个让广大考生为之“折服”的就是那些难度大到放飞自我的题目。其中一个省份的题目难度几乎是所有考生公认的最高,那就是江苏省,包括小编所在山东省在内的很多其他省的老师,都会告诉学生不需要关注江苏的历年题目,因为本省的考试题目不会那么难。
除了题目难度大,江苏高考改革的力度和速度也是冠绝全国,我们整理了一份江苏省2000年以来的历年高考改革的路线图:
看到这些模式的名称,可能大家已经有些眩晕,也深切体会到能从江苏高考中杀出重围的都是勇士。既然已经眩晕,不如就眩晕到底,下面是一道江苏省高考的真题,自行体验难度:
数学、物理这种大杀器都无需出场,只需一道作文题在作者这种“语文天残”看来就已经slay全场。
前面我们说了那么多高考的困难之处,是不是考生们真的就手足无措了呢,实际上并不是,只需要手握一些高考专属“杀器”就可以迎刃而解(以上纯属虚构)
高考“杀器”
五年高考三年模拟
此杀器的使用方法无需赘述,只需把其全部吃透,虽然这也不表示高考就一定会有好成绩。希望各位考生努力复习,切勿如同书名一样“五年高考,三年模拟”。
写在最后:
虽然我们前面列举了高考那么多的不易,但高考实际上为广大考生提供了改变自己人未来人生命运的机会。相较于其他很多缥缈不定的发展道路,高考给了大家一个明确的努力方向。
最后祝愿广大考生都能够放平心态(虽然并不现实),在高考中发挥自己所学,不留遗憾。取得不错的结果也不要因此沾沾自喜,没有达到自己的预期的也不要因此消沉,高考是我们人生中非常重要的一段历程,但不能完全决定我们未来的人生,未来还有很多需要去奋斗、去努力的地方。
给大家推荐一个软件测试学习的视频教程:软件测试开发自学基础【测试自动化在线教程】

Python 爬取 42 年高考数据,告诉你高考为什么这么难?的更多相关文章
- 利用python爬取58同城简历数据
利用python爬取58同城简历数据 利用python爬取58同城简历数据 最近接到一个工作,需要获取58同城上面的简历信息(http://gz.58.com/qzyewu/).最开始想到是用pyth ...
- 手把手教你使用Python爬取西刺代理数据(下篇)
/1 前言/ 前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇),木有赶上车的小伙伴,可以戳进去看看.今天小编带大家进行网页结构的分析以及网页数据的提取,具体步骤如下. /2 首页分析 ...
- python爬取豆瓣电影信息数据
题外话+ 大家好啊,最近自己在做一个属于自己的博客网站(准备辞职回家养老了,明年再战)在家里 琐事也很多, 加上自己 一回到家就懒了(主要是家里冷啊! 广东十几度,老家几度,躲在被窝瑟瑟发抖,) 由于 ...
- python 爬取猫眼电影top100数据
最近有爬虫相关的需求,所以上B站找了个视频(链接在文末)看了一下,做了一个小程序出来,大体上没有修改,只是在最后的存储上,由txt换成了excel. 简要需求:爬虫爬取 猫眼电影TOP100榜单 数据 ...
- 一篇文章教会你用Python爬取淘宝评论数据(写在记事本)
[一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. 很多人学习python,不知道从何学起.很多人学习python,掌握了 ...
- Python爬取网站上面的数据很简单,但是如何爬取APP上面的数据呢
- python爬取中国天气网站数据并对其进行数据可视化
网址:http://www.weather.com.cn/textFC/hb.shtml 解析:BeautifulSoup4 爬取所有城市的最低天气 对爬取的数据进行可视化处理 按温度对城市进行排 ...
- Python爬取猫眼top100排行榜数据【含多线程】
# -*- coding: utf-8 -*- import requests from multiprocessing import Pool from requests.exceptions im ...
- python爬取新浪股票数据—绘图【原创分享】
目标:不做蜡烛图,只用折线图绘图,绘出四条线之间的关系. 注:未使用接口,仅爬虫学习,不做任何违法操作. """ 新浪财经,爬取历史股票数据 ""&q ...
随机推荐
- mybatis-config.xml核心文件配置
一.全局配置文件结构 configuration 配置 properties 属性:可以加载properties配置文件的信息 settings 设置:可以设置mybatis的全局属性 typeAli ...
- Spring中基于xml的AOP
1.Aop 全程是Aspect Oriented Programming 即面向切面编程,通过预编译方式和运行期动态代理实现程序功能的同一维护的一种技术.Aop是oop的延续,是软件开发中的 一个热点 ...
- Python 程序报错崩溃后,如何倒回到崩溃的位置?
假设我们有一段程序,从 Redis 中读取数据,解析以后提取出里面的 name 字段: import json import redis client = redis.Redis() def read ...
- 利用synchronized解析死锁的一种形成方式
代码 import ... public class Test{ private static Object o1=new Object(); private static Object o2=new ...
- ECSHOP后台左侧添加菜单栏
比如我们在后台中增加 “活动管理”功能,方法如下 在ECSHOP 管理中心共用语言文件 language\zh_cn\admin\commn.php ,添加我们的自定义菜单: $_LANG['17_a ...
- Python3-multiprocessing模块-多进程
Python3中的multiprocessing模块是一个与threading模块类似,提供生成进程的API 多进程multiprocessing模块允许程序员充分利用给定机器上的多个CPU(处理器) ...
- windows操作系统查看端口,关闭端口进程
根据端口号查找进程 netstat -ano | findstr "端口号" 杀死进程 taskkill /pid "pid(最后一个数值)" /f
- .Net Core 集成ExceptionLess分布式日志框架之本地化部署
前言 公司目前使用的项目中关于日志记录这块,之前一直都是使用的Log4net 存放于后台文件中的,对于异常错误啊,或者需要查看一些详情错误的时候感觉很不方便,要到服务器上去打开日志文件检索错误,降低了 ...
- SecureCRT连接阿里云ECS服务器,经常掉线的解决方案
1 使用SecureCRT远程连接后,Options > Session Options > Terminal(终端) > 勾选 “Send protocol NO-OP”
- centos7 升级系统后,启动界面出现多个选项
需要删除多余内核 yum list kernel.x86_64 出现多个 执行yum remove kernel-3.10.0-957.10.1.e17.x86_64,会提示找不到对应的包 我也不知道 ...