中国高校更名历史 Python

  上周领了新任务,做国内高校改名历史的统计,这个挺有意思,以下是我任务完成过程,和大家分享。

一. 数据收集

  数据需求:目前已有高校校名,各高校改名历史记录

  高校校名数据来源:尝试从高校排名网站(iPIN),中国教育和科研计算机网等抓取,但高校名不全,前者709,后者1394,最后从教育部找到一份名单:“2015年全国高等学校名单”,基于教育部的信息比较权威可靠,本人想法是抓取教育部发布的教发函来收集高校改名信息。

  高校改名数据来源:教育部信息综合搜索,鉴于教育部发布的信息众多,且教发函格式不一,本人分成几个类别抓取:合并,更名,建立,在xx基础上建立,转设。然后根据搜索跳转的URL,抓取不同类别,大概情况如图:

  从截图可以观察到跳转的URL,所以更换掉关键词部分,重新查询便能获得新的结果,再根据页数跳转抓取所有有关通知。具体实现细节比较繁琐,有兴趣同学可以看github上的代码:最后数据结果如下:

  1. 高校校名:普通高等学校2553所

  2. 更名历史:教育部1995-2015发布的教发函,约665份,教育部公示1990-2006年5月高校合并情况,431条记录。

二. 数据分析

  接下来就是对数据进行清洗,规则处理的过程,虽然没用到什么算法,但满满都是泪啊~~基本大家都能看懂,详细代码点这里,大概流程如下:

import re
import string
import json

sch = {} #学校更名历史字典
remain_sch = {}  #添加的学校

#处理高校合并通知
def dealCombineRP(rp_file):

#处理高校建立通知,原通知不完整,数据已从通知文件中补全
def dealFoundRP(rp_file):

#处理高校更名通知
def dealRenameRP(rp_file):

#处理高校转设通知
def dealSetupRP(rp_file):

#处理高校建立通知
def dealUpgradeRP(rp_file):

#处理教育部合并通知:1990-20060515
def dealCombineFile(combine_file):

#去重处理,去掉重复更名(合并)
def removeDuplicate():

#导入学校名
def loadSchoolName():

#结果保存为json格式
def showResult()

def main():
    global sch
    global remain_sch

    sch_file = "./data/sch_name/sch_name_gov.txt"
    rp_rename_file = "./data/reports/reports_rename.txt"
    rp_upgrade_file = "./data/reports/reports_upgrade.txt"
    rp_setup_file = "./data/reports/reports_setup.txt"
    rp_found_file = "./data/reports/reports_found.txt"
    rp_combine_file = "./data/reports/reports_combine.txt"
    school_combine_since1990 = "./data/reports/school_combine_since1990.txt"

    sch = loadSchoolName(sch_file)
    #print "before:",len(sch)

    dealSetupRP(rp_setup_file)
    dealCombineFile(school_combine_since1990)
    dealCombineRP(rp_combine_file)
    dealFoundRP(rp_found_file)
    dealRenameRP(rp_rename_file)
    dealUpgradeRP(rp_upgrade_file)

    #print "after:",len(sch)
    removeDuplicate()
    showResult()

if __name__ == ‘__main__‘:
    main()

 三. 分析结果

  标记结果:原文件学校2554个,增加至2690个,总共标记828个学校。很多专科学校也添加进去了~基本上完成任务。估计做成列表也是挺壮观的,下面是部分结果:

{
  "广东海洋大学": [
        "湛江农业专科学校",
        "湛江海洋大学",
        "湛江水产学院"
    ],
    "广东海洋大学寸金学院": [],
    "广东环境保护工程职业学院": [],
    "广东理工学院": [
        "肇庆科技职业技术学院"
    ],
    "广东理工职业学院": [],
    "广东生态工程职业学院": [],
    "广东白云学院": [],
    "广东省外语艺术职业学院": [],
    "广东石油化工学院": [
        "茂名学院",
        "广东石油化工高等专科学校",
        "广东省茂名教育学院",
        "茂名石油工业公司职工大学"
    ],
    "广东碧桂园职业学院": [],
    "广东科学技术职业学院": [],
    "广东科技学院": [
        "东莞南博职业技术学院"
    ],
    "广东科贸职业学院": [],
    "广东第二师范学院": [
        "广东教育学院"
    ],
    "广东职业技术学院": [],
    "广东舞蹈戏剧职业学院": [],
    "广东药学院": [],
    "广东行政职业学院": [],
    "广东警官学院": [
        "广东公安高等专科学校"
    ],
    "广东财经大学": [
        "广东商学院"
    ],
    "广东财经大学华商学院": [],
    "广东轻工职业技术学院": [
        "广州轻工业学校"
    ],
    "广东邮电职业技术学院": [],
    "广东金融学院": [
        "广州金融高等专科学校"
    ],
}

  基本任务就是这样,完整项目见这里schoolCard,有问题的朋友可以交流。

参考资料:

1.爱拼网iPIN:http://www.ipin.com/school/ranking.do

2.中国教育和科研计算机网:http://ziyuan.eol.cn/list.php?listid=128

3.教育部:http://www.moe.gov.cn/jyb_sy/

时间: 2024-10-12 16:17:27

中国高校更名历史 Python的相关文章

CCCC中国高校计算机大赛 - 网络技术挑战赛 - 无线网络技术 样题解析

一个AP当前正以4mW的功率传送数据.为了创建一个更大的无线蜂窝,需要将其信号强度增加6dB,请问新的传输功率应该是多少?D A. 8 mW B. 10 mW C. 12 mW D. 16 mW E. 24 mW 以下哪些术语正确描述了802.11n中MIMO的实现?(选择三项)CEF A.信道绑定 B.动态频率选择 C.最大比值合并 D.包聚合 E.空间多路复用 F.传输波束成形 802.11n是在802.11g和802.11a之上发展起来的一项技术,最大的特点是速率提升,理论速率最高可达60

第二届“中国高校计算机大赛-大数据挑战赛” 20名

赛题地址:http://bdc.saikr.com/vse/bdc/2017 1 引言 本次大赛以某人机验证产品采集的鼠标轨迹脱敏数据为基础,期望用机器学习算法来提高人机验证中各种机器行为的检出率,其中包括对抗过程中出现的新的攻击手段的检测.复赛在DIX平台上利用初赛3000条训练集数据轨迹预测200万条测试集数据轨迹. 1.1 基本解题思路 由于复赛的200万条数据与初赛的训练集和A.B榜数据存在很大的不同,初赛特征不能完全适用于复赛,所以我们队在复赛期间重新观察3000训练数据(具体见2.1

“中国高校计算机大赛-网络技术挑战赛” 赛区选拔赛

Ref:http://www.c4top.cn/file/07.pdf 赛区选拔赛 竞赛组委会提供统一的测试内容,由赛区执行委员会组织各晋级团队在统一的地点和时间参赛. 赛区选拔赛采用“一级模块(L1+)”和“二级模块(L2)” 相结合的形式进行. “一级模块(L1+)”竞赛采用客观题(单项选择.多项选择.匹配. 填空等)在线测试方式,竞赛时长 90 分钟,150 道题. “二级模块(L2)”竞赛采用虚拟仿真技能实战和在线问题测试相结合的方式,参赛团队在虚拟仿真实验环境(Packet Trace

中国高校计算机大赛—网络技术挑战赛

http://www.c4top.cn/html/hmod04.htm 网络技术挑战赛(Network Technology Challenge)的目的在于适应互联网技术与应用的发展,对接互联网与信息产业相关人才需求,提升在校大学生的网络技术应用与开发能力,培养学生的创新精神和团队合作能力,提高大学生的综合素质,促进高等学校网络工程与技术类相关课程的教学内容和教学方法改革,促进产教融合的IT人才培养模式改革.

2019年GPLT L2-1 特立独行的幸福 比赛题解 中国高校计算机大赛-团体程序设计天梯赛题解

对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数.1 是一个幸福数.此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68,3 次迭代后得到 100,最后得到 1.则 19 就是幸福数.显然,在一个幸福数迭代到 1 的过程中经过的数字都是幸福数,它们的幸福是依附于初始数字的.例如 82.68.100 的幸福是依附于 19 的.而一个特立独行的幸福数,是在一个有限的区间内不依附于任何其它数字的:其独立性就是依附于它的的幸福

2019年GPLT L2-3 深入虎穴 比赛题解 中国高校计算机大赛-团体程序设计天梯赛题解

著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报.已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门.每一扇门背后或者是一个房间,或者又有很多条路,同样是每条路通向一扇门-- 他的手里有一张表格,是其他间谍帮他收集到的情报,他们记下了每扇门的编号,以及这扇门背后的每一条通路所到达的门的编号.007 发现不存在两条路通向同一扇门. 内线告诉他,情报就藏在迷宫的最深处.但是这个迷宫太大了,他需要你的帮助 -- 请编程帮他找出距离入口最远的那扇门. 输入格式:

2019年GPLT L2-4 彩虹瓶 比赛题解 中国高校计算机大赛-团体程序设计天梯赛题解

彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里. 假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N).现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地.如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填:如果不是,就把箱子先码放在一个临时货架上,码放的方法就是一箱一箱堆上去.当一种颜色装填完以后,先看看货架顶端的一箱是不是下一个要装填的颜色,如果是就取下来装填,否则去

python的历史与优劣

历史 Python的创始人是Guido van Rossum,在发明Python语言之前Guido曾参与过一门称作ABC的语言的设计,ABC是专门为非专业程序员设计的:Guido在Python语言的设计过程中吸收了ABC语言的许多优点,诸如ABC的数据类型(列表.元组.文本等). python的优点: NO.1 快速开发(唯一能和python比开发效率的语言只有rudy). NO.2跨平台(由于python的开源,他比java更能体现"一次编写到处运行" NO.3解释性( 无须编译,直

中国历史上那些奇女子

吕雉汉王朝创始人汉高祖刘邦的正配夫人.是中国历史上三大女性统治者(吕后,武则天,慈禧太后)的第一个. 她为人有谋略而性残忍,在刘邦翦除异姓诸侯王的过程中起了很大作用. 她虽为女流,但不乏政治家的风度,不管是帮助刘邦打天下还是把持政事,每每从容不迫,识破奸人计谋,化险为夷.吕后当政内,创自刘邦的休养生息的黄老政治进一步得到推行.刘邦临终前,吕后问刘邦身后的安排.她问萧何相国后谁可继任,刘邦嘱曹参可继任;曹参后有王陵,陈平,但不能独任;周勃忠诚老实,文化不高,刘家天下如有危机,安刘氏天下的必是周勃,