Browse Source

new file: ../README.md
new file: resources/Citys.txt
new file: resources/Degrees.txt
new file: resources/LastNames.txt
new file: resources/Roles.txt
new file: resources/RolesKeywords.txt
new file: resources/SegmentName.txt
new file: resources/Universities.txt
new file: resources/UniversityEnds.txt
new file: resources/keys.txt
new file: resume_parse.py

sprivacy 3 years ago
commit
571370cec9

+ 0 - 0
README.md


+ 34 - 0
tools/resources/Citys.txt

@@ -0,0 +1,34 @@
+北京
+浙江
+天津
+安徽
+上海
+福建
+重庆
+江西
+山东
+河南
+湖北
+湖南
+广东
+海南
+山西
+青海
+江苏
+辽宁
+吉林
+台湾
+河北
+贵州
+四川
+云南
+陕西
+甘肃
+黑龙江
+香港
+澳门
+广西
+宁夏
+新疆
+内蒙
+西藏

+ 12 - 0
tools/resources/Degrees.txt

@@ -0,0 +1,12 @@
+本\s*科
+硕\s*士
+硕\s*士\s*研\s*究\s*生
+博\s*士
+博\s*士\s*研\s*究\s*生
+大\s*专
+专\s*科
+学\s*士
+高\s*中
+初\s*中
+中\s*专
+研\s*究\s*生

+ 504 - 0
tools/resources/LastNames.txt

@@ -0,0 +1,504 @@
+赵
+钱
+孙
+李
+周
+吴
+郑
+王
+冯
+陈
+褚
+卫
+蒋
+沈
+韩
+杨
+朱
+秦
+尤
+许
+何
+吕
+施
+张
+孔
+曹
+严
+华
+金
+魏
+陶
+姜
+戚
+谢
+邹
+喻
+柏
+水
+窦
+章
+云
+苏
+潘
+葛
+奚
+范
+彭
+郎
+鲁
+韦
+昌
+马
+苗
+凤
+花
+方
+俞
+任
+袁
+柳
+酆
+鲍
+史
+唐
+费
+廉
+岑
+薛
+雷
+贺
+倪
+汤
+滕
+殷
+罗
+毕
+郝
+邬
+安
+常
+乐
+于
+时
+傅
+皮
+卞
+齐
+康
+伍
+余
+元
+卜
+顾
+孟
+平
+黄
+和
+穆
+萧
+尹
+姚
+邵
+湛
+汪
+祁
+毛
+禹
+狄
+米
+贝
+明
+臧
+计
+伏
+成
+戴
+谈
+宋
+茅
+庞
+熊
+纪
+舒
+屈
+项
+祝
+董
+梁
+杜
+阮
+蓝
+闵
+席
+季
+麻
+强
+贾
+路
+娄
+危
+江
+童
+颜
+郭
+梅
+盛
+林
+刁
+钟
+徐
+邱
+骆
+高
+夏
+蔡
+田
+樊
+胡
+凌
+霍
+虞
+万
+支
+柯
+昝
+管
+卢
+莫
+经
+房
+裘
+缪
+干
+解
+应
+宗
+丁
+宣
+贲
+邓
+郁
+单
+杭
+洪
+包
+诸
+左
+石
+崔
+吉
+钮
+龚
+程
+嵇
+邢
+滑
+裴
+陆
+荣
+翁
+荀
+羊
+於
+惠
+甄
+曲
+家
+封
+芮
+羿
+储
+靳
+汲
+邴
+糜
+松
+井
+段
+富
+巫
+乌
+焦
+巴
+弓
+牧
+隗
+山
+谷
+车
+侯
+宓
+蓬
+全
+郗
+班
+仰
+秋
+仲
+伊
+宫
+宁
+仇
+栾
+暴
+甘
+钭
+厉
+戎
+祖
+武
+符
+刘
+景
+詹
+束
+龙
+叶
+幸
+司
+韶
+郜
+黎
+蓟
+薄
+印
+宿
+白
+怀
+蒲
+邰
+从
+鄂
+索
+咸
+籍
+赖
+卓
+蔺
+屠
+蒙
+池
+乔
+阴
+鬱
+胥
+能
+苍
+双
+闻
+莘
+党
+翟
+谭
+贡
+劳
+逄
+姬
+申
+扶
+堵
+冉
+宰
+郦
+雍
+郤
+璩
+桑
+桂
+濮
+牛
+寿
+通
+边
+扈
+燕
+冀
+郏
+浦
+尚
+农
+温
+别
+庄
+晏
+柴
+瞿
+阎
+充
+慕
+连
+茹
+习
+宦
+艾
+鱼
+容
+向
+古
+易
+慎
+戈
+廖
+庾
+终
+暨
+居
+衡
+步
+都
+耿
+满
+弘
+匡
+国
+文
+寇
+广
+禄
+阙
+东
+欧
+殳
+沃
+利
+蔚
+越
+夔
+隆
+师
+巩
+厍
+聂
+晁
+勾
+敖
+融
+冷
+訾
+辛
+阚
+那
+简
+饶
+空
+曾
+毋
+沙
+乜
+养
+鞠
+须
+丰
+巢
+关
+蒯
+相
+查
+后
+荆
+红
+游
+竺
+权
+逯
+盖
+益
+桓
+公
+万俟
+司马
+上官
+欧阳
+夏侯
+诸葛
+闻人
+东方
+赫连
+皇甫
+尉迟
+公羊
+澹台
+公冶
+宗政
+濮阳
+淳于
+单于
+太叔
+申屠
+公孙
+仲孙
+轩辕
+令狐
+钟离
+宇文
+长孙
+慕容
+鲜于
+闾丘
+司徒
+司空
+亓官
+司寇
+仉
+督
+子车
+颛孙
+端木
+巫马
+公西
+漆雕
+乐正
+壤驷
+公良
+拓跋
+夹谷
+宰父
+穀梁
+晋
+楚
+闫
+法
+汝
+鄢
+涂
+钦
+段干
+百里
+东郭
+南门
+呼延
+归
+海
+羊舌
+微生
+岳
+帅
+缑
+亢
+况
+後
+有
+琴
+梁丘
+左丘
+东门
+西门
+商
+牟
+佘
+佴
+伯
+赏
+南宫
+墨
+哈
+谯
+笪
+年
+爱
+阳
+佟
+第五
+言
+福

+ 219 - 0
tools/resources/Roles.txt

@@ -0,0 +1,219 @@
+高级软件工程师
+软件工程师
+研发工程师
+需求工程师
+系统架构设计师
+系统集成工程师
+系统工程师
+系统分析员
+软件测试
+软件UI设计师
+数据库开发工程师
+数据库管理员
+ERP技术
+ERP实施顾问
+项目经理
+后端工程师
+前端工程师
+网站运营管理
+运营专员
+网站编辑
+产品经理
+产品专员
+SEO
+电子商务经理
+电子商务专员
+网络管理员
+网络工程师
+互联网研发工程师
+系统管理员
+系统分析师
+系统架构师
+网络与信息安全工程师
+多媒体开发工程师
+前端工程师
+后端工程师
+网页设计师
+交互设计师
+视觉设计师
+设计顾问
+技术顾问
+三维设计
+flash设计
+游戏设计
+游戏开发
+游戏策划
+游戏界面设计师
+特效设计师
+手机软件开发工程师
+移动互联网开发工程师
+iOS开发
+安卓开发
+算法工程师
+机器学习工程师
+数据挖掘工程师
+测试工程师
+产品总监
+技术总监
+测试总监
+CTO
+用户研究专员
+用户体验师
+硬件工程师
+高级硬件工程师
+硬件测试
+计算机硬件维护工程师
+无线通信工程师
+射频通信工程师
+电信工程师
+通信工程师
+通信电源工程师
+移动通信工程师
+电信网络工程师
+电信交换工程师
+数据通信工程师
+有线传输工程师
+项目经理
+项目主管
+标准化工程师
+研发工程师
+通信技术工程师
+首席技术官
+技术总监
+技术经理
+信息技术经理
+信息技术专员
+技术支持
+维护经理
+维护工程师
+运维工程师
+运维经理
+技术专员
+技术助理
+项目总监
+项目经理
+项目执行
+质量工程师
+品质经理
+系统测试
+软件测试
+硬件测试
+测试员
+计量工程师
+标准化工程师
+helpdesk
+文档工程师
+网络优化师
+首席财务官
+财务总监
+财务经理
+财务主管
+总账主管
+财务分析经理
+会计经理
+会计师
+高级会计师
+中级会计师
+初级会计师
+财务顾问
+成本经理
+会计经理
+会计
+财务助理
+会计助理
+成本会计
+会计文员
+出纳员
+审计经理
+审计专员
+资产管理
+资金管理
+资金专员
+税务经理
+税务专员
+税务助理
+涉税项目经理
+统计员
+财务分析员
+业务经理
+项目经理
+保险代理
+保险经纪人
+客户经理
+保险顾问
+财务规划师
+保险产品开发
+保险项目策划
+保险培训师
+契约管理
+核保理赔
+车险核保岗
+保险受理
+精算
+投资
+稽核
+法务
+合规
+保险精算师
+客户服务
+续期管理
+保险内勤
+储备经理人
+行长
+副行长
+银行经理
+银行主任
+银行会计
+银行柜员
+信用卡销售
+银行卡销售
+电子银行业务推广
+信贷管理
+资信评估分析
+客户服务
+公司业务
+个人业务
+外汇交易
+高级客户经理
+客户经理
+综合业务经理
+综合业务专员
+大堂经理
+进出口结算
+信用证结算
+清算人员
+风险控制
+信审核查
+证券总监
+证券经纪人
+期货经纪人
+外汇经纪人
+证券分析
+金融研究
+客户经理
+投资服务
+理财服务
+投资银行业务
+项目经理
+融资总监
+融资经理
+融资专员
+股票操盘手
+期货操盘手
+风险管理
+风险控制
+风险稽查
+基金管理
+外汇交易经理人
+基金经理人
+国债经理人
+资产评估
+担保
+拍卖
+典当业务
+储备经理人
+研究员
+市场管理
+销售助理
+办公室职员
+文职

+ 193 - 0
tools/resources/RolesKeywords.txt

@@ -0,0 +1,193 @@
+文案策划
+工程师
+设计师
+助理
+专员
+人员
+组长
+实施顾问
+经理
+运营管理
+专员
+编辑
+SEO
+分析师
+架构师
+顾问
+三维设计
+flash设计
+游戏设计
+游戏开发
+游戏策划
+游戏界面设计师
+特效设计师
+手机软件开发工程师
+移动互联网开发工程师
+iOS开发
+安卓开发
+算法工程师
+机器学习工程师
+数据挖掘工程师
+测试工程师
+总监
+CTO
+用户研究专员
+用户体验师
+硬件工程师
+高级硬件工程师
+硬件测试
+计算机硬件维护工程师
+无线通信工程师
+射频通信工程师
+电信工程师
+通信工程师
+通信电源工程师
+移动通信工程师
+电信网络工程师
+电信交换工程师
+数据通信工程师
+有线传输工程师
+项目经理
+主管
+标准化工程师
+研发工程师
+通信技术工程师
+首席技术官
+技术总监
+技术经理
+信息技术经理
+信息技术专员
+技术支持
+维护经理
+维护工程师
+运维工程师
+运维经理
+技术专员
+技术助理
+项目总监
+项目经理
+项目执行
+质量工程师
+品质经理
+系统测试
+软件测试
+硬件测试
+测试员
+计量工程师
+标准化工程师
+helpdesk
+文档工程师
+网络优化师
+首席财务官
+财务总监
+财务经理
+财务主管
+总账主管
+财务分析经理
+会计经理
+会计师
+高级会计师
+中级会计师
+初级会计师
+财务顾问
+成本经理
+会计经理
+会计
+财务助理
+会计助理
+成本会计
+会计文员
+出纳员
+审计经理
+审计专员
+资产管理
+资金管理
+资金专员
+税务经理
+税务专员
+税务助理
+涉税项目经理
+统计员
+财务分析员
+业务经理
+项目经理
+保险代理
+保险经纪人
+客户经理
+保险顾问
+财务规划师
+保险产品开发
+保险项目策划
+保险培训师
+契约管理
+核保理赔
+车险核保岗
+保险受理
+精算
+投资
+稽核
+法务
+合规
+精算师
+客户服务
+续期管理
+保险内勤
+经理人
+行长
+副行长
+银行经理
+银行主任
+银行会计
+银行柜员
+信用卡销售
+银行卡销售
+电子银行业务推广
+信贷管理
+资信评估分析
+客户服务
+公司业务
+个人业务
+外汇交易
+高级客户经理
+客户经理
+综合业务经理
+综合业务专员
+大堂经理
+进出口结算
+信用证结算
+清算人员
+风险控制
+信审核查
+证券总监
+经纪人
+期货经纪人
+外汇经纪人
+证券分析
+金融研究
+客户经理
+投资服务
+理财服务
+投资银行业务
+项目经理
+融资总监
+融资经理
+融资专员
+股票操盘手
+操盘手
+风险管理
+风险控制
+风险稽查
+基金管理
+外汇交易经理人
+基金经理人
+国债经理人
+资产评估
+担保
+拍卖
+典当业务
+储备经理人
+研究员
+市场管理
+销售助理
+办公室职员
+文职

+ 78 - 0
tools/resources/SegmentName.txt

@@ -0,0 +1,78 @@
+工作经历
+工作经验
+教育经历
+教育经验
+项目经历
+项目经验
+教育经历
+培训经历
+培训经验
+获奖情况
+社会经历
+社会经验
+自我评价
+求职意向
+求职目标
+专业能力
+个人爱好
+技能与特长
+个人能力
+兴趣爱好
+专业技能
+个人技能
+个人奖项和经历
+爱好特长
+教育背景
+证书获得
+实验室经历
+培训经历
+语言能力
+在校获奖情况
+能力与专长
+奖励情况
+在校实践
+个人优势
+教育培训
+拥有证书
+个人评价
+教育水平
+IT技能&英语水平
+所获奖项
+项目&社会实践
+能力与特长
+技能证书
+教育/工作经历
+发表论文
+校内奖励
+项目介绍
+自我评定
+教育情况
+参与项目介绍
+学习培训经历
+技能水平
+爱好
+近期目标
+社会实践
+自我评价以及求职意向
+学习培训经历
+参与项目介绍
+专业情况介绍
+人生格言
+社会实践
+主修课程
+教育背景
+其它情况
+工作情况
+参与项目
+技能专长
+技能爱好
+语言及IT技能
+经历汇总
+个人经历
+自我介绍
+工作/项目经验
+获奖情况
+职业技能
+科研工作
+荣获奖励
+语言及IT技能

+ 2455 - 0
tools/resources/Universities.txt

@@ -0,0 +1,2455 @@
+阳光高考
+北京大学
+中国人民大学
+清华大学
+北京交通大学
+北京航空航天大学
+北京理工大学
+北京科技大学
+北京化工大学
+北京邮电大学
+华北电力大学
+中国石油大学
+中国矿业大学
+中国地质大学
+中国农业大学
+北京林业大学
+北京中医药大学
+北京师范大学
+北京外国语大学
+北京语言大学
+中国传媒大学
+中央财经大学
+对外经贸大学
+中国人民公安大学
+中国政法大学
+北京体育大学
+中央民族大学
+北京电子科技学院
+北京协和医学院
+外交学院
+中华女子学院
+国际关系学院
+中国青年政治学院
+中国劳动关系学院
+中央音乐学院
+中央美术学院
+中央戏剧学院
+北京联合大学
+北京工业大学
+北方工业大学
+北京信息科技大学
+首都医科大学
+首都师范大学
+北京工商大学
+首都经济贸易大学
+北京城市学院
+北京服装学院
+北京印刷学院
+北京建筑工程学院
+北京石油化工学院
+首钢工学院
+北京农学院
+北京第二外国语学院
+北京物资学院
+首都体育学院
+中国音乐学院
+中国戏曲学院
+北京电影学院
+北京舞蹈学院
+阳光高考
+北京青年政治学院
+北京科技经营管理学院
+北京电子科技职业学院
+北京信息职业技术学院
+北京工业职业技术学院
+北京吉利大学
+北京培黎职业学院
+北京经济管理职业学院
+北京劳动保障职业学院
+北京戏曲艺术职业学院
+北京体育职业学院
+北京农业职业学院
+北京汇佳职业学院
+北京政法职业学院
+北京财贸职业学院
+北京经济技术职业学院
+北京科技职业学院
+北京北大方正软件职业技术学院
+北京现代职业技术学院
+北京社会管理职业学院
+北京新圆明职业学院
+北京交通职业技术学院
+北京经贸职业学院
+北京京北职业技术学院
+北京交通运输职业学院
+阳光高考
+首都师范大学科德学院
+北京工商大学嘉华学院
+北京邮电大学世纪学院
+北京工业大学耿丹学院
+北京第二外国语学院中瑞酒店管理学院
+阳光高考
+北京科技大学延庆分校
+阳光高考
+南开大学
+天津大学
+中国民航大学
+天津工业大学
+天津科技大学
+天津理工大学
+天津医科大学
+天津中医药大学
+天津师范大学
+天津职业技术师范大学
+天津外国语大学
+天津财经大学
+天津商业大学
+天津天狮学院
+天津城建大学
+天津农学院
+天津体育学院
+天津音乐学院
+天津美术学院
+阳光高考
+天津医学高等专科学校
+天津职业大学
+天津电子信息职业技术学院
+天津滨海职业学院
+天津轻工职业技术学院
+天津公安警官职业学院
+天津现代职业技术学院
+天津机电职业技术学院
+天津工程职业技术学院
+天津渤海职业技术学院
+天津海运职业学院
+天津城市职业学院
+天津石油职业技术学院
+天津冶金职业技术学院
+天津交通职业学院
+天津铁道职业技术学院
+天津生物工程职业技术学院
+天津工艺美术职业学院
+天津广播影视职业学院
+天津开发区职业技术学院
+天津艺术职业学院
+天津国土资源和房屋职业学院
+天津城市建设管理职业技术学院
+天津中德职业技术学院
+天津青年职业学院
+天津商务职业学院
+阳光高考
+南开大学滨海学院
+天津外国语大学滨海外事学院
+天津体育学院运动与文化艺术学院
+天津商业大学宝德学院
+北京科技大学天津学院
+天津师范大学津沽学院
+天津理工大学中环信息学院
+天津大学仁爱学院
+天津财经大学珠江学院
+阳光高考
+华北科技学院
+防灾科技学院
+中国人民武装警察部队学院
+中央司法警官学院
+河北大学
+河北工业大学
+燕山大学
+河北联合大学
+河北科技大学
+河北工程大学
+石家庄铁道大学
+河北农业大学
+河北医科大学
+河北师范大学
+河北经贸大学
+石家庄经济学院
+河北建筑工程学院
+北华航天工业学院
+河北科技学院
+承德医学院
+廊坊师范学院
+河北民族师范学院
+唐山师范学院
+河北科技师范学院
+沧州师范学院
+邢台学院
+河北金融学院
+河北体育学院
+河北传媒学院
+保定学院
+河北北方学院
+衡水学院
+邯郸学院
+唐山学院
+石家庄学院
+河北美术学院
+华北电力大学
+河北外国语学院 
+东北大学秦皇岛分校
+阳光高考
+沧州医学高等专科学校
+河北工程技术高等专科学校
+承德石油高等专科学校
+石家庄医学高等专科学校
+邢台医学高等专科学校
+石家庄人民医学高等专科学校
+河北化工医药职业技术学院
+沧州职业技术学院
+石家庄铁路职业技术学院
+张家口职业技术学院
+河北工业职业技术学院
+河北能源职业技术学院
+保定职业技术学院
+石家庄职业技术学院
+邢台职业技术学院
+邯郸职业技术学院
+石家庄计算机职业学院
+河北建材职业技术学院
+石家庄邮电职业技术学院
+河北女子职业技术学院
+泊头职业学院
+渤海石油职业学院
+唐山科技职业技术学院
+河北机电职业技术学院
+保定电力职业技术学院
+廊坊职业技术学院
+石家庄科技工程职业学院
+冀中职业学院
+石家庄外事职业学院
+河北政法职业学院
+河北旅游职业学院
+河北公安警察职业学院
+廊坊东方职业技术学院
+河北省艺术职业学院
+宣化科技职业学院
+石家庄财经职业学院
+石家庄信息工程职业学院
+河北交通职业技术学院
+石家庄理工职业学院
+河北外国语职业学院
+石家庄科技职业学院
+河北司法警官职业学院
+河北劳动关系职业学院
+河北石油职业技术学院
+秦皇岛职业技术学院
+河北软件职业技术学院
+石家庄外国语职业学院
+唐山职业技术学院
+石家庄幼儿师范高等专科学校
+衡水职业技术学院
+唐山工业职业技术学院
+石家庄工商职业学院
+石家庄法商职业学院
+廊坊燕京职业技术学院
+承德护理职业学院
+阳光高考
+河北联合大学轻工学院
+河北工程大学科信学院
+华北电力大学科技学院
+河北科技大学理工学院
+河北大学工商学院
+河北师范大学汇华学院
+河北医科大学临床学院
+河北经贸大学经济管理学院
+河北工业大学城市学院
+燕山大学里仁学院
+华北煤炭医学院冀唐学院
+中国地质大学长城学院
+北京化工大学北方学院
+北京中医药大学东方学院
+北京交通大学海滨学院
+阳光高考
+张家口教育学院
+石家庄职工大学
+中国环境管理干部学院
+河北青年管理干部学院
+河北地质职工大学
+阳光高考
+吉林大学
+东北师范大学
+吉林农业大学
+北华大学
+吉林师范大学
+延边大学
+吉林财经大学
+东北电力大学
+长春工程学院
+吉林化工学院
+长春师范学院
+吉林工程技术师范学院
+吉林建筑工程学院
+长春工业大学
+长春中医药大学
+通化师范学院
+吉林华桥外国语学院
+吉林医药学院
+白城师范学院
+吉林艺术学院
+吉林农业科技学院
+吉林工商学院
+长春理工大学
+吉林动画学院
+长春大学
+吉林警察学院
+吉林体育学院
+长春建筑学院
+阳光高考
+白城医学高等专科学校
+长春汽车工业高等专科学校
+长春医学高等专科学校
+长春金融高等专科学校
+吉林交通职业技术学院
+辽源职业技术学院
+四平职业大学
+松原职业技术学院
+吉林农业工程职业技术学院
+白城职业技术学院
+吉林司法警官职业学院
+长春信息技术职业学院
+吉林电子信息职业技术学院
+吉林工业职业技术学院
+长白山职业技术学院
+长春职业技术学院
+吉林铁道职业技术学院
+吉林科技职业技术学院
+延边职业技术学院
+阳光高考
+吉林建筑工程学院城建学院
+长春大学光华学院
+长春工业大学人文信息学院
+长春理工大学光电信息学院
+吉林财经大学信息经济学院
+吉林农业大学发展学院
+东北师范大学人文学院
+吉林师范大学博达学院
+长春大学旅游学院
+阳光高考
+吉林省教育学院
+吉林省经济管理干部学院
+阳光高考
+内蒙古大学
+内蒙古科技大学
+内蒙古民族大学
+内蒙古工业大学
+内蒙古农业大学
+内蒙古师范大学
+内蒙古医科大学
+赤峰学院
+呼和浩特民族学院
+集宁师范学院
+呼伦贝尔学院
+内蒙古财经大学
+包头师范学院 
+阳光高考
+乌兰察布医学高等专科学校
+河套大学
+包头职业技术学院
+内蒙古建筑职业技术学院
+内蒙古机电职业技术学院
+赤峰职业技术学院
+内蒙古北方职业技术学院
+内蒙古交通职业技术学院
+内蒙古科技职业学院
+内蒙古商贸职业学院
+内蒙古化工职业学院
+乌海职业技术学院
+呼和浩特职业学院
+内蒙古经贸外语职业学院
+内蒙古电子信息职业技术学院
+包头铁道职业技术学院
+锡林郭勒职业学院
+包头钢铁职业技术学院
+乌兰察布职业学院
+通辽职业学院
+包头轻工职业技术学院
+兴安职业技术学院
+鄂尔多斯职业学院
+内蒙古警察职业学院
+内蒙古体育职业学院
+内蒙古丰州职业学院
+内蒙古轩元职业学院
+阳光高考
+内蒙古大学创业学院
+内蒙古师范大学鸿德学院
+阳光高考
+山西大学
+太原理工大学
+中北大学
+太原科技大学
+山西农业大学
+山西医科大学
+山西师范大学
+山西大同大学
+山西财经大学
+太原工业学院
+长治医学院
+山西中医学院
+太原师范学院
+长治学院
+吕梁学院
+晋中学院
+忻州师范学院
+运城学院 
+山西工商学院
+阳光高考
+太原电力高等专科学校
+晋中师范高等专科学校
+阳泉师范高等专科学校
+运城幼儿师范高等专科学校
+山西省财政税务专科学校
+山西警官高等专科学校
+太原大学
+山西警官职业学院
+山西运城农业职业技术学院
+晋中职业技术学院
+山西国际商务职业学院
+山西体育职业学院
+山西旅游职业学院
+山西华澳商贸职业学院
+山西管理职业学院
+运城职业技术学院
+山西戏剧职业学院
+山西财贸职业技术学院
+山西林业职业技术学院
+山西水利职业技术学院
+阳泉职业技术学院
+山西轻工职业技术学院
+山西信息职业技术学院
+晋城职业技术学院
+山西机电职业技术学院
+大同煤炭职业技术学院
+太原旅游职业学院
+山西老区职业技术学院
+临汾职业技术学院
+山西煤炭职业技术学院
+太原城市职业技术学院
+山西金融职业学院
+山西职业技术学院
+山西电力职业技术学院
+长治职业技术学院
+山西艺术职业学院
+山西交通职业技术学院
+山西建筑职业技术学院
+山西生物应用职业技术学院
+忻州职业技术学院
+山西工程职业技术学院
+山西兴华职业学院
+山西经贸职业学院
+朔州职业技术学院
+山西同文外语职业学院
+阳光高考
+山西大学商务学院
+太原理工大学现代科技学院
+山西农业大学信息学院
+山西师范大学现代文理学院
+中北大学信息商务学院
+山西医科大学晋祠学院
+山西财经大学华商学院
+阳光高考
+广播电影电视管理干部学院
+山西职工医学院
+山西煤炭管理干部学院
+山西青年管理干部学院
+山西政法管理干部学院
+阳光高考
+大连理工大学
+东北大学
+大连海事大学
+中国刑事警察学院
+大连民族学院
+辽宁大学
+沈阳大学
+大连大学
+沈阳理工大学
+辽宁工程技术大学
+沈阳工业大学
+沈阳建筑大学
+辽宁石油化工大学
+大连交通大学
+沈阳化工大学
+辽宁科技大学
+大连工业大学
+辽宁工业大学
+沈阳航空航天大学
+沈阳农业大学
+大连海洋大学
+中国医科大学
+大连医科大学
+辽宁中医药大学
+沈阳药科大学
+辽宁师范大学
+沈阳师范大学
+渤海大学
+东北财经大学
+沈阳工程学院
+辽宁科技学院
+大连东软信息学院
+辽宁医学院
+沈阳医学院
+鞍山师范学院
+大连外国语学院
+辽宁财贸学院
+沈阳体育学院
+鲁迅美术学院
+沈阳音乐学院
+大连艺术学院
+辽东学院
+辽宁对外经贸学院
+大连科技学院
+阳光高考
+辽宁交通高等专科学校
+铁岭师范高等专科学校
+抚顺师范高等专科学校
+朝阳师范高等专科学校
+锦州师范高等专科学校
+辽宁警官高等专科学校
+阜新高等专科学校
+大连职业技术学院
+辽宁农业职业技术学院
+辽阳职业技术学院
+盘锦职业技术学院
+渤海船舶职业学院
+抚顺职业技术学院
+营口职业技术学院
+大连艺术职业学院
+大连东软信息技术职业学院
+辽宁金融职业学院
+辽宁石化职业技术学院
+辽宁经济职业技术学院
+辽宁建筑职业学院
+辽宁现代服务职业技术学院
+辽宁广告职业学院
+辽宁装备制造职业技术学院
+辽宁理工职业学院
+辽宁机电职业技术学院
+辽宁林业职业技术学院
+大连翻译职业学院
+辽宁商贸职业学院
+大连汽车职业技术学院
+大连装备制造职业技术学院
+大连枫叶职业技术学院
+辽宁职业学院
+辽宁美术职业学院
+沈阳航空职业技术学院
+大连航运职业技术学院
+沈阳职业技术学院
+辽宁地质工程职业学院
+辽宁体育运动职业技术学院
+辽宁冶金职业技术学院
+辽宁工程职业学院
+辽宁卫生职业技术学院
+阳光高考
+大连理工大学城市学院
+沈阳航空航天大学北方科技学院
+沈阳大学科技工程学院
+东北财经大学津桥商学院
+大连工业大学艺术与信息工程学院
+辽宁科技大学信息技术学院
+中国医科大学临床医药学院
+辽宁石油化工大学顺华能源学院
+辽宁师范大学海华学院
+沈阳建筑大学城市建设学院
+辽宁中医药大学杏林学院
+沈阳理工大学应用技术学院
+辽宁何氏医学院
+辽宁医学院医疗学院
+大连医科大学中山学院
+沈阳工业大学工程学院
+沈阳化工大学科亚学院
+阳光高考
+辽宁公安司法管理干部学院
+阳光高考
+兰州大学
+西北民族大学
+兰州理工大学
+兰州交通大学
+甘肃农业大学
+西北师范大学
+甘肃中医学院
+陇东学院
+甘肃民族师范学院
+天水师范学院
+兰州商学院
+甘肃政法学院
+河西学院
+兰州城市学院
+兰州工业学院 
+兰州文理学院
+阳光高考
+平凉医学高等专科学校
+定西师范高等专科学校
+甘肃机电职业技术学院
+兰州石化职业技术学院
+甘肃农业职业技术学院
+甘肃林业职业技术学院
+甘肃交通职业技术学院
+酒泉职业技术学院
+兰州外语职业学院
+兰州职业技术学院
+甘肃工业职业技术学院
+甘肃畜牧工程职业技术学院
+武威职业学院
+兰州资源环境职业技术学院
+甘肃钢铁职业技术学院
+阳光高考
+西北师范大学知行学院
+兰州商学院陇桥学院
+兰州交通大学博文学院
+兰州商学院长青学院
+兰州理工大学技术工程学院
+阳光高考
+兰州航空工业职工大学
+兰州教育学院
+兰州铁路工程职工大学
+阳光高考
+复旦大学
+上海交通大学
+同济大学
+华东理工大学
+东华大学
+华东师范大学
+上海外国语大学
+上海财经大学
+上海海关学院
+上海大学
+上海理工大学
+上海海事大学
+上海工程技术大学
+上海海洋大学
+上海中医药大学
+上海师范大学
+华东政法大学
+上海政法学院
+上海建桥学院
+上海第二工业大学
+上海应用技术学院
+上海电力学院
+上海电机学院
+上海对外贸易学院
+上海金融学院
+上海立信会计学院
+上海体育学院
+上海音乐学院
+上海戏剧学院
+上海商学院
+上海杉达学院
+阳光高考
+上海医疗器械高等专科学校
+上海出版印刷高等专科学校
+上海医药高等专科学校
+上海旅游高等专科学校
+上海公安高等专科学校
+上海电影艺术职业学院
+上海东海职业技术学院
+上海新侨职业技术学院
+上海城市管理职业技术学院
+上海思博职业技术学院
+上海中侨职业技术学院
+上海托普信息技术职业学院
+上海科学技术职业学院
+上海邦德职业技术学院
+上海立达职业技术学院
+上海建峰职业技术学院
+上海工艺美术职业学院
+上海农林职业技术学院
+上海体育职业学院
+上海震旦职业学院
+上海海事职业技术学院
+上海民远职业技术学院
+上海中华职业技术学院
+上海工会管理职业学院
+上海工商外国语职业学院
+上海交通职业技术学院
+上海济光职业技术学院
+上海行健职业学院
+上海电子信息职业技术学院
+上海欧华职业技术学院
+上海健康职业技术学院
+阳光高考
+上海外国语大学贤达经济人文学院
+上海师范大学天华学院
+复旦大学上海视觉艺术学院
+同济大学同科学院
+阳光高考
+广西大学
+桂林电子科技大学
+桂林理工大学
+广西医科大学
+广西师范大学
+广西民族大学
+广西科技大学
+广西中医药大学
+右江民族医学院
+桂林医学院
+广西师范学院
+广西民族师范学院
+河池学院
+玉林师范学院
+广西财经学院
+广西艺术学院
+贺州学院
+钦州学院
+百色学院
+梧州学院
+广西外国语学院
+桂林航天工业学院
+南宁学院
+阳光高考
+广西科技职业学院
+桂林师范高等专科学校
+柳州师范高等专科学校
+广西幼儿师范高等专科学校
+桂林旅游高等专科学校
+广西警官高等专科学校
+广西体育高等专科学校
+柳州职业技术学院
+广西职业技术学院
+南宁职业技术学院
+广西机电职业技术学院
+贵港职业学院
+广西农业职业技术学院
+广西工程职业学院
+广西建设职业技术学院
+广西理工职业技术学院
+广西经贸职业技术学院
+广西工商职业技术学院
+广西工业职业技术学院
+百色职业学院
+广西水利电力职业技术学院
+广西城市职业学院
+广西国际商务职业技术学院
+梧州职业学院
+桂林山水职业学院
+广西电力职业技术学院
+广西英华国际职业学院
+柳州城市职业学院
+广西生态工程职业技术学院
+广西演艺职业学院
+广西交通职业技术学院
+北海艺术设计职业学院
+北海职业学院
+广西现代职业技术学院
+广西经济职业学院
+柳州铁道职业技术学院
+广西卫生职业技术学院
+阳光高考
+广西师范大学漓江学院
+桂林电子科技大学信息科技学院
+广西科技大学鹿山学院
+广西师范学院师园学院
+广西民族大学相思湖学院
+广西大学行健文理学院
+广西中医学院赛恩斯新医药学院
+北京航空航天大学北海学院
+桂林理工大学博文管理学院
+阳光高考
+浙江大学
+公安海警学院
+宁波大学
+浙江工业大学
+杭州电子科技大学
+浙江理工大学
+浙江农林大学
+浙江中医药大学
+浙江师范大学
+杭州师范大学
+浙江工商大学
+宁波诺丁汉大学
+温州大学
+宁波大红鹰学院
+浙江越秀外国语学院
+中国计量学院
+宁波工程学院
+嘉兴学院
+浙江科技学院
+浙江海洋学院
+温州医学院
+湖州师范学院
+台州学院
+绍兴文理学院
+浙江传媒学院
+浙江外国语学院
+浙江财经学院
+浙江警察学院
+中国美术学院
+浙江树人学院
+浙江万里学院
+丽水学院
+阳光高考
+浙江水利水电专科学校
+浙江医学高等专科学校
+浙江医药高等专科学校
+金华职业技术学院
+宁波职业技术学院
+浙江交通职业技术学院
+温州职业技术学院
+台州职业技术学院
+嘉兴南洋职业技术学院
+嘉兴职业技术学院
+浙江纺织服装职业技术学院
+绍兴职业技术学院
+浙江育英职业技术学院
+浙江经贸职业技术学院
+浙江建设职业技术学院
+衢州职业技术学院
+浙江金融职业学院
+丽水职业技术学院
+浙江工商职业技术学院
+浙江艺术职业学院
+浙江机电职业技术学院
+浙江商业职业技术学院
+浙江警官职业学院
+浙江工业职业技术学院
+浙江旅游职业学院
+浙江经济职业技术学院
+浙江横店影视职业学院
+浙江同济科技职业学院
+宁波天一职业技术学院
+浙江邮电职业技术学院
+台州科技职业学院
+浙江电力职业技术学院
+湖州职业技术学院
+杭州科技职业技术学院
+杭州职业技术学院
+宁波城市职业技术学院
+浙江工贸职业技术学院
+浙江汽车职业技术学院
+杭州万向职业技术学院
+义乌工商职业技术学院
+浙江国际海运职业技术学院
+温州科技职业学院
+浙江体育职业技术学院
+浙江广厦建设职业技术学院
+浙江东方职业技术学院
+浙江长征职业技术学院 
+阳光高考
+浙江大学城市学院
+浙江大学宁波理工学院
+浙江工业大学之江学院
+浙江师范大学行知学院
+宁波大学科学技术学院
+杭州电子科技大学信息工程学院
+浙江理工大学科技与艺术学院
+浙江海洋学院东海科学技术学院
+浙江农林大学天目学院
+温州医学院仁济学院
+杭州师范大学钱江学院
+湖州师范学院求真学院
+绍兴文理学院元培学院
+温州大学瓯江学院
+浙江工商大学杭州商学院
+中国计量学院现代科技学院
+浙江财经学院东方学院
+嘉兴学院南湖学院
+温州大学城市学院
+同济大学浙江学院
+上海财经大学浙江学院
+阳光高考
+宁波教育学院 
+阳光高考
+中国科学技术大学
+合肥工业大学
+安徽大学
+安徽理工大学
+安徽工业大学
+安徽工程大学
+安徽农业大学
+安徽医科大学
+安徽师范大学
+淮北师范大学
+安徽财经大学
+安徽三联学院
+安徽建筑大学
+安徽中医学院
+皖南医学院
+蚌埠医学院
+阜阳师范学院
+淮南师范学院
+安庆师范学院
+安徽科技学院
+合肥师范学院
+黄山学院
+安徽新华学院
+宿州学院
+铜陵学院
+皖西学院
+巢湖学院
+合肥学院
+蚌埠学院
+滁州学院
+池州学院
+安徽外国语学院
+安徽文达信息工程学院
+阳光高考
+马鞍山师范高等专科学校
+安徽中医药高等专科学校
+安庆医药高等专科学校
+安徽医学高等专科学校
+桐城师范高等专科学校
+安徽警官职业学院
+淮北职业技术学院
+芜湖职业技术学院
+安徽商贸职业技术学院
+民办万博科技职业学院
+铜陵职业技术学院
+淮南职业技术学院
+安徽水利水电职业技术学院
+淮南联合大学
+安徽职业技术学院
+安徽艺术职业学院
+安徽电气工程职业技术学院
+安徽冶金科技职业学院
+安徽矿业职业技术学院
+安徽工商职业学院
+安庆职业技术学院
+安徽绿海商务职业学院
+合肥共达职业技术学院
+安徽电子信息职业技术学院
+安徽涉外经济职业学院
+安徽国际商务职业学院
+安徽财贸职业学院
+安徽林业职业技术学院
+阜阳科技职业学院
+安徽审计职业学院
+安徽新闻出版职业技术学院
+安徽工业职业技术学院
+安徽邮电职业技术学院
+蚌埠经济技术职业学院
+安徽交通职业技术学院
+安徽工业经济职业技术学院
+马鞍山职业技术学院
+徽商职业学院
+民办安徽旅游职业学院
+合肥通用职业技术学院
+安徽工贸职业技术学院
+阜阳职业技术学院
+安徽现代信息工程职业学院
+宣城职业技术学院
+安徽城市管理职业学院
+六安职业技术学院
+安徽体育运动职业技术学院
+芜湖信息技术职业学院
+滁州职业技术学院
+安徽中澳科技职业学院
+亳州职业技术学院
+民办合肥经济技术职业学院
+合肥信息技术职业学院
+安徽机电职业技术学院
+黄山职业技术学院
+滁州城市职业学院
+安徽汽车职业技术学院
+皖西卫生职业学院
+安徽公安职业学院
+安徽广播影视职业技术学院
+安徽国防科技职业学院
+巢湖职业技术学院
+池州职业技术学院
+合肥幼儿师范高等专科学校
+宿州职业技术学院
+民办合肥滨湖职业技术学院
+民办合肥财经职业学院
+阳光高考
+安徽大学江淮学院
+安徽师范大学皖江学院
+安徽农业大学经济技术学院
+安徽医科大学临床医学院
+安徽工业大学工商学院
+安徽财经大学商学院
+安徽建筑工业学院城市建设学院
+安徽工程大学机电学院
+阜阳师范学院信息工程学院
+河海大学文天学院
+阳光高考
+安徽行政学院
+阳光高考
+厦门大学
+华侨大学
+福建农林大学
+集美大学
+福州大学
+仰恩大学
+福建医科大学
+福建中医药大学
+福建师范大学
+厦门理工学院
+闽南理工学院
+福建工程学院
+泉州师范学院
+闽南师范大学
+宁德师范学院
+福建警察学院
+龙岩学院
+三明学院
+闽江学院
+武夷学院
+莆田学院
+福建江夏学院
+福州外语外贸学院
+阳光高考
+厦门医学高等专科学校
+泉州医学高等专科学校
+福建商业高等专科学校
+福建华南女子职业学院
+福建交通职业技术学院
+泉州纺织服装职业学院
+厦门华厦职业学院
+福州英华职业学院
+漳州职业技术学院
+黎明职业大学
+厦门软件职业技术学院
+厦门城市职业学院
+福建体育职业技术学院
+德化陶瓷职业技术学院
+福州职业技术学院
+厦门华天涉外职业技术学院
+福州黎明职业技术学院
+厦门南洋职业学院
+漳州城市职业学院
+福建对外经济贸易职业技术学院
+湄洲湾职业技术学院
+厦门东海职业技术学院
+漳州天福茶职业技术学院
+厦门演艺职业学院
+泉州信息职业技术学院
+泉州轻工职业学院
+闽西职业技术学院
+闽北职业技术学院
+福州海峡职业技术学院
+泉州经贸职业技术学院
+三明职业技术学院
+福建生物工程职业技术学院
+宁德职业技术学院
+泉州泰山航海职业学院
+厦门安防科技职业学院
+福建警官职业学院
+福州软件职业技术学院
+泉州华光摄影艺术职业学院
+泉州理工职业学院
+漳州卫生职业学院
+福建卫生职业技术学院
+武夷山职业学院
+厦门兴才职业技术学院
+福建水利电力职业技术学院
+福建电力职业技术学院
+福建林业职业技术学院
+福建农业职业技术学院
+厦门海洋职业技术学院
+福州科技职业技术学院
+泉州幼儿师范高等专科学校
+阳光高考
+厦门大学嘉庚学院
+福州大学阳光学院
+福建师范大学协和学院
+福建农林大学东方学院
+福建师范大学闽南科技学院
+华侨大学厦门工学院
+集美大学诚毅学院
+福州大学至诚学院
+福建农林大学金山学院
+阳光高考
+福建教育学院
+福州教育学院 
+阳光高考
+南昌大学
+江西理工大学
+华东交通大学
+东华理工大学
+南昌航空大学
+江西农业大学
+江西师范大学
+江西财经大学
+井冈山大学
+景德镇陶瓷学院
+南昌工程学院
+南昌理工学院
+江西中医学院
+赣南医学院
+上饶师范学院
+江西科技师范大学
+赣南师范学院
+江西警察学院
+江西科技学院
+新余学院
+宜春学院
+九江学院
+江西服装学院
+南昌工学院
+阳光高考
+南昌师范高等专科学校
+江西中医药高等专科学校
+萍乡高等专科学校
+景德镇高等专科学校
+江西护理职业技术学院
+九江职业大学
+江西工业职业技术学院
+九江职业技术学院
+江西泰豪动漫职业学院
+江西外语外贸职业学院
+江西环境工程职业学院
+江西陶瓷工艺美术职业技术学院
+江西机电职业技术学院
+江西旅游商贸职业学院
+江西电力职业技术学院
+江西城市职业学院
+抚州职业技术学院
+江西工业工程职业技术学院
+上饶职业技术学院
+江西交通职业技术学院
+江西应用工程职业学院
+江西航空职业技术学院
+江西科技职业学院
+江西经济管理职业学院
+江西枫林涉外经贸职业学院
+江西太阳能科技职业学院
+江西工业贸易职业技术学院
+江西司法警官职业学院
+江西农业工程职业学院
+宜春职业技术学院
+江西新闻出版职业技术学院
+江西生物科技职业学院
+江西冶金职业技术学院
+江西管理职业学院
+江西青年职业学院
+江西渝州科技职业学院
+江西先锋软件职业技术学院
+江西工程职业学院
+江西信息应用职业技术学院
+赣西科技职业学院
+江西制造职业技术学院
+江西现代职业技术学院
+鹰潭职业技术学院
+江西应用技术职业学院
+江西财经职业学院
+江西艺术职业学院
+南昌职业学院
+江西建设职业技术学院
+阳光高考
+南昌大学科学技术学院
+江西农业大学南昌商学院
+江西师范大学科学技术学院
+华东交通大学理工学院
+江西理工大学应用科学学院
+东华理工大学长江学院
+南昌航空大学科技学院
+江西中医学院科技学院
+江西财经大学现代经济管理学院
+赣南师范学院科技学院
+景德镇陶瓷学院科技艺术学院
+江西科技师范学院理工学院
+南昌大学共青学院
+阳光高考
+江西医学院上饶分院
+江西教育学院
+南昌教育学院
+赣南教育学院 
+阳光高考
+西藏大学
+西藏民族学院
+西藏藏医学院
+阳光高考
+西藏警官高等专科学校
+拉萨师范高等专科学校
+西藏职业技术学院
+阳光高考
+郑州大学
+河南大学
+河南科技大学
+河南理工大学
+河南工业大学
+河南农业大学
+河南师范大学
+河南财经政法大学
+郑州科技学院
+郑州华信学院
+华北水利水电学院
+郑州轻工业学院
+中原工学院
+河南工程学院
+郑州航空工业管理学院
+安阳工学院
+河南城建学院
+南阳理工学院
+黄河科技学院
+洛阳理工学院
+河南中医学院
+新乡医学院
+信阳师范学院
+周口师范学院
+洛阳师范学院
+商丘师范学院
+南阳师范学院
+安阳师范学院
+郑州师范学院
+河南警察学院
+许昌学院
+黄淮学院
+新乡学院
+平顶山学院
+河南科技学院
+商丘工学院
+商丘学院
+郑州升达经贸管理学院
+信阳农林学院
+铁道警察学院
+阳光高考
+河南化工职业学院
+漯河医学高等专科学校
+河南机电高等专科学校
+郑州电力高等专科学校
+河南艺术职业学院
+郑州牧业工程高等专科学校
+郑州澍青医学高等专科学校
+南阳医学高等专科学校
+商丘医学高等专科学校
+焦作师范高等专科学校
+河南商业高等专科学校
+焦作大学
+漯河职业技术学院
+黄河水利职业技术学院
+郑州铁路职业技术学院
+开封大学
+中州大学
+三门峡职业技术学院
+河南职业技术学院
+鹤壁职业技术学院
+郑州职业技术学院
+嵩山少林武术职业学院
+郑州工业安全职业学院
+郑州交通职业学院
+郑州信息科技职业学院
+新乡职业技术学院
+漯河食品职业学院
+平顶山工业职业技术学院
+郑州布瑞达理工职业学院
+河南经贸职业学院
+济源职业技术学院
+河南建筑职业技术学院
+周口科技职业学院
+河南质量工程职业学院
+驻马店职业技术学院
+河南检察职业学院
+信阳职业技术学院
+郑州经贸职业学院
+河南工业职业技术学院
+安阳职业技术学院
+郑州电力职业技术学院
+河南工业贸易职业学院
+河南交通职业技术学院
+商丘职业技术学院
+许昌职业技术学院
+濮阳职业技术学院
+郑州电子信息职业技术学院
+周口职业技术学院
+永城职业学院
+焦作工贸职业学院
+郑州信息工程职业学院
+阳光高考
+河南理工大学万方科技学院
+河南大学民生学院
+中原工学院信息商务学院
+安阳师范学院人文管理学院
+河南师范大学新联学院
+新乡医学院三全学院
+河南科技学院新科学院
+信阳师范学院华锐学院
+郑州成功财经学院
+阳光高考
+河南教育学院
+开封教育学院
+河南卫生职工学院
+平顶山教育学院
+阳光高考
+武汉大学
+华中科技大学
+中国地质大学
+武汉理工大学
+华中农业大学
+华中师范大学
+中南财经政法大学
+中南民族大学
+湖北大学
+长江大学
+三峡大学
+江汉大学
+武汉科技大学
+湖北工业大学
+武汉工程大学
+武汉纺织大学
+湖北中医药大学
+武汉轻工大学
+湖北汽车工业学院
+荆楚理工学院
+湖北医药学院
+湖北师范学院
+黄冈师范学院
+湖北工程学院
+湖北第二师范学院
+湖北经济学院
+湖北警官学院
+武汉体育学院
+湖北美术学院
+武汉音乐学院
+湖北民族学院
+湖北文理学院
+湖北科技学院
+湖北理工学院
+武汉生物工程学院
+汉口学院
+武汉长江工商学院
+武汉东湖学院
+阳光高考
+湖北中医药高等专科学校
+郧阳师范高等专科学校
+湖北财经高等专科学校
+武汉商学院
+荆州理工职业学院 
+恩施职业技术学院
+襄樊职业技术学院
+湖北职业技术学院
+十堰职业技术学院
+长江职业学院
+武汉工贸职业学院
+武汉职业技术学院
+武汉船舶职业技术学院
+黄冈职业技术学院
+鄂州职业大学
+湖北生物科技职业学院
+湖北生态工程职业技术学院
+黄冈科技职业学院
+武汉外语外事职业学院
+武汉民政职业学院
+武汉航海职业技术学院
+武汉工业职业技术学院
+随州职业技术学院
+三峡电力职业学院
+湖北财税职业学院
+湖北科技职业学院
+湖北青年职业学院
+湖北城市建设职业技术学院
+武昌职业学院
+武汉铁路职业技术学院
+湖北水利水电职业技术学院
+武汉交通职业学院
+武汉商贸职业学院
+湖北三峡职业技术学院
+武汉科技职业学院
+湖北艺术职业学院
+武汉信息传播职业技术学院
+武汉警官职业学院
+湖北国土资源职业学院
+长江工程职业技术学院
+湖北开放职业学院
+江汉艺术职业学院
+黄石职业技术学院
+武汉电力职业技术学院
+武汉软件工程职业学院
+湖北轻工职业技术学院
+荆州职业技术学院
+武汉工程职业技术学院
+仙桃职业学院
+咸宁职业技术学院
+三峡旅游职业技术学院
+武汉城市职业学院
+鄂东职业技术学院
+湖北交通职业技术学院
+阳光高考
+华中科技大学武昌分校
+华中科技大学文华学院
+中南财经政法大学武汉学院
+武汉理工大学华夏学院
+湖北大学知行学院
+三峡大学科技学院
+武昌理工学院
+武汉科技大学城市学院
+湖北工业大学工程技术学院
+湖北工业大学商贸学院
+武昌工学院
+武汉工程大学邮电与信息工程学院
+武汉纺织大学外经贸学院
+江汉大学文理学院
+湖北汽车工业学院科技学院
+湖北经济学院法商学院
+武汉体育学院体育科技学院
+湖北师范学院文理学院
+孝感学院新技术学院
+湖北民族学院科技学院
+襄樊学院理工学院
+中国地质大学江城学院
+长江大学文理学院
+长江大学工程技术学院
+华中师范大学武汉传媒学院
+华中农业大学楚天学院
+武汉大学珞珈学院 
+阳光高考
+荆州教育学院
+阳光高考
+湖南大学
+中南大学
+湘潭大学
+湖南科技大学
+吉首大学
+长沙理工大学
+南华大学
+湖南工业大学
+湖南农业大学
+湖南中医药大学
+湖南师范大学
+长沙学院
+湖南第一师范学院
+湖南理工学院
+湖南城市学院
+湖南工程学院
+湖南工学院
+中南林业科技大学
+长沙医学院
+湘南学院
+衡阳师范学院
+湖南涉外经济学院
+湖南财政经济学院
+湖南商学院
+湖南警察学院
+湖南女子学院
+湖南人文科技学院
+邵阳学院
+湖南科技学院
+怀化学院
+湖南文理学院
+阳光高考
+长沙航空职业技术学院
+怀化医学高等专科学校
+邵阳医学高等专科学校
+湖南中医药高等专科学校
+益阳医学高等专科学校
+长沙师范学校
+湖南环境生物职业技术学院
+永州职业技术学院
+长沙民政职业技术学院
+湖南铁道职业技术学院
+湖南工业职业技术学院
+湖南大众传媒职业技术学院
+湖南信息职业技术学院
+湖南同德职业学院
+湖南工程职业技术学院
+益阳职业技术学院
+衡阳财经工业职业技术学院
+湘西民族职业技术学院
+湖南化工职业技术学院
+湖南水利水电职业技术学院
+湖南城建职业技术学院
+湖南信息科学职业学院
+湖南软件职业学院
+湖南科技经贸职业学院
+湖南理工职业技术学院
+湖南九嶷职业技术学院
+湖南工艺美术职业学院
+湖南铁路科技职业技术学院
+湖南石油化工职业技术学院
+湖南现代物流职业技术学院
+长沙职业技术学院
+长沙电力职业技术学院
+株洲职业技术学院
+湖南司法警官职业学院
+湖南网络工程职业学院
+长沙商贸旅游职业技术学院
+邵阳职业技术学院
+湖南对外经济贸易职业学院
+湖南民族职业学院
+湖南交通工程职业技术学院
+潇湘职业学院
+张家界航空工业职业技术学院
+长沙通信职业技术学院
+娄底职业技术学院
+湖南交通职业技术学院
+湖南商务职业技术学院
+郴州职业技术学院
+湘潭职业技术学院
+岳阳职业技术学院
+怀化职业技术学院
+湖南科技工业职业技术学院
+长沙南方职业学院
+保险职业学院
+长沙环境保护职业技术学院
+湖南电子科技职业学院
+常德职业技术学院
+湖南都市职业学院
+湖南安全技术职业学院
+湖南科技职业学院
+湖南体育职业学院
+湖南外国语职业学院
+湖南艺术职业学院
+湖南电气职业技术学院
+湖南生物机电职业技术学院
+湖南机电职业技术学院
+湖南高尔夫旅游职业学院
+湖南工商职业学院
+阳光高考
+湖南师范大学树达学院
+湖南商学院北津学院
+中南林业科技大学涉外学院
+湖南农业大学东方科技学院
+长沙理工大学城南学院
+湖南科技大学潇湘学院
+湖南工业大学科技学院
+湘潭大学兴湘学院
+南华大学船山学院
+湖南文理学院芙蓉学院
+湖南理工学院南湖学院
+吉首大学张家界学院
+湖南工程学院应用技术学院
+湖南中医药大学湘杏学院
+衡阳师范学院南岳学院
+阳光高考
+株洲市职工大学
+长沙教育学院
+湘潭教育学院
+湖南有色金属职工大学
+阳光高考
+中山大学
+华南理工大学
+暨南大学
+汕头大学
+深圳大学
+五邑大学
+广东工业大学
+华南农业大学
+广东海洋大学
+广州中医药大学
+南方医科大学
+华南师范大学
+广东外语外贸大学
+广州大学
+北京师范大学-香港浸会大学联合国际学院
+肇庆学院
+东莞理工学院
+广东石油化工学院
+仲恺农业工程学院
+广东医学院
+广州医科大学
+广东药学院
+惠州学院
+韶关学院
+湛江师范学院
+嘉应学院
+韩山师范学院
+广东第二师范学院
+广东金融学院
+广东商学院
+广东警官学院
+广州体育学院
+广州美术学院
+星海音乐学院
+广东技术师范学院
+广东白云学院
+佛山科学技术学院
+广东培正学院
+广东科技学院
+南方科技大学
+广州航海学院
+阳光高考
+广州民航职业技术学院
+东莞职业技术学院
+肇庆医学高等专科学校
+私立华联学院
+民办南华工商学院
+广东食品药品职业学院
+广东轻工职业技术学院
+广东水利电力职业技术学院
+佛山职业技术学院
+广东农工商职业技术学院
+广东新安职业技术学院
+顺德职业技术学院
+潮汕职业技术学院
+深圳职业技术学院
+广东松山职业技术学院
+广东交通职业技术学院
+广州番禺职业技术学院
+阳江职业技术学院
+广州珠江职业技术学院
+广东邮电职业技术学院
+广州科技职业技术学院
+揭阳职业技术学院
+广州城建职业学院
+广州现代信息工程职业技术学院
+肇庆工商职业技术学院
+广州体育职业技术学院
+广州松田职业学院
+湛江现代科技职业学院
+广州铁路职业技术学院
+广东体育职业技术学院
+广东行政职业学院
+珠海城市职业技术学院
+惠州经济职业技术学院
+茂名职业技术学院
+广州工程技术职业学院
+广东科学技术职业学院
+广东工贸职业技术学院
+广州华南商贸职业学院
+广州工商职业技术学院
+中山职业技术学院
+广州华立科技职业学院
+广东工程职业技术学院
+汕尾职业技术学院
+广州科技贸易职业学院
+广州涉外经济职业技术学院
+广东司法警官职业学院
+深圳信息职业技术学院
+广东理工职业学院
+广东亚视演艺职业学院
+清远职业技术学院
+汕头职业技术学院
+中山火炬职业技术学院
+广州城市职业学院
+广东岭南职业技术学院
+江门职业技术学院
+广东省外语艺术职业学院
+广东纺织职业技术学院
+罗定职业技术学院
+河源职业技术学院
+广东女子职业技术学院
+广东建设职业技术学院
+广东机电职业技术学院
+广东科贸职业学院
+肇庆科技职业技术学院
+广东文艺职业学院
+珠海艺术职业学院
+南海东软信息技术职业学院
+广州康大职业技术学院
+广州华商职业学院
+广东江门艺华旅游职业学院
+广州华夏职业学院
+广东环境保护工程职业学院
+阳光高考
+北京师范大学珠海分校
+电子科技大学中山学院
+华南师范大学增城学院
+广东工业大学华立学院
+广州大学松田学院
+北京理工大学珠海学院
+吉林大学珠海学院
+东莞理工学院城市学院
+中山大学新华学院
+华南理工大学广州学院
+广州大学华软软件学院
+广东技术师范学院天河学院
+中山大学南方学院
+华南农业大学珠江学院
+广东商学院华商学院
+广东海洋大学寸金学院
+广东外语外贸大学南国商学院
+阳光高考
+新疆大学
+石河子大学
+塔里木大学
+新疆农业大学
+新疆师范大学
+喀什师范学院
+新疆财经大学
+伊犁师范学院
+新疆医科大学
+昌吉学院
+新疆艺术学院
+阳光高考
+新疆工业高等专科学校
+新疆维吾尔医学专科学校
+乌鲁木齐职业大学
+新疆轻工职业技术学院
+新疆农业职业技术学院
+新疆石河子职业技术学院
+新疆天山职业技术学院
+阿克苏职业技术学院
+新疆职业大学
+昌吉职业技术学院
+阳光高考
+新疆大学科学技术学院
+新疆农业大学科学技术学院
+新疆财经大学商务学院
+新疆医科大学厚博学院
+石河子大学科技学院 
+阳光高考
+新疆教育学院
+阳光高考
+重庆大学
+西南大学
+重庆交通大学
+重庆邮电大学
+重庆理工大学
+重庆医科大学
+重庆师范大学
+重庆工商大学
+西南政法大学
+重庆科技学院
+长江师范学院
+四川外语学院
+四川美术学院
+重庆三峡学院
+重庆文理学院
+阳光高考
+重庆电力高等专科学校
+重庆三峡医药高等专科学校
+重庆工业职业技术学院
+重庆民生职业技术学院
+重庆电子工程职业学院
+重庆水利电力职业技术学院
+重庆能源职业学院
+重庆工程职业技术学院
+重庆三峡职业学院
+重庆信息技术职业学院
+重庆海联职业技术学院
+重庆正大软件职业技术学院
+重庆工商职业学院
+重庆传媒职业学院
+重庆房地产职业学院
+重庆电讯职业学院
+重庆城市管理职业学院
+重庆航天职业技术学院
+重庆科创职业学院
+重庆建筑工程职业学院
+重庆工贸职业技术学院
+重庆财经职业学院
+重庆城市职业学院
+重庆商务职业学院
+重庆化工职业学院
+重庆交通职业学院
+重庆旅游职业学院
+阳光高考
+西南大学育才学院
+四川外语学院重庆南方翻译学院
+重庆师范大学涉外商贸学院
+重庆工商大学融智学院
+重庆工商大学派斯学院
+重庆邮电大学移通学院
+重庆大学城市科技学院
+阳光高考
+重庆教育学院
+阳光高考
+四川大学
+西南交通大学
+电子科技大学
+西南财经大学
+西南民族大学
+中国民用航空飞行学院
+成都理工大学
+西华大学
+西南科技大学
+四川农业大学
+成都中医药大学
+四川师范大学
+西华师范大学
+西南石油大学
+成都信息工程学院
+四川理工学院
+泸州医学院
+川北医学院
+成都医学院
+乐山师范学院
+内江师范学院
+四川文理学院
+四川警察学院
+成都体育学院
+四川音乐学院
+四川民族学院
+成都学院
+西昌学院
+攀枝花学院
+宜宾学院
+绵阳师范学院
+成都东软学院
+成都师范学院
+阳光高考
+成都电子机械高等专科学校
+四川烹饪高等专科学校
+成都纺织高等专科学校
+四川中医药高等专科学校
+阿坝师范高等专科学校
+四川幼儿师范高等专科学校
+成都航空职业技术学院
+泸州职业技术学院
+眉山职业技术学院
+四川管理职业学院
+四川华新现代职业学院
+四川商务职业学院
+广安职业技术学院
+四川信息职业技术学院
+四川警安职业学院
+四川司法警官职业学院
+乐山职业技术学院
+内江职业技术学院
+四川机电职业技术学院
+四川交通职业技术学院
+达州职业技术学院
+四川建筑职业技术学院
+四川工商职业技术学院
+绵阳职业技术学院
+四川电力职业技术学院
+四川工程职业技术学院
+四川科技职业学院
+四川文化产业职业学院
+四川财经职业学院
+四川现代职业学院
+雅安职业技术学院
+四川国际标榜职业学院
+四川艺术职业学院
+四川邮电职业技术学院
+四川航天职业技术学院
+四川化工职业技术学院
+成都职业技术学院
+四川水利职业技术学院
+四川城市职业学院
+南充职业技术学院
+四川职业技术学院
+成都农业科技职业学院
+宜宾职业技术学院
+成都艺术职业学院
+四川托普信息技术职业学院
+阳光高考
+成都理工大学工程技术学院
+成都理工大学广播影视学院
+成都信息工程学院银杏酒店管理学院
+四川师范大学文理学院
+四川师范大学成都学院
+四川外语学院成都学院
+电子科技大学成都学院
+四川大学锦城学院
+西南科技大学城市学院
+四川音乐学院绵阳艺术学院
+四川大学锦江学院
+西南财经大学天府学院
+西南交通大学希望学院
+阳光高考
+阳光高考
+山东大学
+山东大学
+中国石油大学
+中国海洋大学
+青岛大学
+山东科技大学
+山东理工大学
+聊城大学
+烟台大学
+青岛科技大学
+青岛理工大学
+济南大学
+山东建筑大学
+山东农业大学
+青岛农业大学
+山东中医药大学
+山东师范大学
+曲阜师范大学
+鲁东大学
+山东英才学院
+山东万杰医学院
+山东轻工业学院
+潍坊学院
+山东交通学院
+潍坊医学院
+泰山医学院
+济宁医学院
+滨州医学院
+德州学院
+临沂大学
+齐鲁师范学院
+山东财经大学
+山东工商学院
+山东警察学院
+山东青年政治学院
+山东政法学院
+山东体育学院
+山东艺术学院
+山东工艺美术学院
+泰山学院
+菏泽学院
+济宁学院
+滨州学院
+青岛滨海学院
+烟台南山学院
+枣庄学院
+山东女子学院
+青岛工学院
+青岛黄海学院
+山东协和学院
+潍坊科技学院
+哈尔滨工业大学 
+阳光高考
+淄博师范高等专科学校
+山东中医药高等专科学校
+山东电力高等专科学校
+菏泽医学专科学校
+山东畜牧兽医职业学院
+聊城职业技术学院
+日照职业技术学院
+曲阜远东职业技术学院
+山东商业职业技术学院
+莱芜职业技术学院
+青岛职业技术学院
+济宁职业技术学院
+威海职业学院
+山东圣翰财贸职业学院
+青岛求实职业技术学院
+山东科技职业学院
+山东外国语职业学院
+枣庄科技职业学院
+山东旅游职业学院
+山东外事翻译职业学院
+烟台职业学院
+菏泽家政职业学院
+济南工程职业技术学院
+山东水利职业学院
+济南铁道职业技术学院
+山东铝业职业学院
+山东凯文科技职业学院
+潍坊工商职业学院
+青岛恒星职业技术学院
+济南幼儿师范高等专科学校
+山东经贸职业学院
+滨州职业学院
+山东理工职业学院
+山东外贸职业学院
+淄博职业学院
+山东丝绸纺织职业学院
+山东电子职业技术学院
+山东商务职业学院
+山东杏林科技职业学院
+山东信息职业技术学院
+山东交通职业学院
+潍坊职业学院
+东营职业学院
+德州科技职业学院
+山东力明科技职业学院
+山东服装职业学院
+济南职业学院
+青岛飞洋职业技术学院
+山东司法警官职业学院
+山东现代职业学院
+青岛酒店管理职业技术学院
+山东大王职业学院
+山东药品食品职业学院
+山东华宇职业技术学院
+山东传媒职业学院
+临沂职业学院
+烟台汽车工程职业学院
+山东城市建设职业学院
+枣庄职业学院
+烟台工程职业技术学院
+德州职业技术学院
+山东胜利职业学院
+山东工业职业学院
+山东化工职业学院
+青岛港湾职业技术学院
+山东文化产业职业学院
+青岛远洋船员职业学院
+阳光高考
+烟台大学文经学院
+青岛理工大学琴岛学院
+山东科技大学泰山科技学院
+中国海洋大学青岛学院
+青岛农业大学海都学院
+曲阜师范大学杏坛学院
+山东财政学院东方学院
+山东师范大学历山学院
+聊城大学东昌学院
+济南大学泉城学院
+阳光高考
+山东省经济管理干部学院
+山东省农业管理干部学院
+山东省工会管理干部学院
+潍坊教育学院
+山东省聊城教育学院
+阳光高考
+云南大学
+昆明理工大学
+云南农业大学
+西南林业大学
+云南师范大学
+云南财经大学
+云南民族大学
+昆明医科大学 
+云南中医学院
+曲靖师范学院
+玉溪师范学院
+楚雄师范学院
+红河学院
+云南警官学院
+云南艺术学院
+大理学院
+昆明学院
+文山学院
+保山学院
+云南工商学院
+阳光高考
+昆明冶金高等专科学校
+曲靖医学高等专科学校
+保山中医药高等专科学校
+楚雄医药高等专科学校
+昭通师范高等专科学校
+临沧师范高等专科学校
+德宏师范高等专科学校
+云南能源职业技术学院
+云南国土资源职业学院
+云南林业职业技术学院
+云南经贸外事职业学院
+云南交通职业技术学院
+云南科技信息职业学院
+昆明艺术职业学院
+云南新兴职业学院
+昆明扬帆职业技术学院
+西双版纳职业技术学院
+云南机电职业技术学院
+云南司法警官职业学院
+云南热带作物职业学院
+云南文化艺术职业学院
+云南经济管理职业学院
+云南体育运动职业技术学院
+德宏职业学院
+云南三鑫职业技术学院
+云南农业职业技术学院
+昆明工业职业技术学院
+云南国防工业职业技术学院
+云南城市建设职业学院 
+玉溪农业职业技术学院
+云南商务职业学院
+阳光高考
+云南大学滇池学院
+云南师范大学商学院
+云南大学旅游文化学院
+昆明医学院海源学院
+云南师范大学文理学院
+昆明理工大学津桥学院
+阳光高考
+哈尔滨工业大学
+哈尔滨工程大学
+东北林业大学
+黑龙江大学
+佳木斯大学
+齐齐哈尔大学
+哈尔滨理工大学
+东北石油大学
+东北农业大学
+黑龙江八一农垦大学
+哈尔滨医科大学
+黑龙江中医药大学
+哈尔滨师范大学
+哈尔滨商业大学
+哈尔滨学院
+黑龙江工程学院
+黑龙江科技大学
+牡丹江医学院
+齐齐哈尔医学院
+牡丹江师范学院
+大庆师范学院
+哈尔滨德强商务学院
+哈尔滨体育学院
+黑龙江东方学院
+绥化学院
+黑河学院
+哈尔滨金融学院
+哈尔滨华德学院
+哈尔滨剑桥学院
+黑龙江外国语学院
+齐齐哈尔工程学院
+哈尔滨远东理工学院
+哈尔滨石油学院 
+哈尔滨广厦学院 
+哈尔滨剑桥学院 
+阳光高考
+大庆医学高等专科学校
+齐齐哈尔高等师范专科学校
+黑龙江幼儿师范高等专科学校
+鹤岗师范高等专科学校
+黑龙江畜牧兽医职业学院
+黑龙江农业职业技术学院
+黑龙江司法警官职业学院
+黑龙江农业工程职业学院
+大庆职业学院
+伊春职业学院
+鸡西大学
+黑龙江建筑职业技术学院
+黑龙江农垦职业学院
+牡丹江大学
+哈尔滨华夏计算机职业技术学院
+哈尔滨现代公共关系职业学院
+七台河职业学院
+哈尔滨应用职业技术学院
+黑龙江交通职业技术学院
+黑龙江职业学院
+黑龙江信息技术职业学院
+哈尔滨职业技术学院
+哈尔滨电力职业技术学院
+哈尔滨铁道职业技术学院
+大兴安岭职业学院
+黑龙江旅游职业技术学院
+黑龙江农业经济职业学院
+哈尔滨江南职业技术学院
+黑龙江商业职业学院
+黑龙江农垦科技职业学院
+黑龙江公安警官职业学院
+黑龙江生物科技职业学院
+黑龙江粮食职业学院
+哈尔滨科学技术职业学院
+佳木斯职业学院
+黑龙江生态工程职业学院
+黑龙江煤炭职业技术学院
+黑龙江三江美术职业学院
+黑龙江民族职业学院
+黑龙江艺术职业学院
+阳光高考
+黑龙江工程学院昆仑旅游学院
+黑龙江外国语学院
+哈尔滨工业大学华德应用技术学院
+东北农业大学成栋学院
+阳光高考
+哈尔滨市职工医学院
+黑龙江省农垦管理干部学院
+黑龙江省政法管理干部学院
+黑龙江省教育学院
+阳光高考
+南京大学
+东南大学
+江南大学
+南京航空航天大学
+南京理工大学
+中国矿业大学
+河海大学
+南京农业大学
+中国药科大学
+南京森林警察学院
+苏州大学
+扬州大学
+江苏大学
+江苏科技大学
+南京邮电大学
+南京工业大学
+常州大学
+南京林业大学
+南京医科大学
+南京中医药大学
+南京师范大学
+江苏师范大学
+南京财经大学
+南通大学
+西交利物浦大学
+南京信息工程大学
+金陵科技学院
+徐州工程学院
+淮阴工学院
+常州工学院
+南京工程学院
+淮海工学院
+盐城工学院
+徐州医学院
+江苏理工学院
+苏州科技学院
+淮阴师范学院
+盐城师范学院
+南京晓庄学院
+南京审计学院
+江苏警官学院
+南京体育学院
+南京艺术学院
+常熟理工学院
+三江学院
+无锡太湖学院
+阳光高考
+连云港师范高等专科学校
+泰州师范高等专科学校
+镇江市高等专科学校
+江苏畜牧兽医职业技术学院
+南京工业职业技术学院
+苏州职业大学
+南通职业大学
+南通纺织职业技术学院
+沙洲职业工学院
+南通航运职业技术学院
+无锡职业技术学院
+连云港职业技术学院
+徐州建筑职业技术学院
+无锡商业职业技术学院
+扬州市职业大学
+苏州工艺美术职业技术学院
+民办明达职业技术学院
+江苏城市职业学院
+泰州职业技术学院
+南京交通职业技术学院
+江海职业技术学院
+扬州工业职业技术学院
+盐城纺织职业技术学院
+炎黄职业技术学院
+南京化工职业技术学院
+徐州工业职业技术学院
+淮安信息职业技术学院
+无锡南洋职业技术学院
+苏州港大思培科技职业学院
+江阴职业技术学院
+宿迁职业技术学院
+江苏建康职业学院
+南京信息职业技术学院
+常州工程职业技术学院
+常州纺织服装职业技术学院
+常州机电职业技术学院
+正德职业技术学院
+江苏食品职业技术学院
+江苏农林职业技术学院
+江苏信息职业技术学院
+昆山登云科技职业学院
+南京视觉艺术职业学院
+苏州信息职业技术学院
+江苏经贸职业技术学院
+苏州农业职业技术学院
+钟山职业技术学院
+常州轻工职业技术学院
+太湖创意职业技术学院
+无锡工艺职业技术学院
+紫琅职业技术学院
+南京机电职业技术学院
+金肯职业技术学院
+南京旅游职业学院
+苏州高博软件技术职业学院
+江苏联合职业技术学院
+苏州卫生职业技术学院
+九州职业技术学院
+无锡城市职业技术学院
+南京铁道职业技术学院
+常州信息职业技术学院
+健雄职业技术学院
+江苏财经职业技术学院
+硅湖职业技术学院
+盐城卫生职业技术学院
+苏州经贸职业技术学院
+南京特殊教育职业技术学院
+苏州工业园区职业技术学院
+金山职业技术学院
+江苏海事职业技术学院
+江南影视艺术职业学院
+苏州工业职业技术学院
+扬州环境资源职业技术学院
+南通农业职业技术学院
+无锡科技职业学院
+应天职业技术学院
+苏州托普信息职业技术学院
+建东职业技术学院
+宿迁泽达职业技术学院
+苏州工业园区服务外包职业学院
+徐州幼儿师范高等专科学校
+阳光高考
+东南大学成贤学院
+中国矿业大学徐海学院
+南京大学金陵学院
+南京理工大学紫金学院
+南京航空航天大学金城学院
+中国传媒大学南广学院
+南京理工大学泰州科技学院
+南京师范大学泰州学院
+南京工业大学浦江学院
+南京师范大学中北学院
+南京医科大学康达学院
+南京中医药大学翰林学院
+南京信息工程大学滨江学院
+苏州大学文正学院
+苏州大学应用技术学院
+苏州科技学院天平学院
+江苏大学京江学院
+扬州大学广陵学院
+徐州师范大学科文学院
+南京邮电大学通达学院
+江苏科技大学南徐学院
+常州大学怀德学院
+南通大学杏林学院
+南京审计学院金审学院
+阳光高考
+江苏第二师范学院
+南京人口管理干部学院
+江苏省青年管理干部学院
+江苏省省级机关管理干部学院
+阳光高考
+西安交通大学
+陕西师范大学
+西安电子科技大学
+长安大学
+西北农林科技大学
+西北工业大学
+西北大学
+延安大学
+西安理工大学
+西安建筑科技大学
+西安科技大学
+西安石油大学
+西安工程大学
+西安工业大学
+西安外国语大学
+西北政法大学
+陕西科技大学
+西安思源学院
+陕西国际商贸学院
+西安邮电大学
+陕西中医学院
+西安医学院
+陕西理工学院
+渭南师范学院
+咸阳师范学院
+榆林学院
+宝鸡文理学院
+西安财经学院
+西安体育学院
+西安美术学院
+西安音乐学院
+西京学院
+西安翻译学院
+西安文理学院
+安康学院
+商洛学院
+西安培华学院
+西安欧亚学院
+西安外事学院
+陕西服装工程学院
+陕西学前师范学院
+西安航空学院
+阳光高考
+西安电力高等专科学校
+西安医学高等专科学校
+杨凌职业技术学院
+陕西工业职业技术学院
+铜川职业技术学院
+陕西财经职业技术学院
+陕西交通职业技术学院
+陕西能源职业技术学院
+陕西职业技术学院
+西安航空职业技术学院
+陕西旅游烹饪职业学院
+陕西青年职业学院
+陕西工商职业学院
+陕西电子信息职业技术学院
+陕西国防工业职业技术学院
+西安汽车科技职业学院
+西安科技商贸职业学院
+陕西铁路工程职业技术学院
+陕西航空职业技术学院
+宝鸡职业技术学院
+西安三资职业学院
+西安高新科技职业学院
+陕西警官职业学院
+西安铁路职业技术学院
+陕西经济管理职业技术学院
+陕西电子科技职业学院
+西安海棠职业学院
+安康职业技术学院
+西安东方亚太职业技术学院
+咸阳职业技术学院
+西安职业技术学院
+商洛职业技术学院
+汉中职业技术学院
+延安职业技术学院
+渭南职业技术学院
+陕西邮电职业技术学院
+榆林职业技术学院
+阳光高考
+西安交通大学城市学院
+西北大学现代学院
+西安建筑科技大学华清学院
+西安财经学院行知学院
+陕西科技大学镐京学院
+西安工业大学北方信息工程学院
+延安大学西安创新学院
+西北工业大学明德学院
+西安科技大学高新学院
+西安理工大学高科学院 
+长安大学兴华学院
+西安电子科技大学长安学院
+阳光高考
+陕西工运学院
+陕西航天职工大学
+西安飞机工业公司职工工学院
+陕西省建筑工程总公司职工大学
+阳光高考
+贵州大学
+贵州师范大学
+贵阳医学院
+遵义医学院
+贵阳中医学院
+毕节学院
+六盘水师范学院
+黔南民族师范学院
+遵义师范学院
+兴义民族师范学院
+贵州师范学院
+贵州财经大学
+贵州民族大学
+凯里学院
+安顺学院
+铜仁学院
+贵阳学院
+阳光高考
+黔南民族医学高等专科学校
+遵义医药高等专科学校
+贵州商业高等专科学校
+贵州交通职业技术学院
+贵州警官职业学院
+贵州电子信息职业技术学院
+贵州航天职业技术学院
+贵阳职业技术学院
+安顺职业技术学院
+毕节职业技术学院
+遵义职业技术学院
+贵州亚泰职业学院
+黔东南民族职业技术学院
+黔南民族职业技术学院
+贵州电力职业技术学院
+贵州工业职业技术学院
+贵阳护理职业学院
+贵州轻工职业技术学院
+黔西南民族职业技术学院
+铜仁职业技术学院
+六盘水职业技术学院
+阳光高考
+贵州大学科技学院
+贵州大学明德学院
+贵州财经学院商务学院
+贵州民族学院人文科技学院
+阳光高考
+青海大学
+青海师范大学
+青海民族大学
+阳光高考
+青海畜牧兽医职业技术学院
+青海卫生职业技术学院
+青海交通职业技术学院
+青海警官职业学院
+阳光高考
+青海大学昆仑学院
+阳光高考
+宁夏大学
+宁夏师范学院
+宁夏医科大学
+北方民族大学
+宁夏理工学院
+银川能源学院
+阳光高考
+宁夏工商职业技术学院
+宁夏职业技术学院
+宁夏工业职业学院
+宁夏司法警官职业学院
+阳光高考
+宁夏大学新华学院
+中国矿业大学银川学院
+阳光高考
+海南大学
+海南师范大学
+海口经济学院
+海南医学院
+琼州学院
+阳光高考
+琼台师范高等专科学校
+海南职业技术学院
+海南政法职业学院
+海南外国语职业学院
+三亚理工职业学院
+海南软件职业技术学院
+三亚航空旅游职业学院
+海南工商职业学院
+海南经贸职业技术学院
+海南科技职业学院
+阳光高考
+海南大学三亚学院
+爱丁堡大学
+鲁汶大学
+香港中文大学

+ 4 - 0
tools/resources/UniversityEnds.txt

@@ -0,0 +1,4 @@
+实验室
+大学
+学校
+学院

+ 24 - 0
tools/resources/keys.txt

@@ -0,0 +1,24 @@
+姓名
+性别
+出生年月
+民族
+籍贯
+户籍地
+政治面貌
+参加工作时间
+健康状况
+专业技术资格
+外语水平
+熟悉专业有何专长
+学历学位
+毕业时间、院校及专业
+工作单位
+现任职务
+任职时间
+提职时间
+联系电话
+邮箱地址
+称谓
+工作单位及职务
+
+

+ 1260 - 0
tools/resume_parse.py

@@ -0,0 +1,1260 @@
+#!/usr/bin/env python
+# coding: utf-8
+import os
+import sys
+import re
+import subprocess
+from pprint import pprint
+
+import logging
+logging.basicConfig(format='%(asctime)s: %(name)s: %(levelname)s: %(filename)s: %(funcName)s: %(message)s', level=logging.INFO)
+
+import jieba
+import pandas as pd
+from docx import Document
+from docx.shared import Inches
+
+from numpy import mean, median, bincount, argmax
+
+from pdfminer.high_level import extract_pages
+from pdfminer.layout import LTTextContainer, LTChar, LTLine, LAParams, LTTextBox, LTFigure, LTImage, LTText, LTAnno, LTTextLine, LTTextLineHorizontal
+from pdfminer.pdfdocument import PDFDocument
+from pdfminer.pdfpage import PDFPage
+from pdfminer.pdfparser import PDFParser
+from pdfminer.converter import PDFPageAggregator
+from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
+
+import pdfplumber
+from paddlenlp import Taskflow
+
+from rich.console import Console
+console = Console()
+
+# import uvicorn
+# from fastapi import FastAPI
+# app = FastAPI()
+
+ner = Taskflow("ner", mode='fast')
+ner_tag = Taskflow("ner")
+
+global block, block_rev
+
+block = {
+    "个人信息":1, "基本信息":1, "个人简历":1, "基基本本信信息息":1, "基本信息基本信息":1, "基本信息文本内容":1,
+    "求职意向":2, "求职意向求职意向":2, "期望工作文本内容":2,
+    "教育背景":3, "教育经历":3, "教教育育经经历历":3, "教育经历教育经历":3, "教育经历文本内容":3, "学历学位":3,
+    "工作经验":4, "主要工作内容与职责":4, "工作方面":4, "实习经历":4, "工作经历":4, "工工作作经经历历":4, "工作经历工作经历":4, "工作经历文本内容":4,                                                                                                                                   
+    "项目经历":5, "项目经验":5, "科研项目经历":5, "项项目目经经历历":5, "项目经历项目经历":5, "研究生参与代表性项目":5, "项目经历文本内容":5,
+    "专业技能":6, "个人技能":6, "专业/外语技能":6, "技能素质":6, "个人技能文本内容":6,
+    "自我评价":7, "个人简介":7, "个人评价":7, "自我描述":7, "自自我我评评价价":7, "自我评价自我评价":7, "自我评价文本内容":7,
+    "兴趣爱好":8, "兴趣爱好文本内容":8,
+    "语言及方言":9, "语言能力":9, "英语能力":9, "语语言言能能力力":9, "语言能力语言能力":9, "语言技能文本内容":9,
+    "证书":10, "所获证书文本内容":10,
+    "获得奖励":11, "获奖经历":11, "获奖情况":11, "获获奖奖经经历历":11, "获奖经历获奖经历":11, "获奖情况及社会活动":11, "校内奖励":11, "校内活动&奖励":11, "所获奖励文本内容":11,"奖惩情况":11,
+    "培训":12, "培训经历":12, "培培训训经经历历":12, "培训经历文本内容":12,
+    "家庭成员":13, "家家庭庭成成员员":13, "家庭成员家庭成员":13, "主要家庭成员及社会关系":13,
+    "社会活动":"other", "实践经验":"other", "社会活动及社会实践":"other", "近三年年度考核结果":"other", "其他意愿":"other",
+}
+block_rev = {1:"基本信息", 2:"求职意向", 3:"教育经历", 4:"工作经历", 5:"项目经历", 6:"专业技能", 7:"自我评价", 8:"兴趣爱好", 9:"语言能力", 10:"证书", 11:"获奖情况", 12:"培训经历", 13:"家庭成员", "other":"其他"}
+
+
+
+# 基本信息(已完成)
+def get_base_info(lines):
+    pprint(lines)
+    schema = {
+        '姓名': None,
+    }
+    for line in [' '.join(' '.join(lines).split('\n'))]:
+        line = line.replace(r'[ ]{5,}','\n')
+        w = re.sub(r'[\W]+(\w[::])[\W]{0,}\w', r'\1', line)
+
+        pprint(w)
+
+        for i in w.split():
+            if ':' in i:
+                try:
+                    key, val = i.split(':')
+                    schema[key] = val
+                except Exception as e:
+                    logging.error(e)
+            if ':' in i:
+                try:
+                    key, val = i.split(':')
+                    schema[key] = val
+                except Exception as e:
+                    logging.error(e)
+
+        if not schema.get('姓名'):
+            schema['姓名'] = re.search(r'[姓名::]{3,}(\w{2,4})', w).group(1) if re.search(r'[姓名::]{3,}(\w{2,4})', w) else None
+            if not schema.get('姓名'):
+                for word, tag in ner_tag(w):
+                    if tag == "人物类_实体":
+                        schema['姓名'] = word
+        if not schema.get('性别'):
+            schema['性别'] = re.search(r'[男女]', w).group() if re.search(r'[男女]', w) else None
+        if not schema.get('婚姻状况'):
+            schema['婚姻状况'] = re.search(r'[已未]婚', w).group() if re.search(r'[已未]婚', w) else None
+        # if not schema.get('籍贯'):
+        #     schema['籍贯'] = re.search(r'[籍贯::]{3,}(\w{2,5})', w).group(1) if re.search(r'[籍贯::]{3,}(\w{2,})', w) else None
+        # if not schema.get('学历'):
+        #     schema['学历'] = re.search(r'[学历::]{3,}(\w{2,4})', w).group(1) if re.search(r'[学历::]{3,}(\w{2,4})', w) else None
+        if not schema.get('电子邮箱'):
+            schema['电子邮箱'] = re.search(r'([.\w]+@[.\w]+)', w).group() if re.search(r'([.\w]+@[.\w]+)', w) else None
+        if not schema.get('政治面貌'):
+            schema['政治面貌'] =  re.search(r'[预备中共党团员群众无派人士]{2,6}', w).group() if re.search(r'[预备中共党团员群众无派人士]{2,6}', w) else None
+        if not schema.get('手机号码'):
+            schema['手机号码'] = re.search(r'\W(1[\d]{10})\W', w).group(1) if re.search(r'\W(1[\d]{10})\W', w) else None
+        # if not schema.get('出生年月'):
+        #     schema['出生年月'] = re.search(r'\d{4}[./年\-]\d{1,2}[月]', w).group() if re.search(r'\d{4}[./年\-]\d{1,2}[月]', w) else None
+        # if not schema.get('当前职位'):
+        #     schema['当前职位'] = re.search(r'[当前职位: ]{3,}(\w)+', w).group() if re.search(r'[当前职位: ]{3,}(\w)+', w) else None
+        # if not schema.get('参加工作时间'):
+        #     schema['参加工作时间'] = re.search(r'[参加工作事件:]{3,}(\d{4}[./年\-]\d{1,2}[月])', w).group(1) if re.search(r'[参加工作事件:]{3,}(\d{4}[./年\-]\d{1,2}[月])', w) else None
+    return {key:value for key, value in schema.items() if value}
+
+
+# 求职意向(已完成)
+def get_job_intention(lines):
+    pprint(lines)
+    schema = {}
+    for line in lines:
+        regex = re.compile(r'\W{0,3}[::]\s+')
+        line = regex.sub(':', line)
+        for i in line.split():
+            if ":" in i:
+                try:
+                    key, val = i.split(":")
+                    schema[key] = val
+                except Exception as e:
+                    logging.error(e)
+    return schema
+
+
+# 教育经历 (已完成)
+# ner + 分词 (判断学校,时间,学历)  专业需要单独处理。
+def get_edu_list_old(lines):
+    pprint(lines)
+
+    job_list = []
+    job_dict = {'edu_time_beg':'', 'edu_time_end':'', 'edu_name':'','edu_leval':'','edu_domain':'', 'edu_statue':0}
+    re_txt = '\d{4,4}.\d{1,2}.?\040{0,2}[\-–至-\—~]\040{0,2}\d{4,4}.\d{1,2}[月]?|\d+\.\d+\-至今|\d+年\d+月\-\d+年\d+月|\d+年\d+月\-\~|\d+年\d+月[\-\~]至今|\d+-\d+\040{0,2}[\~至]\040{0,2}\d+-\d+|\d+-\d+\~|\d+-\d+\~至今|\d+-\d+\040{0,2}至今|^\d{4,4}.\d{1,2}|19\d{2,2}.|20\d{2,2}.'
+    re_txt_1 =  '\d{4,4}.\d{1,2}.?\040{0,2}[\-–至-\—~]\040{0,2}\d{4,4}.\d{1,2}[月]?|\d+\.\d+\-至今|\d+年\d+月\-\d+年\d+月|\d+年\d+月\-\~|\d+年\d+月[\-\~]至今|\d+-\d+\040{0,2}[\~至]\040{0,2}\d+-\d+|\d+-\d+\~|\d+-\d+\~至今|\d+-\d+\040{0,2}至今'
+    nums = []
+
+    for i in range(len(lines)):
+        if re.findall(re_txt, lines[i]):
+            nums.append(i)
+
+    nums.append(len(lines))
+
+
+    edu_level = {'本科':18, "大专":17, "博士研究生":20, "学士":18, "博士":20, "硕士":19, "研究生":19, "博后":21, '博士后':21}
+    year_dict = {18:4, 17:3,20:3,19:3,21:2}
+    edu_dict = {18:'本科', 17:'大专',20:'博士研究生',19:'硕士',21:'博士后'}
+    edu_list = []
+    for i in range(1, len(nums[:])):
+        job_dict = {'edu_time_beg':'', 'edu_time_end':'', 'edu_name':'','edu_leval':'','edu_domain':''}
+        data_list = lines[nums[i-1]:nums[i]]
+        if len(data_list) > 1 and data_list[1] and  data_list[1][-1] == '|' and data_list[0][-1] != '|':
+            data_list[0] = data_list[0] + data_list[1]
+            data_list[1] = ''
+        if len(data_list) > 2 and data_list[2] and  data_list[2][-1] == '|' and data_list[0][-1] != '|' and '|' in str(data_list[0]) and data_list[1] and  data_list[1][-1] != '|':
+            data_list[0] = data_list[0] + data_list[1] + data_list[2]
+            data_list[1] = '' 
+            data_list[2] = ''
+        if '' in data_list:
+            data_list.remove('')
+        data_line = ' '.join(data_list)
+        data_line = re.sub('[\|]', ' ', data_line)
+        data_line = re.sub('-{3,}', '', data_line)
+
+        ner_data = ner(''.join(data_list[:2]))
+
+        org = ''
+        time_list = []
+
+        for jj in range(1, len(ner_data)):
+            if ner_data[jj][1] == ner_data[jj-1][1]:
+                ner_data[jj] = list(ner_data[jj])
+                ner_data[jj][0] = ner_data[jj-1][0] + ner_data[jj][0]
+                ner_data[jj-1] = ('','')
+
+        for _ in ner_data:
+            if _[1] == 'ORG' and not org:
+                org = _[0].strip()
+            elif _[1] == 'TIME' and len(_[1]) >= 4:
+                time_list.append(_[0])
+
+            #TIME
+        # print(data_line)
+        _list_data = re.split('\040+',data_line)
+        top_level = 18
+        remove_list = []
+
+        logging.debug(_list_data)
+        logging.debug(time_list)
+
+        for ii in range(len(_list_data)):
+            for t in time_list:
+                if t in _list_data[ii]:
+                    _list_data[ii] = ''
+                    break
+
+        for i in range(len(_list_data)):
+            #if org in _list_data[i]:
+            #    _list_data[i] = ''
+            if re.findall('^\d{4,4}', _list_data[i]):
+                _list_data[i] = ''
+            _data = re.findall('本科|学士|硕士|博士研究生|博士后|博后|博士|研究生|大专', _list_data[i])
+            if not _data:
+                continue
+            top_level = edu_level[_data[0]]
+            _list_data[i] = ''
+            break
+            #remove_list.append(i)
+
+        logging.debug(_list_data)
+
+        job_time = re.findall(re_txt_1, data_list[0])
+        if job_time:
+            job_dict['edu_time'] = job_time[0]
+        else:
+            job_dict['edu_time'] = ''
+
+        
+        _nums = re.findall('\d+', job_dict['edu_time'])
+        if len(_nums) >= 4:
+            job_dict['edu_time_beg'] = '%s-%02d'%(_nums[0], int(_nums[1]))
+            job_dict['edu_time_end'] = '%s-%02d'%(_nums[2], int(_nums[3]))
+            job_dict['edu_time'] = '%s-%02d~%s-%02d'%(_nums[0], int(_nums[1]), _nums[2], int(_nums[3]))
+        elif len(_nums) == 2:
+            job_dict['edu_time'] = '%s-%02d~%s'%(_nums[0], int(_nums[1]), '至今')
+            job_dict['edu_time_beg'] = '%s-%02d'%(_nums[0], int(_nums[1]))
+            job_dict['edu_time_end'] = '%s'%('至今')
+        elif len(time_list) == 2:
+            nums_1 = re.findall('\d+', time_list[0])
+            nums_2 = re.findall('\d+', time_list[1])
+            nums_1.append('09')
+            nums_2.append('07')
+
+            job_dict['edu_time_beg'] = '%s-%02d'%(nums_1[0], int(nums_1[1]))
+            try:
+                job_dict['edu_time_end'] = '%s-%02d'%(nums_2[0], int(nums_2[1]))
+            except:
+                job_dict['edu_time_end'] = None
+            try:
+                job_dict['edu_time'] = '%s-%02d~%s-%02d'%(nums_1[0], int(nums_1[1]), nums_2[0], int(nums_2[1]))
+            except:
+                job_dict['edu_time'] = '%s-%02d~今'%(nums_1[0], int(nums_1[1]))
+
+        elif len(time_list) == 1:
+            _nums = re.findall('\d+', time_list[0])
+            if '毕业' in data_list[0]:
+                _nums.append('06')
+                _nums.insert(0, '09')
+                _nums.insert(0, str(int(_nums[1]) - year_dict[top_level]))
+                job_dict['edu_time'] = '%s-%02d~%s-%02d'%(_nums[0], int(_nums[1]),  _nums[2], int(_nums[3]))
+                job_dict['edu_time_beg'] = '%s-%02d'%(_nums[0], int(_nums[1]))
+                job_dict['edu_time_end'] = '%s-%02d'%(_nums[2], int(_nums[3]))
+            else:
+                _nums.append('09')
+                job_dict['edu_time'] = '%s-%02d~%s'%(_nums[0], int(_nums[1]), '至今')
+                job_dict['edu_time_beg'] = '%s-%02d'%(_nums[0], int(_nums[1]))
+                job_dict['edu_time_end'] = '%s'%('至今')
+
+        job_dict['edu_leval'] = edu_dict[top_level]
+        if org:
+            job_dict['edu_name'] = org
+        else:
+            job_dict['edu_name'] = ''
+        edu_domain = ''
+        for i in range(len(_list_data)):
+            if org in _list_data[i]:
+                continue
+            if not _list_data[i] and '专业' in _list_data[i]:
+                edu_domain = _list_data[i]
+
+        if not edu_domain:
+            for i in range(len(_list_data)):
+                if org in _list_data[i]:
+                    continue 
+                if _list_data[i] and len(_list_data[i]) >= 3:
+                    edu_domain = _list_data[i]
+                    break
+
+
+        if not edu_domain:
+            for i in range(len(_list_data)):
+                if org in _list_data[i]:
+                    for j in range(i+1, len(_list_data)):
+                        if _list_data[i] and len(_list_data[j]) >= 2:
+                            edu_domain = _list_data[j]
+                            break
+                    break
+
+        job_dict['edu_domain'] = edu_domain
+        # print(job_dict)
+        # print(_list_data)
+
+        if len(job_list) ==0:
+            job_list.append(job_dict)
+        else:
+            if job_dict in job_list:
+                continue
+            if not job_dict['edu_time']:
+                continue
+            if int(job_dict['edu_time'][:4]) > int(job_list[-1]['edu_time'][:4]):
+                job_list = [job_dict] + job_list
+            else:
+                job_list.append(job_dict)
+        continue
+
+
+        data_list[0] = re.sub(job_time[0], '', data_list[0])
+        _list = re.split('\|\040+', data_list[0])
+        #print(_list)
+        if len(_list) == 1:
+            __list = re.split('\040+', data_list[0])
+            job_dict['edu_name'] = __list[1].strip()
+            job_dict['edu_domain'] = __list[2].strip()
+            job_dict['edu_leval'] = __list[3].strip()
+        else:
+            #if  job_dict['edu_leval'] not in 
+            if len(_list) > 3:
+                job_dict['edu_name'] = _list[2].strip()
+                job_dict['edu_domain'] = _list[3].strip()
+                job_dict['edu_leval'] = _list[1].strip()
+            else:
+                job_dict['edu_leval'] = _list[0].strip()
+                job_dict['edu_name'] = _list[1].strip()
+                job_dict['edu_domain'] = _list[2].strip()
+        if '硕士' in _list[0] or '研究生' in _list[0]:
+            job_dict['edu_leval'] = '硕士'
+        elif '博士' in _list[0]:
+            job_dict['edu_leval'] = '博士'
+        elif '本科' in _list[0]:
+            job_dict['edu_leval'] = '本科'
+        elif '学士' in _list[0]:
+            job_dict['edu_leval'] = '本科'
+        # print(job_dict)
+        if len(job_list) ==0:
+            job_list.append(job_dict)
+        else:
+            if job_dict in job_list:
+                continue
+            if int(job_dict['edu_time'][:4]) > int(job_list[-1]['edu_time'][:4]):
+                job_list = [job_dict] + job_list
+            else:
+                job_list.append(job_dict)
+            #edu_list.append(job_dict['edu_time'] + job_dict['edu_name'] + job_dict['edu_domain'] + job_dict['edu_leval'])
+    #if job_list[0]['edu_leval'] not in ['硕士', '博士', '本科', '博后'] and len(job_list[0]['edu_leval']) > 5:
+    #    job_list[0]['edu_leval'] = '本科'
+    return job_list
+
+
+# 教育经历改 (已完成)
+def get_edu_list(lines):
+    pprint(lines)
+
+    edu_list = [{"Time":None, "startTime":None, "endTime":None, "edu_name":None, "edu_domain":None, "edu_level":None}]
+    regex_time = re.compile(r'((\d{4})[年\W]{1,2}(\d{1,2})[月\W]?[\d]{0,2})[至到\W]+((\d{4})[年\W]{1,2}(\d{1,2})[月\W]?)?([今])?|(\d{4})[至\W]+([\d今]{4})')
+    regex_end = re.compile(r'毕业时间[\w\W]{0,5}(\d{4})[\W年]?(\d{0,2})[月\W]?')
+    regex_level = re.compile(r'[大本专科硕博士研究生后]{2,}')
+    regex_domain = re.compile(u'[\u4E00-\u9FA5]{2,10}', re.UNICODE)
+    count = 0
+    for line in lines:
+        line = line.replace("学士","本科").replace("专业","").replace("学位","")
+        for cell in re.split(r'[·\|\t]', line):
+            if not cell.strip():
+                continue
+            flags = 0
+            edu_time = regex_time.search(cell)
+            edu_end_time = regex_end.search(cell)
+            edu_level = regex_level.search(cell)
+            edu_domain = regex_domain.search(cell)
+            # 标准时间格式
+            if edu_time:
+                # 提交信息
+                if edu_list[count].get("Time") and edu_list[count].get("edu_name"):
+                    edu_list.append({"Time":None, "startTime":None, "endTime":None, "edu_name":None, "edu_domain":None, "edu_level":None})
+                    count += 1
+                edu_list[count]["startTime"] = '{:4d}-{:02d}'.format(int(edu_time.group(2)),int(edu_time.group(3)))
+                if edu_time.group(5) != None:
+                    edu_list[count]["endTime"] = '{:4d}-{:02d}'.format(int(edu_time.group(5)),int(edu_time.group(6)))
+                    edu_list[count]["Time"] = '{:4d}-{:02d}~{:4d}-{:02d}'.format(int(edu_time.group(2)),int(edu_time.group(3)),int(edu_time.group(5)),int(edu_time.group(6)))
+                elif edu_time.group(8) != None:
+                    edu_list[count]["Time"] = '{:4d}~{:4d}'.format(int(edu_time.group(8)),int(edu_time.group(9)))
+                    edu_list[count]["startTime"] = '{:4d}'.format(int(edu_time.group(8)))
+                    edu_list[count]["endTime"] = '{:4d}'.format(int(edu_time.group(9)))
+                else:
+                    edu_list[count]["endTime"] = edu_time.group(7)
+                    edu_list[count]['Time'] = '{:4d}-{:02d}~{}'.format(int(edu_time.group(2)),int(edu_time.group(3)),edu_time.group(7))
+                flags = 1
+            elif edu_end_time:
+                if edu_list[count].get("endTime") and edu_list[count].get("edu_name"):
+                    edu_list.append({"Time":None, "startTime":None, "endTime":None, "edu_name":None, "edu_domain":None, "edu_level":None})
+                    count += 1
+                if edu_end_time.group(2):
+                    edu_list[count]["Time"] = '{:4d}-{:02d}~{:4d}-{:02d}'.format(int(edu_end_time.group(1)),int(edu_end_time.group(2)),int(edu_end_time.group(1))-3,int(edu_end_time.group(2)))
+                    edu_list[count]["endTime"] = '{:4d}-{:02d}'.format(int(edu_end_time.group(1)),int(edu_end_time.group(2)))
+                elif edu_end_time.group(1):
+                    edu_list[count]["Time"] = '{:4d}~{:4d}'.format(int(edu_end_time.group(1)),int(edu_end_time.group(1))-3)
+                    edu_list[count]["endTime"] = '{:4d}'.format(int(edu_end_time.group(1)))
+            if (not edu_list[count].get("edu_level")) and edu_level:
+                edu_list[count]["edu_level"] = edu_level.group(0)
+            for word, tag in ner_tag(cell):
+                if (not edu_list[count].get("edu_name")) and (tag == "组织机构类_教育组织机构"):
+                    edu_list[count]["edu_name"] = word.strip()
+                    flags = 1
+                elif (not edu_list[count].get("edu_domain")) and (tag in "_术语类型"):
+                    edu_list[count]["edu_domain"] = word.strip()
+                elif edu_list[count].get("edu_name") and edu_list[count].get("edu_domain"):
+                    break
+            else:
+                for word, tag in ner(cell):
+                    if (tag == "ORG"):
+                        edu_list[count]["edu_name"] = word
+                        flags = 1
+                        break
+            if (not (edu_level or flags or edu_list[count].get("edu_domain"))) and edu_domain:
+                edu_list[count]["edu_domain"] = edu_domain.group(0)
+    if (not edu_list[-1].get("Time")) or (not edu_list[-1].get("edu_name")):
+        edu_list.pop()
+    return edu_list
+
+
+# 工作经历 (已完成)
+# ner + 分词 机构信息,人物身份信息,时间  工作内容区分判断
+# 其中,时间是判断是否下一份工作情况的主要标识符之一。字符数量
+# 时间类 数量词
+def get_job_list(lines):
+    pprint(lines)
+
+    job_list = []
+    re_txt = '\d{4,4}\040{0,2}.\d+\040{0,2}.?\040{0,2}[\-–至-\—~]{1,2}\040{0,2}\d{4,4}\040{0,2}.\040{0,2}\d+.?|\d{4,4}.\d+.?\040{0,2}[\-–-—]{0,2}\040{0,2}至?今|\d{4,4}.\d+.?\040{0,2}[\-–-]{1,2}\040{0,2}现在|\d{4,4}年\d+月\-\d{4,4}年\d+月|\d{4,4}年\d+月\-\~|\d{4,4}年\d+月[\-\~-]至今|\d{4,4}-\d+\040{0,2}[-\~至]\040{0,2}\d{4,4}-\d+|\d{4,4}-\d+\~|\d{4,4}-\d+\[~-]至今|\d{4,4}-\d+\040{0,2}至今'
+    nums = []
+    for i in range(len(lines)):
+        #print(lines[i])
+        #print(lines[i], re.findall(re_txt, lines[i]), re.findall('\||\040{1,}', lines[i]))
+        if re.findall(re_txt, lines[i].replace(' ', '')) and re.findall('\||\040{1,}', lines[i]):
+            nums.append(i)
+            continue
+        if re.findall(re_txt, lines[i].replace(' ', '')[:20]):
+            nums.append(i)
+            continue
+        if len(lines[i].strip().replace(' ', '')) > 50:
+            continue
+
+        
+        year_list = re.findall('19\d{2,2}.\d{1,2}|20\d{2,2}.\d{1,2}', lines[i])
+        if len(year_list) >= 2:
+            nums.append(i)
+        elif len(year_list) == 1 and '至今' in lines[i]:
+            nums.append(i)
+    nums.append(len(lines))
+    # pprint(nums)
+    logging.debug('get_job_list :{}'.format(nums))
+    for i in range(1, len(nums[:])):
+        job_dict = {'job_time':'', 'job_leval':'','job_company':'','job_content':''}
+        data_list = lines[nums[i-1]:nums[i]]
+        if '' in data_list:
+            data_list.remove('')
+        org = ''
+        person_professor_list = []
+        org_index = -1
+        end_index = 3
+        job_time = re.findall(re_txt, data_list[0])
+        if not job_time:
+            year_list = re.findall('19\d{2,2}.\d{1,2}|20\d{2,2}.\d{1,2}', data_list[0])
+            if len(year_list) >= 2:
+                job_time = ['-'.join(year_list)]
+            elif len(year_list) == 1 and '至今' in lines[i]:
+                job_time = [year_list[0] + '-' + '至今']
+            pprint("342{}".format(job_time))
+        if not job_time:
+            regex = re.compile(r'((\d{4})[年\W]+(\d{1,2})[\W]?[\w]?)[至到\W]+((\d{4})[年\W]+(\d{1,2})[\W]?[\w]?)?([今])?')
+            job_time = [re.search(regex, data_list[0]).group(0)]
+            pprint("346{}".format(job_time))
+        job_dict['job_time'] = job_time[0]
+        _nums = re.findall('\d+', job_dict['job_time'])
+        #print(_nums)
+        if len(_nums) >= 4:
+            job_dict['job_time'] = '%s-%02d~%s-%02d'%(_nums[0], int(_nums[1]), _nums[2], int(_nums[3]))
+        elif len(_nums) == 2:
+            job_dict['job_time'] = '%s-%02d~%s'%(_nums[0], int(_nums[1]), '至今')
+        data_list[0] = re.sub(job_time[0], '', data_list[0])
+        data_list[0] = data_list[0].strip()
+        ner_list = []
+        for i in range(len(data_list[:3])):
+            if '工作' in data_list[i][:4] and (re.findall(':|\:', data_list[i])):
+                end_index = i
+                break
+            if not re.findall('\040|\||/', data_list[i]) and org:
+                end_index = i
+                break
+            if len(data_list[i]) > 80:
+                end_index = i
+                break
+            if data_list[i]:
+                ner_data = ner_tag(data_list[i].strip())
+            else:
+                continue
+
+            ner_list.append(ner_data)
+            for x in ner_data:
+                if x[1] == '人物类_概念' and len(x[0]) > 2:
+                    person_professor_list.append(x[0].strip())
+                    
+                elif x[1] == '组织机构类_企事业单位' or x[1] == '组织机构类_教育组织机构':
+                    if not org:
+                        org = re.split('\040|\|/', x[0].strip())[0]
+                        org_index = i
+        if not org:
+            for i in range(len(ner_list)):
+                ner_data = ner_list[i]
+                for x in ner_data:
+                    if x[1] == '组织机构类':
+                        org = re.split('\040|\|/', x[0].strip())[0]
+                        break
+        if not person_professor_list:
+            for i in range(len(ner_list)):
+                ner_data = ner_list[i]
+                for x in ner_data:
+                    if x[1] == '人物类_概念':
+                        person_professor_list = [re.split('\040|\|/', x[0].strip())[0]]
+                        break
+        data_line = ' '.join(data_list[:end_index])
+        data_line = re.sub('\||/', ' ', data_line)
+        _list_data = re.split('\040+',data_line)
+        if len(_list_data) == 1:
+            end_index = 0
+        if not person_professor_list:
+            for x in range(len(_list_data)):
+                if re.findall('经理|工程师|会计|董事长|总监|秘书|主管|处长|局长|主任|讲师|教授', _list_data[x][-4:]):
+                    person_professor_list.append(_list_data[x])
+
+
+        if not org:
+            for x in range(len(_list_data)):
+                if len(_list_data[x]) < 4:
+                    _list_data[x] = ''
+                elif person_professor_list and re.findall('|'.join(person_professor_list), _list_data[x]):
+                    _list_data[x] = ''
+                elif '经理' == _list_data[x][-2:]:
+                    _list_data[x] = ''
+            for x in range(len(_list_data)):
+                if _list_data[x]:
+                    org = _list_data[x]
+                    break
+        if not person_professor_list:
+            for x in range(len(_list_data)):
+                if org in _list_data[x]:
+                    for j in range(x+1, len(_list_data)):
+                        if _list_data[j]:
+                            person_professor_list = [_list_data[j]]
+                            break
+                    break
+
+        #print(org, person_professor_list, job_time)
+        job_dict['job_company'] = org
+        job_dict['job_leval'] = ' '.join(person_professor_list)
+        job_dict['job_content'] = re.sub('工工作作内内容容::|工工作作内内容容::|工工作作内内容容', '工作内容:', ''.join(data_list[end_index:]))
+        job_dict['job_content'] = re.sub('/', '-', job_dict['job_content'])
+
+        
+
+        job_list.append(job_dict)
+        continue
+        if len(data_list) > 1 and data_list[1] and  data_list[1][-1] == '|':# and data_list[0] and data_list[0][-1] != '|':
+            data_list[0] = data_list[0] + data_list[1]
+            data_list[1] = ''
+        elif len(data_list) > 2 and data_list[2] and  data_list[2][-1] == '|' and data_list[0][-1] != '|' and '|' in str(data_list[0]) and data_list[1] and  data_list[1][-1] != '|':
+            data_list[0] = data_list[0] + data_list[1] + data_list[2]
+            data_list[1] = '' 
+            data_list[2] = ''
+        elif len(data_list) > 1 and data_list[1] and '工作职责:' in data_list[2]:
+            data_list[0] = data_list[0] + data_list[1]
+            data_list[1] = ''
+        elif len(data_list) > 1 and '工作职责:' in data_list[3]:
+            data_list[0] = data_list[0] + data_list[1] + data_list[2]
+            data_list[1] = '' 
+            data_list[2] = ''
+        job_time = re.findall(re_txt, data_list[0])
+        job_dict['job_time'] = job_time[0]
+        _nums = re.findall('\d+', job_dict['job_time'])
+        #print(_nums)
+        if len(_nums) >= 4:
+            job_dict['job_time'] = '%s-%02d~%s-%02d'%(_nums[0], int(_nums[1]), _nums[2], int(_nums[3]))
+        elif len(_nums) == 2:
+            job_dict['job_time'] = '%s-%02d~%s'%(_nums[0], int(_nums[1]), '至今')
+        data_list[0] = re.sub(job_time[0], '', data_list[0])
+        data_list[0] = data_list[0].strip()
+        data_list[0] = re.sub('历任:', '   ', data_list[0])
+        _list = data_list[0].split('|')
+        if len(_list) == 1:
+            __list = re.split('\040{2,}', data_list[0])
+            #print(__list)
+            job_dict['job_leval'] = __list[1].strip()
+            job_dict['job_company'] = __list[0].strip()
+        else:
+            job_dict['job_leval'] = _list[0].strip()
+            job_dict['job_company'] = _list[1].strip()
+        if '职级:' in data_list[1:]:
+            data_list.remove('职级:')
+        job_dict['job_content'] = re.sub('工工作作内内容容::|工工作作内内容容::|工工作作内内容容', '工作内容:', ''.join(data_list[1:]))
+        job_dict['job_content'] = re.sub('/', '-', job_dict['job_content'])
+        #print(job_dict)
+        job_list.append(job_dict)
+    return job_list
+
+
+# 项目经历 (已完成)
+# 项目名称未知
+def get_pro_list(lines):
+    pprint(lines)
+
+    pro_list = [{"Time":None,"startTime":None,"endTime":None,"pro_name":None,"job_leval":None,"job_company":None,"content":None,},]
+    regex = re.compile(r'((\d{4})[年\W]+(\d{1,2})[\W]?[\w]?)[至到\W]+((\d{4})[年\W]+(\d{1,2})[\W]?[\w]?)?([今])?')
+    re_con = re.compile(r'负责内容(.*?)')
+    re_na = re.compile(r'\W(.*?项目)\W')
+    count = 0
+    for line in lines:
+        regex_time = regex.search(line)
+        regex_content = re_con.search(line)
+        regex_name = re_na.search(line)
+        if regex_time:
+
+            # data_list = line.split()
+            # # for i in regex_time.groups():
+            # #     data_list.remove(i)
+            # console.print(regex_time.groups(), style='red', justify='left')
+            # console.print(data_list, style='red', justify='left')
+
+            if pro_list[count].get("Time"):
+                pro_list.append({"Time":None,"startTime":None,"endTime":None,"pro_name":None,"job_leval":None,"job_company":None,"content":None,})
+                count += 1
+            pro_list[count]["startTime"] = '{:4d}-{:02d}'.format(int(regex_time.group(2)),int(regex_time.group(3)))
+            if regex_time.group(5) != None:
+                pro_list[count]["endTime"] = '{:4d}-{:02d}'.format(int(regex_time.group(5)),int(regex_time.group(6)))
+                pro_list[count]["Time"] = '{:4d}-{:02d}~{:4d}-{:02d}'.format(int(regex_time.group(2)),int(regex_time.group(3)),int(regex_time.group(5)),int(regex_time.group(6)))
+            else:
+                pro_list[count]["endTime"] = regex_time.group(7)
+                pro_list[count]['Time'] = '{:4d}-{:02d}~{}'.format(int(regex_time.group(2)),int(regex_time.group(3)),regex_time.group(7))
+        elif regex_name and (not pro_list[count].get("job_name")):
+            pro_list[count]["pro_name"] = regex_name.group()
+        elif pro_list[count].get("content"):
+            pro_list[count]["content"] += line
+        else:
+            try:
+                for word, tag in ner_tag(line):
+                    if (not pro_list[count].get("job_leval")) and (tag == "人物类_概念"):
+                        pro_list[count]["job_leval"] = word
+                    if (not pro_list[count].get("job_company")) and (tag in "组织机构类_企事业单位"):
+                        pro_list[count]["job_company"] = word
+            except Exception as e:
+                logging.error(e)
+            pro_list[count]["content"] = line
+    return pro_list
+
+
+# 培训经历 (已完成)
+# ner + 分词 (机构名) 培训项目  时间
+def get_cultivate_list(lines):
+    pprint(lines)
+
+    job_list = []
+    re_txt = '\d{4,4}.\d{1,2}.?\040{0,2}[\-–至-\—~]\040{0,2}\d{4,4}.\d{1,2}[月]?|\d+\.\d+\-至今|\d+年\d+月\-\d+年\d+月|\d+年\d+月\-\~|\d+年\d+月[\-\~]至今|\d+-\d+\040{0,2}[\~至]\040{0,2}\d+-\d+|\d+-\d+\~|\d+-\d+\~至今|\d+-\d+\040{0,2}至今|^\d{4,4}.\d{1,2}|\d{4,4}.'
+    re_txt_1 =  '\d{4,4}.\d{1,2}.?\040{0,2}[\-–至-\—~]\040{0,2}\d{4,4}.\d{1,2}[月]?|\d+\.\d+\-至今|\d+年\d+月\-\d+年\d+月|\d+年\d+月\-\~|\d+年\d+月[\-\~]至今|\d+-\d+\040{0,2}[\~至]\040{0,2}\d+-\d+|\d+-\d+\~|\d+-\d+\~至今|\d+-\d+\040{0,2}至今'
+    nums = []
+    for i in range(len(lines)):
+        if re.findall(re_txt, lines[i].replace(' ', '')) and re.findall('\||\040{1,}', lines[i]):
+            nums.append(i)
+            continue
+        if re.findall(re_txt, lines[i].replace(' ', '')[:20]):
+            nums.append(i)
+        if len(lines[i].strip().replace(' ', '')) > 50:
+            continue
+    nums.append(len(lines))
+    year_dict = {18:4, 17:3,20:3,19:3,21:2,22:1}
+    for i in range(1, len(nums[:])):
+        job_dict = {'cultivate_time':'', 'cultivate_time_beg':'', 'cultivate_time_end':'', 'cultivate_name':'','cultivate_leval':'','cultivate_content':''}
+        data_list = lines[nums[i-1]:nums[i]]
+        data_line = ' '.join(data_list)
+        data_line = re.sub('[\|\t]', ' ', data_line)
+        data_line = re.sub('-{3,}', '', data_line)
+        ner_data = ner(''.join(data_list[:2]))
+        org = ''
+        time_list = []
+        for _ in ner_data:
+            if _[1] == 'ORG' and not org:
+                org = _[0].strip()
+            elif _[1] == 'TIME' and len(_[1]) >= 4:
+                time_list.append(_[0])
+            #TIME
+        logging.debug(data_line)
+        _list_data = re.split('\040+', data_line)
+        top_level = 22
+        end_index = 0
+        remove_list = []
+        if len(_list_data) <= 2:
+            end_index = 0
+            #continue
+
+        job_time = re.findall(re_txt_1, data_list[0])
+        if job_time:
+            job_dict['cultivate_time'] = job_time[0]
+            data_list[0] = re.sub(job_time[0], '', data_list[0])
+        else:
+            job_dict['cultivate_time'] = ''
+        
+        for t in time_list:
+            data_list[0] = re.sub(t, '', data_list[0])
+
+        _list = data_list[0].split('|')
+        if len(_list) >= 2:
+            job_dict['cultivate_name'] = _list[0].strip()
+            job_dict['cultivate_leval'] = _list[1].strip()
+            end_index = 1
+
+        _nums = re.findall('\d+', job_dict['cultivate_time'])
+        if len(_nums) >= 4:
+            job_dict['cultivate_time_beg'] = '%s-%02d'%(_nums[0], int(_nums[1]))
+            job_dict['cultivate_time_end'] = '%s-%02d'%(_nums[2], int(_nums[3]))
+            job_dict['cultivate_time'] = '%s-%02d~%s-%02d'%(_nums[0], int(_nums[1]), _nums[2], int(_nums[3]))
+        elif len(_nums) == 2:
+            job_dict['cultivate_time'] = '%s-%02d~%s'%(_nums[0], int(_nums[1]), '至今')
+            job_dict['cultivate_time_beg'] = '%s-%02d'%(_nums[0], int(_nums[1]))
+            job_dict['cultivate_time_end'] = '%s'%('至今')
+        elif len(time_list) == 2:
+            nums_1 = re.findall('\d+', time_list[0])
+            nums_2 = re.findall('\d+', time_list[1])
+            nums_1.append('09')
+            nums_2.append('07')
+
+            job_dict['cultivate_time_beg'] = '%s-%02d'%(nums_1[0], int(nums_1[1]))
+            job_dict['cultivate_time_end'] = '%s-%02d'%(nums_2[0], int(nums_2[1]))
+            job_dict['cultivate_time'] = '%s-%02d~%s-%02d'%(nums_1[0], int(nums_1[1]), nums_2[0], int(nums_2[1]))
+            
+        elif len(time_list) == 1:
+            _nums = re.findall('\d+', time_list[0])
+            if '获得' in data_list[0]:
+                _nums.append('01')
+                _nums.insert(0, '01')
+                _nums.insert(0, str(int(_nums[1]) - year_dict[top_level]))
+                job_dict['cultivate_time'] = '%s-%02d~%s-%02d'%(_nums[0], int(_nums[1]),  _nums[2], int(_nums[3]))
+                job_dict['cultivate_time_beg'] = '%s-%02d'%(_nums[0], int(_nums[1]))
+                job_dict['cultivate_time_end'] = '%s-%02d'%(_nums[2], int(_nums[3]))
+            else:
+                _nums.append('01')
+                job_dict['cultivate_time'] = '%s-%02d~%s'%(_nums[0], int(_nums[1]), '至今')
+                job_dict['cultivate_time_beg'] = '%s-%02d'%(_nums[0], int(_nums[1]))
+                job_dict['cultivate_time_end'] = '%s'%('至今')
+    
+        job_dict['cultivate_content'] = re.sub('培培训训内内容容::|培培训训内内容容::|培培训训内内容容', '培训内容:', ''.join(data_list[end_index:]))
+        if not job_dict['cultivate_name']:
+            job_dict['cultivate_name'] = org
+        logging.debug(job_dict)
+        job_list.append(job_dict)
+        continue
+    '''
+    #print(nums)
+    for i in range(1, len(nums[:])):
+        job_dict = {'cultivate_time':'', 'cultivate_name':'','cultivate_leval':'','cultivate_content':''}
+        data_list = lines[nums[i-1]:nums[i]]
+        if '' in data_list:
+            data_list.remove('')
+        if len(data_list) > 1 and data_list[1] and  data_list[1][-1] == '|' and data_list[0][-1] != '|':
+            data_list[0] = data_list[0] + data_list[1]
+            data_list[1] = ''
+        job_time = re.findall(re_txt_1, data_list[0])
+        job_dict['cultivate_time'] = job_time[0]
+        _nums = re.findall('\d+', job_dict['cultivate_time'])
+        if len(_nums) >= 4:
+            job_dict['cultivate_time'] = '%s-%02d~%s-%02d'%(_nums[0], int(_nums[1]), _nums[2], int(_nums[3]))
+        elif len(_nums) == 2:
+            job_dict['cultivate_time'] = '%s-%02d~%s'%(_nums[0], int(_nums[1]), '至今')
+        data_list[0] = re.sub(job_time[0], '', data_list[0])
+        _list = data_list[0].split('|')
+        if len(_list) >= 2:
+            job_dict['cultivate_name'] = _list[0].strip()
+            job_dict['cultivate_leval'] = _list[1].strip()
+            job_dict['cultivate_content'] = re.sub('培培训训内内容容|培培训训内内容容::|培培训训内内容容::', '培训内容:', ''.join(data_list[1:]))
+        else:
+            job_dict['cultivate_content'] = re.sub('培培训训内内容容|培培训训内内容容::|培培训训内内容容::', '培训内容:', ''.join(data_list[0:]))
+        #print(job_dict)
+    
+        
+    '''
+    return job_list
+
+
+# 语言能力
+def get_lag_list(lines):
+    pprint(lines)
+
+    job_list = []
+    re_lan = re.compile(r'(\w+[语话])')
+    lag_dict = {'lag_name':'', 'lag_leval':""}
+    for l in lines:
+        if not l.strip():
+            continue
+        lag_name = re.search(re_lan, l)
+        if lag_name and lag_name.group(1):
+            if lag_dict['lag_name']:
+                job_list.append(lag_dict)
+            lag_dict['lag_name'] = lag_name.group(1)
+    return job_list
+
+
+# 家庭情况
+def get_fam_list(lines):
+    job_list = []
+    #re_txt = '\d+年\d+月\-\d+年\d+月|\d+年\d+月\-\~|\d+年\d+月[\-\~]至今|\d+-\d+\~\d+-\d+|\d+-\d+\~|\d+-\d+\~至今'
+    fam_dict = {}
+    for l in lines:
+        if not l.strip():
+            continue
+        ls = l.split('|')
+        if len(ls) == 1:
+            continue
+        fam_dict = {'fam_name':"",'fam_company':"",'fam_lable':"","fam_status":"", 'fam_job':""}
+        fam_dict["fam_lable"] = ls[0].strip()
+        fam_dict["fam_name"] = ls[1].strip()
+        flag = 0
+        if re.findall('\d岁|\d{4,5}', ls[2]):
+            flag = 1
+        fam_dict["fam_company"] = ls[flag+2].strip()
+        fam_dict["fam_job"] = ls[flag+3].strip()
+        fam_dict["fam_status"] = ls[flag+4].strip()
+        #print(fam_dict)
+        job_list.append(fam_dict)
+    return job_list
+
+
+# 证书情况  时间+证书名称 (已完成)
+def get_cet_list(lines):
+    pprint(lines)
+
+    job_list = []
+    re_txt = '\d+年\d+月|\d+-\d+|\d+\.\d+'
+    lines_word = ' '.join(lines)
+    lines = re.findall('\d+年\d+月|\d+-\d+|\d+\.\d+', lines_word)
+    nums = []
+    for x in range(len(lines) - 1):
+        
+        _index = lines_word.index(lines[x])
+        _end_index = lines_word.index(lines[x+1])
+        l = lines_word[_index : _end_index]
+        if not l.strip():
+            continue
+        lines_word = lines_word[_end_index:]
+        job_time = re.findall(re_txt, l)
+        cet_dict = {'cet_name':'','cet_time':""}
+        if job_time:
+            cet_dict['prize_time'] = job_time[0]
+            l = re.sub(job_time[0], '', l)
+        else:
+            continue
+        ls = re.split('\||\040+|\t+', l)
+        logging.debug(ls)
+        for l in ls:
+            if len(l) <= 3:
+                continue
+            cet_dict['prize_name'] = l.strip()
+            break
+        #print(cet_dict)
+        job_list.append(cet_dict)
+    return job_list
+
+
+# 获奖情况  时间+获奖名称 (已完成)
+def get_prize_list(lines):
+    pprint(lines)
+
+    job_list = []
+    re_txt = '\d+年\d+月|\d+-\d+|\d{4,4}.\d{1,2}'
+    lines_word = ' '.join(lines)
+    lines = re.findall('\d+年\d+月|\d{4,4}-\d+|\d{4,4}.\d{1,2}', lines_word)
+    nums = []
+    for x in range(len(lines) - 1):
+        _index = lines_word.index(lines[x])
+        _end_index = lines_word.index(lines[x+1])
+        l = lines_word[_index : _end_index]
+        if not l.strip():
+            continue
+        lines_word = lines_word[_end_index:]
+        job_time = re.findall(re_txt, l)
+        cet_dict = {'prize_name':'','prize_time':""}
+        if job_time:
+            cet_dict['prize_time'] = job_time[0]
+            l = re.sub(job_time[0], '', l)
+        else:
+            continue
+        ls = re.split('\||\040+|\t+', l)
+        logging.debug(ls)
+        for l in ls:
+            if len(l) <= 3:
+                continue
+            cet_dict['prize_name'] = l.strip()
+            break
+        logging.debug(cet_dict)
+        job_list.append(cet_dict)
+    return job_list
+
+
+# Linux doc 文件处理
+def doc2pdf_linux(docPath, pdfPath):
+    """
+    允许的文档格式:doc,docx
+    仅在linux平台下可以
+    需要在linux中下载好libreoffice
+    """
+    #  注意cmd中的libreoffice要和linux中安装的一致
+    cmd = 'libreoffice --headless --convert-to pdf'.split() + [docPath] + ['--outdir'] + [pdfPath]
+    # cmd = 'libreoffice6.2 --headless --convert-to pdf'.split() + [docPath]
+    p = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
+    p.wait(timeout=30)  # 停顿30秒等待转化
+    stdout, stderr = p.communicate()
+    if stderr:
+        raise subprocess.SubprocessError(stderr) 
+
+
+# Win32 doc 文件处理
+def doc2pdf(docPath, pdfPath, system):
+    """
+    注意使用绝对路径
+    pdf的生成只写路径,不写名字
+    """
+    docPathTrue = os.path.abspath(docPath)  # bugfix - searching files in windows/system32
+    if system == "Linux":
+        return doc2pdf_linux(docPathTrue, pdfPath)
+
+
+# txt 纯文本解析(已完成)
+def parse_txt(path):
+    with open(path, 'r', encoding='utf-8') as fp:
+        data = fp.read()
+    global block, block_rev
+    chun = 1
+    page = {1: []}
+    if len(data.split("\n")) <= 2:
+        for line in data.split("\n"):
+            line = line.replace("\xa0", "").replace("【","").replace("】","").replace("教育/培训","教育经历")
+            for word in line.split():
+                if word in block.keys():
+                    chun = block[word]
+                    page[chun] = []
+                elif word:
+                    page[chun].append(word)
+    else:
+        for line in data.split("\n"):
+            line = line.replace("\xa0", "").replace("【","").replace("】","").replace("教育/培训","教育经历")
+            regex = re.compile(u'[\u3000]+',re.UNICODE)
+            line = regex.sub('', line)
+            if line in block.keys():
+                chun = block[line]
+                page[chun] = []
+            elif line:
+                page[chun].append(line)
+    for key in page.keys():
+        for index, func in zip([1, 2, 3, 4, 5, 9, 10, 11, 12], [get_base_info, get_job_intention, get_edu_list, get_job_list, get_pro_list, get_lag_list, get_cet_list, get_prize_list, get_cultivate_list]):
+            if key == index:
+                console.print(block_rev[index], style="yellow", justify="left")
+                console.print(func(page[index]), style="green", justify="left")
+
+
+# 纯文本 word 解析
+def read_from_word(doc):
+    para_text = []
+    for para in doc.paragraphs:
+        para_text.append(para.text)
+
+    global block, block_rev
+
+    chun = 1
+    page = {1: []}
+    for line in para_text:
+        regex = re.compile(u'[\uF000-\uF0FF]+',re.UNICODE)
+        line = regex.sub('', line)
+        if line in block.keys():
+            chun = block[line]
+            page[chun] = []
+        elif line:
+            page[chun].append(line)
+
+    for key in page.keys():
+        for index, func in zip([1, 2, 3, 4, 5, 10, 11, 12], [get_base_info, get_job_intention, get_edu_list, get_job_list, get_pro_list, get_cet_list, get_prize_list, get_cultivate_list]):
+            if key == index:
+                console.print(block_rev[index])
+                try:
+                    console.print(func(page[index]), justify="left")
+                except Exception as e:
+                    logging.error(e)
+    return ''
+
+
+# 提取 word 表格(已完成)
+def check_word(path):
+    doc = Document(path)
+    tables = doc.tables
+
+    if not tables:
+        logging.info("this is raw text")
+        read_from_word(doc)
+    logging.info("this is a Table")
+
+    prk = {"姓名":1, "性别":1, "出生年月":1, "民族":1, "籍贯":1, "户籍地":1, "政治面貌":1, "参加工作时间":1, "健康状况":1, "专业技术资格":1, "外语水平":9, "熟悉专业有何专长":8, "学历学位":1, "工作单位":1, "现任职务":1, "任职时间":1, "提职时间":1, "联系电话":1, "邮箱地址":1, "称谓":13, "工作单位及职务":1, "毕业时间、院校及专业":3,}
+    block = {
+        "个人信息":1, "基本信息":1, "个人简历":1, "基基本本信信息息":1, "基本信息基本信息":1, "基本信息文本内容":1,
+        "求职意向":2, "求职意向求职意向":2, "期望工作文本内容":2,
+        "教育背景":3, "教育经历":3, "教教育育经经历历":3, "教育经历教育经历":3, "教育经历文本内容":3, "学历学位":3,
+        "工作经验":4, "主要工作内容与职责":4, "工作方面":4, "实习经历":4, "工作经历":4, "工工作作经经历历":4, "工作经历工作经历":4, "工作经历文本内容":4,                                                                                                                                   
+        "项目经历":5, "项目经验":5, "科研项目经历":5, "项项目目经经历历":5, "项目经历项目经历":5, "研究生参与代表性项目":5, "项目经历文本内容":5,
+        "专业技能":6, "个人技能":6, "专业/外语技能":6, "技能素质":6, "个人技能文本内容":6,
+        "自我评价":7, "个人简介":7, "个人评价":7, "自我描述":7, "自自我我评评价价":7, "自我评价自我评价":7, "自我评价文本内容":7,
+        "兴趣爱好":8, "兴趣爱好文本内容":8,
+        "语言及方言":9, "语言能力":9, "英语能力":9, "语语言言能能力力":9, "语言能力语言能力":9, "语言技能文本内容":9,
+        "证书":10, "所获证书文本内容":10,
+        "获得奖励":11, "获奖经历":11, "获奖情况":11, "获获奖奖经经历历":11, "获奖经历获奖经历":11, "获奖情况及社会活动":11, "校内奖励":11, "校内活动&奖励":11, "所获奖励文本内容":11,"奖惩情况":11,
+        "培训":12, "培训经历":12, "培培训训经经历历":12, "培训经历文本内容":12,
+        "家庭成员":13, "家家庭庭成成员员":13, "家庭成员家庭成员":13, "主要家庭成员及社会关系":13,
+        "社会活动":"other", "实践经验":"other", "社会活动及社会实践":"other", "近三年年度考核结果":"other", "其他意愿":"other",
+    }
+    regex = re.compile(r'(\(\w{2,8}\))?((\w{2,8}))?')
+
+    chun = 1
+    page = {1: []}
+    for table in tables:
+        lo = {} # 存储每一行去重后的数据
+        for row in range(0, len(table.rows)):
+            row_list = []
+            for col in range(0, len(table.row_cells(row))):  # 提取row行的全部列数据
+                row_list.append(regex.sub("", table.cell(row,col).text.replace(" ","").replace(":", ":").replace("学历\n学位","学历学位"))) # 去除字符串中的特殊字符,并添加到临时列表中
+            lo[row] = (sorted(set(row_list), key=row_list.index)) # 在不变顺序的前提下,去除List中的重复项
+        # 去除空项
+        for key in lo.keys():
+            if "" in lo[key]:
+                lo[key].remove("")
+
+        for _, line in lo.items():
+            if (line[0] in block.keys()) or (line[0] in prk.keys()):
+                # 包含大类目名
+                if line[0] in block.keys():
+                    # 指向当前类目
+                    chun = block[line[0]]
+                    if not page.get(chun):
+                        page[chun] = []
+                    # 去除类目名
+                    line = '\n'.join(line[1:])
+                # 包含小类目
+                elif line[0] in prk.keys():
+                    # 指向当前类目
+                    chun = prk[line[0]]
+                    if not page.get(chun):
+                        page[chun] = []
+                    # 不去除
+                    line = '\n'.join(line)
+            else:
+                line = '\n'.join(line)
+            # 标准化小类目
+            for k in prk.keys():
+                line = line.replace(k+"\n", k+":")
+            page[chun].extend(line.split())
+
+    for key in page.keys():
+        for index, func in zip([1, 2, 3, 4, 5, 10, 11, 12], [get_base_info, get_job_intention, get_edu_list, get_job_list, get_pro_list, get_cet_list, get_prize_list, get_cultivate_list]):
+            if key == index:
+                console.print(block_rev[index])
+                console.print(func(page[index]), justify="left")
+    return ''
+
+
+# pdf 解析句子(已完成)
+def parse_line_layout(layout):
+    texts = []
+    """解析页面内容,一行一行的解析"""
+    # bbox:
+    # x0:从页面左侧到框左边缘的距离。
+    # y0:从页面底部到框的下边缘的距离。
+    # x1:从页面左侧到方框右边缘的距离。
+    # y1:从页面底部到框的上边缘的距离
+    for textbox in layout:
+        if isinstance(textbox, LTTextBox) or isinstance(textbox, LTTextLine):
+            for char in textbox:
+                if isinstance(char, LTTextLineHorizontal):
+                    texts.append([char.bbox[0], char.bbox[3], char.get_text().strip()])
+    # 按行排序
+    texts.sort(key=lambda x:-x[1])
+    # print(texts)
+    global block, block_rev
+
+    chun = 1
+    page = {1: []}
+    for  _, _, line in texts:
+        regex = re.compile(u'[\uF000-\uF0FF]+',re.UNICODE)
+        line = regex.sub('', line)
+        if line in block.keys():
+            chun = block[line]
+            page[chun] = []
+        elif line:
+            page[chun].append(line)
+    return page
+
+
+# pdf 样式解析(已完成)
+def read_from_pdf(path):
+    result = {}
+    with open(path, 'rb') as in_file:
+        parser = PDFParser(in_file)  # 用文件对象来创建一个pdf文档分析器
+        doc: PDFDocument = PDFDocument(parser)  # 创建pdf文档
+
+        rsrcmgr = PDFResourceManager()  # 创建PDF,资源管理器,来共享资源
+        # 创建一个PDF设备对象
+        laparams = LAParams()
+        device = PDFPageAggregator(rsrcmgr, laparams=laparams)
+        # 创建一个PDF解释其对象
+        interpreter = PDFPageInterpreter(rsrcmgr, device)
+        # 循环遍历列表,每次处理一个page内容
+        # doc.get_pages() 获取page列表
+        interpreter = PDFPageInterpreter(rsrcmgr, device)
+        # 处理文档对象中每一页的内容
+        # doc.get_pages() 获取page列表
+        # 循环遍历列表,每次处理一个page的内容
+        # 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 想要获取文本就获得对象的text属性,
+        for page in PDFPage.create_pages(doc):
+            logging.debug('================ 新页面 ================')
+            interpreter.process_page(page)
+            layout = device.get_result()
+            r = parse_line_layout(layout)
+            for key in r.keys():
+                if result.get(key):
+                    result[key].extend(r[key])
+                else:
+                    result[key] = r[key]
+        block_rev = {1:"基本信息",2:"求职意向",3:"教育经历",4:"工作经历",5:"项目经历",6:"专业技能",7:"自我评价",8:"兴趣爱好",9:"语言能力",10:"证书",11:"获奖情况",12:"培训经历",13:"家庭成员","other":"其他"}
+
+        for key in result.keys():
+            for index, func in zip([1, 2, 3, 4, 5, 9, 10, 11, 12], [get_base_info, get_job_intention, get_edu_list, get_job_list, get_pro_list, get_lag_list, get_cet_list, get_prize_list, get_cultivate_list]):
+                if key == index:
+                    console.print(block_rev[index])
+                    console.print(func(result[index]), justify="left")
+                    # try:
+                    #     console.print(func(result[index]), justify="left")
+                    # except Exception as e:
+                    #     logging.error(e)
+
+
+# pdf 表格解析 ()
+def parse_table_from_pdf(path):
+    global block, block_rev
+    result = {}
+    with pdfplumber.open(path) as pdf:
+        for page in pdf.pages:
+            key = None
+            for table in page.extract_tables():
+                for line in table:
+                    for word in line:
+                        if not key:
+                            key = word
+                        else:
+                            result[key] = word
+                            key = None
+    for key in block.keys():
+        if result.get(key):
+            pprint({key: result[key]})
+    console.print(result)
+    # for key in result.keys():
+    #     for index, func in zip([1, 2, 3, 4, 5, 10, 11, 12], [get_base_info, get_job_intention, get_edu_list, get_job_list, get_pro_list, get_cet_list, get_prize_list, get_cultivate_list]):
+    #         if (key in block.keys()) and (block[key] == index):
+    #             console.print(block_rev[index])
+    #             try:
+    #                 console.print(func(result[index]), justify="left")
+    #             except Exception as e:
+    #                 logging.error(e)
+    #             break
+    #         else:
+    #             console.print({key: result[key]})
+    #             break
+    return None
+
+
+# 检测 pdf 格式 (已完成)
+def check_pdf(path):
+    """
+    # 输入:
+    # pdf 文件路径
+    # 输出:
+    # 文件包含元素 [Word, Table]
+    """
+    rst = []
+    for page_layout in extract_pages(path):
+        for element in page_layout:
+            if isinstance(element, LTFigure):
+                for cell in element:
+                    if isinstance(cell, LTChar):
+                        rst.append("Table")
+                        break
+            elif isinstance(element, LTTextContainer):
+                rst.append("Word")
+    return set(rst)
+
+
+# 检测传入格式(已完成)
+def detection_type(path, system):
+    # 传入目录
+    if os.path.isdir(path):
+        for filename in os.listdir(path):
+            filename = os.path.join(path, filename)
+            # 传入为 doc
+            logging.info(filename)
+            if filename.endswith('.doc') and not filename.startswith('.~'):
+                doc2pdf(docPath = filename, pdfPath = './', system=system)
+            # 传入为 docx
+            elif os.path.isfile(filename) and filename.endswith('.docx'):
+                check_word(filename)
+            # 传入为 pdf
+            if os.path.isfile(filename) and filename.endswith('.pdf'):
+                rst = check_pdf(filename)
+                if "Table" in rst:
+                    parse_table_from_pdf(filename)
+                    pass
+                if "Word" in rst:
+                    read_from_pdf(filename)
+            # 传入为 txt
+            elif os.path.isfile(filename) and filename.endswith('.txt'):
+                parse_txt(filename)
+    # 传入为 doc
+    elif os.path.isfile(path) and path.endswith('.doc'):
+        doc2pdf(docPath = path, pdfPath = './', system=system)
+    # 传入为 docx
+    elif os.path.isfile(path) and path.endswith('.docx'):
+        check_word(path)
+    # 传入为 pdf
+    elif os.path.isfile(path) and path.endswith('.pdf'):
+        rst = check_pdf(path)
+        if "Table" in rst:
+            parse_table_from_pdf(path)
+        if "Word" in rst:
+            read_from_pdf(path)
+    # 传入为 txt
+    elif os.path.isfile(path) and path.endswith('.txt'):
+        parse_txt(path)
+    return None
+
+
+if __name__ == '__main__':
+    import platform
+    system = platform.system()
+    if (system == "Windows"):
+        logging.info("Windows")
+    elif (system == "Linux"):
+        logging.info("Linux")
+    else:
+        logging.error("Unnot support this system")
+    # try:
+    #     detection_type(sys.argv[1], system)
+    # except Exception as e:
+    #     logging.error(e)
+    detection_type(sys.argv[1], system)
+    # detection_type('w1.pdf', system)