Files
jupyter/高考数据导入.ipynb
2025-11-17 22:46:37 +08:00

73 KiB

高考数据导入

导入2012年高校本科专业目录

In [ ]:
import json
import re
m_xx = dict()
fl_name = 'teshe_2012.txt'
with open(fl_name,'r') as fl:
    for line in fl:
        if line.split():
            l = line.split('\t',1)
            #print(l[0]+'--'+re.sub('\n', '', l[1]))
            m_len = len(l[0])
            m_name = re.sub('\n', '', l[1])
            if m_len == 2:
                m_xx.setdefault(l[0],{})
                ll = m_name.split(':',1)
                m_xx[l[0]]['name'] = ll[1]
            elif m_len == 4:
                m_xx[l[0][:2]].setdefault(l[0],{})
                m_xx[l[0][:2]][l[0]]['name'] = m_name
            else:
                m_xx[l[0][:2]][l[0][:4]].setdefault(l[0],{})
                m_xx[l[0][:2]][l[0][:4]][l[0]]['code'] = l[0]
                m_xx[l[0][:2]][l[0][:4]][l[0]]['name'] = m_name
#print(m_xx)
with open('teshe_2012.json','w') as fl1:
    json.dump(m_xx,fl1,ensure_ascii=False)                

合并2012年目录基本与特设专业

In [ ]:
import json
import re
m_teshe = dict()
m_new = dict()
fl_name = 'jiben_2012.json'
fl_name1 = 'teshe_2012.json'

with open(fl_name,'r') as fl:
    m_new = json.load(fl)
for k,v in m_new.items():
    for k1,v1 in v.items():
        if k1 !='name':
            for k2,v2 in m_new[k][k1].items():
                if k2 !='name':
                    m_new[k][k1][k2]['lb'] = '基本'

with open(fl_name1,'r') as fl1:
    m_teshe = json.load(fl1)
for k,v in m_teshe.items():
    for k1,v1 in v.items():
        if k1 !='name':
            for k2,v2 in m_teshe[k][k1].items():
                if k2 !='name':
                    m_teshe[k][k1][k2]['lb'] = '特设'
                    m_new[k][k1][k2] = m_teshe[k][k1][k2]
with open('hebing_2012.json','w') as fl2:
    json.dump(m_new,fl2,ensure_ascii=False)   

导入2020年高校本科专业目录

In [ ]:
import json
import openpyxl
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["zhuanyemulu"]
m_xx = dict()
fl_name = '普通高等学校本科专业目录.xlsx'
wb = openpyxl.load_workbook(fl_name)
sheet = wb.active
for n in range(2,sheet.max_row+1):
    m_code = sheet.cell(n,4).value
    m_name = sheet.cell(n,5).value
    m_k1 = m_code[:2]
    m_k2 = m_code[:4]
    m_xx.setdefault(m_k1,{})
    m_xx[m_k1]['name'] = sheet.cell(n,2).value
    m_xx[m_k1]['level'] = '门类'
    m_xx[m_k1].setdefault(m_k2,{})
    m_xx[m_k1][m_k2]['name'] = sheet.cell(n,3).value
    m_xx[m_k1][m_k2]['level'] ='专业类'
    m_xx[m_k1][m_k2].setdefault(m_code,{})
    m_xx[m_k1][m_k2][m_code]['name'] = sheet.cell(n,5).value
    m_xx[m_k1][m_k2][m_code]['shouyumenlei'] = sheet.cell(n,6).value
    m_xx[m_k1][m_k2][m_code]['xiuyenianxian'] = sheet.cell(n,7).value
    m_nf = sheet.cell(n,8).value
    if m_nf.strip() != '':
        m_xx[m_k1][m_k2][m_code]['zengshenianfen'] = sheet.cell(n,8).value
    
#print(m_xx)
'''
# 导入MongoDB数据库
for k,v in m_xx.items():
    m_mongo = {}    
    m_mongo['code'] = k
    for k1,v1 in v.items():
        m_mongo[k1] = v1
    mycol.insert_one(m_mongo) 
'''
with open('2020.json','w') as fl2:
    json.dump(m_xx,fl2,ensure_ascii=False)       
        
        

汇总学校录取分数及位次

汇总2021年学校录取情况

In [ ]:
import pymysql
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college_2021"]
m_xx = {}
m_data = {}
m_mongo = {}
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()
sql = 'SELECT college,SUM(plan),min(num_min),max(RANK_min) FROM admission_2021 GROUP BY college'
cursor.execute(sql)
results = cursor.fetchall()
i = 1
for result in results:
    #m_xx.clear()
    m_code = result[0]
    m_nian ='2021'
    m_lb = 'z'
    m_xx.setdefault(m_code,{})
    m_xx[m_code].setdefault(m_nian,{})
    m_xx[m_code][m_nian].setdefault(m_lb,{})
    m_xx[m_code][m_nian][m_lb] ['name']= '综合'
    m_xx[m_code][m_nian][m_lb] ['dispense']= int(result[1])
    m_xx[m_code][m_nian][m_lb] ['num_min']= result[2]
    m_xx[m_code][m_nian][m_lb] ['rank_min']= result[3]    
    myquery = {'code':m_code}
    colleges = mycol.find(myquery,{ "_id": 0, "admission": 1 })
    for x in colleges:
        for k, v in x.items():
            for k1, v1 in v.items():
                m_xx[m_code][k1] = v1
for k,v in m_xx.items():
    #m_item ='admission.'+m_nian
    m_mongo.clear()    
    myquery = {'code':k}
    m_new = {"$set":{'admission':v}}
    mycol.update_one(myquery,m_new)

生成历年录取信息json文件

In [ ]:
import pymysql
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college_2021"]
m_xx = {}
m_data = {}
m_mongo = {}
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()
sql = 'SELECT college,SUM(plan),min(num_min),max(RANK_min) FROM admission_2021 GROUP BY college'
cursor.execute(sql)
results = cursor.fetchall()
i = 1
for result in results:
    #m_xx.clear()
    m_code = result[0]
    m_nian ='2021'
    m_lb = 'z'
    m_xx.setdefault(m_code,{})
    m_xx[m_code].setdefault(m_nian,{})
    m_xx[m_code][m_nian].setdefault(m_lb,{})
    m_xx[m_code][m_nian][m_lb] ['name']= '综合'
    m_xx[m_code][m_nian][m_lb] ['dispense']= int(result[1])
    m_xx[m_code][m_nian][m_lb] ['num_min']= result[2]
    m_xx[m_code][m_nian][m_lb] ['rank_min']= result[3]    
    myquery = {'code':m_code}
    colleges = mycol.find(myquery,{ "_id": 0, "admission": 1 })
    for x in colleges:
        for k, v in x.items():
            for k1, v1 in v.items():
                m_xx[m_code][k1] = v1
fl_name = 'data/admission17-21.json'
with open(fl_name,'w') as fl:
    json.dump(m_xx,fl)
print('ok!')

2021年专业录取分数及位次

In [ ]:
import pymysql
import pymongo
import decimal

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college_2021"]
mycol1 = mydb["admission_2021"]

m_col = {}
m_spe = {}
m_xx = {}
for x in mycol.find({"code":{'$exists': 'true'}},{"_id": 0, "code": 1, "name": 1}):
    m_col[x['code']] = x['name']


db = pymysql.connect(host = "localhost",user = "songyi",password = "yylzs",database = "gaokao" )
cursor = db.cursor()
sql = 'SELECT a.code,a.college,a.name FROM speciality AS a WHERE a.nian="2021"'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    m_spe.setdefault(result[1],{})    
    m_spe[result[1]][result[0]] = result[2]
sql = 'SELECT * FROM admission_2021 AS a where college not in ("D628","D440","Y010","D245") ORDER BY a.rank_min'
cursor.execute(sql)
results = cursor.fetchall()
i = 0
m_min = 0
ii = 0
for result in results:
    m_xx.clear()
    if result[4] == m_min:
        ii = ii
        i = i+1
    else:
        i = i+1
        ii = i
        m_min = result[6]
    
    m_xx['pos'] = ii
    m_xx['col_code'] = result[1]
    m_xx['col_name'] = m_col[result[1]]
    m_xx['spe_code'] = result[2]
    m_xx['spe_name'] = m_spe[result[1]][result[2]]
    m_xx['plan'] = result[3]
    m_xx['num_min'] = result[4]    
    m_xx['rank_min'] = result[5]
    m_xx['nian'] = '2021'    
    mycol1.insert_one(m_xx)
    #print(m_xx)
print('ok')

汇总2020年学校录取情况

In [ ]:
import pymysql
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college"]
m_xx = {}
m_mongo = {}
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()
sql = 'SELECT college,SUM(num_dispense),min(num_min),max(RANK_min) FROM admission_2020 GROUP BY college'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    m_xx.clear()
    m_code = result[0]
    m_nian ='2020'
    m_lb = 'z'
    m_xx.setdefault(m_nian,{})
    m_xx[m_nian].setdefault(m_lb,{})
    m_xx[m_nian][m_lb] ['name']= '综合'
    m_xx[m_nian][m_lb] ['dispense']= int(result[1])
    m_xx[m_nian][m_lb] ['num_min']= result[2]
    m_xx[m_nian][m_lb] ['rank_min']= result[3]
    #print(m_code,m_xx)
    m_mongo.clear()
    #m_mongo['admission'] = m_xx
    #m_mongo['discipline'] = x['discipline']
    myquery = {'code':m_code}
    m_new = {"$set":{'admission':m_xx}}
    mycol.update_one(myquery,m_new)

汇总2017-2019学校录取情况

In [ ]:
import pymysql
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college"]
m_lqrs = {}  #录取人数
m_xx = {}
dict_lb ={'z':'综合','l':'理科','w':'文科'}
m_mongo = {}
db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()
sql = 'SELECT code,year,category,sum(num_act) FROM draft group BY code,year,category ORDER BY code,year,category'
cursor.execute(sql)
results = cursor.fetchall()
#生成录取人数字典
for result in results:
    m_lqrs.setdefault(result[0],{})
    m_lqrs[result[0]].setdefault(result[1],{})
    
    m_lqrs[result[0]][result[1]][result[2]] = result[3]
#print(m_lqrs)
sql = 'SELECT college,SUM(num_dispense),min(num_min),max(RANK_min) FROM admission_2020 GROUP BY college'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:    
    m_code = result[0]
    m_nian ='2020'
    m_lb = 'z'
    m_xx.setdefault(m_code,{})
    m_xx[m_code].setdefault(m_nian,{})
    m_xx[m_code][m_nian].setdefault(m_lb,{})
    m_xx[m_code][m_nian][m_lb] ['name']= '综合'
    m_xx[m_code][m_nian][m_lb] ['dispense']= int(result[1])
    m_xx[m_code][m_nian][m_lb] ['num_min']= result[2]
    m_xx[m_code][m_nian][m_lb] ['rank_min']= result[3]
sql = 'SELECT college,nian,lb,MIN(num_min),max(rank_min) FROM admission where nian not IN ("2020") group BY college,nian,lb ORDER BY college,nian desc,lb'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    #m_xx.clear()
    m_code = result[0]
    m_nian = result[1]
    m_lb = result[2]
    m_xx.setdefault(m_code,{})
    m_xx[m_code].setdefault(m_nian,{})
    m_xx[m_code][m_nian].setdefault(m_lb,{})
    m_xx[m_code][m_nian][m_lb] ['name']= dict_lb[m_lb]
    if m_nian in m_lqrs[m_code]:
        m_xx[m_code][m_nian][m_lb] ['dispense']= int(m_lqrs[m_code][m_nian][m_lb])
    m_xx[m_code][m_nian][m_lb] ['num_min']= result[3]
    m_xx[m_code][m_nian][m_lb] ['rank_min']= result[4]
    
#print(m_xx)
for k,v in m_xx.items():
    #m_item ='admission.'+m_nian
    m_mongo.clear()    
    myquery = {'code':k}
    m_new = {"$set":{'admission':v}}
    mycol.update_one(myquery,m_new)
    #print(k,v)

导入全国普通高等学校名单(截至2020年6月)

以文件形式导入至MongoDB中

In [ ]:
import json
import openpyxl
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["document"]
m_mongo = {}
fl_name = '全国普通高等学校名单.xlsx'
m_title = fl_name.split('.')[0]
m_type = fl_name.split('.')[1]
#print(m_title,m_type)
wb = openpyxl.load_workbook(fl_name)
sheet = wb.active
m_head = []
m_body = []
for cell in sheet[2]:
    m_head.append(cell.value)
#for n in range(2,sheet.max_row+1):
#print(m_head)   
for n in range(3,sheet.max_row+1):
    m_cell = []
    for i in range(1,len(m_head)+1):
        m_cell.append(sheet.cell(n,i).value)
    m_body.append(m_cell)
m_mongo['title'] = m_title
m_mongo['head'] = m_head
m_mongo['body'] = m_body
m_mongo['beizhu'] = '截至2020年6月30日'
mycol.insert_one(m_mongo) 
print('ok!')

以文档形式导入至MongoDB

In [ ]:
import json
import openpyxl
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["gaoxiaomingdan"]
m_mongo = {}
fl_name = '全国普通高等学校名单.xlsx'
wb = openpyxl.load_workbook(fl_name)
sheet = wb.active
for n in range(3,sheet.max_row+1):
    m_mongo ={}
    m_mongo['name'] = sheet.cell(n,2).value    
    m_mongo['code'] = str(sheet.cell(n,3).value)    
    m_mongo['charge'] = sheet.cell(n,4).value
    m_mongo['city'] = sheet.cell(n,5).value
    m_mongo['grade'] = sheet.cell(n,6).value
    m_mongo['note'] = sheet.cell(n,7).value    
    mycol.insert_one(m_mongo) 
print('ok!')

合并导入高校信息

In [ ]:
import pymysql
import pymongo
import openpyxl
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college"]
db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()
m_college = {}
sql = "select code,name from college"
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    m_college[result[1]] =result[0]
fl_name = '全国普通高等学校名单.xlsx'
wb = openpyxl.load_workbook(fl_name)
sheet = wb.active
for n in range(3,sheet.max_row+1):
    m_mongo ={}
    if sheet.cell(n,2).value in m_college.keys():
        m_mongo['code'] = m_college[sheet.cell(n,2).value]
    m_mongo['name'] = sheet.cell(n,2).value    
    m_mongo['id_code'] = str(sheet.cell(n,3).value)    
    m_mongo['charge'] = sheet.cell(n,4).value
    m_mongo['city'] = sheet.cell(n,5).value
    m_mongo['grade'] = sheet.cell(n,6).value
    m_mongo['note'] = sheet.cell(n,7).value    
    mycol.insert_one(m_mongo)
    #print(m_mongo)

根据招生编码整理高校信息

获取mongodb中不存在的学校

In [ ]:
import pymysql
import pymongo
import openpyxl
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college"]
db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()
m_college = {}
sql = "select code,name from college"
cursor.execute(sql)
results = cursor.fetchall()
l_col = ['哈尔滨理工大学','山东大学','山东科技大学','青岛科技大学','济南大学','青岛理工大学','山东师范大学','山东财经大学','青岛大学']
for result in results:
    m_code = result[0]
    m_name = result[1]
    myquery =  {'code':m_code}
    #x = mycol.find_one(myquery)
    if not mycol.find_one(myquery) :
        print(m_code,m_name)
    #if mydoc.count ==0:
    #    print(m_name='  不存在!')

单一学校信息录入MongoDB

In [ ]:
import pymysql
import pymongo
import openpyxl
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college_2021"]
m_mongo = {"code":'H027','name':'北京师范大学(珠海校区)','charge':'教育部','city':'珠海市','grade':'本科','note':''}
mycol.insert_one(m_mongo) 
print(m_mongo['name'] + '导入成功!')

导入2017-2019年录取数据

In [ ]:
import json
import pymysql

db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()
sql = "select code,name from college"
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    m_xx = []
    m_code = result[0]
    sql1 = 'select xx,zy_dm,zdf,zdwc,pjf,nian,lb from digao_1719 where xx=%s order by nian'
    cursor.execute(sql1,m_code)
    ad_results = cursor.fetchall()
    for ad_result in ad_results:
        m_xx.append(tuple(ad_result))
    sql = "insert into admission (college,speciality,num_min,rank_min,num_avg,nian,lb) values(%s,%s,%s,%s,%s,%s,%s)"
    try:
        cursor.executemany(sql,m_xx)
        db.commit()
        print(result[1]+"已添加!")
    except:
        # 如果发生错误则回滚
        print("error!")
        db.rollback()   
db.close()

导入2021年录取数据

导出2021年录取数据并生成分数

In [ ]:
import openpyxl
import json

filename = 'data/17-21年一分一段表.json'
with open(filename,'r') as fl:
    m_xx = json.load(fl)
data = m_xx['2021']['z']
yfyd = {}
for k, v in data.items():
    list1 = []
    list1 = (v['min_rank'],v['max_rank'])
    yfyd[k] = list1
dict1 = {}
filename = 'data/山东省2021年普通类常规批第1次志愿投档情况表.xlsx'
wb = openpyxl.load_workbook(filename)
sheet = wb.active
data1 =list(sheet.values)
del data1[0:2]
m_num = 1
i = 1
for items in data1:
    m_rank = items[3]
    list1 = []
    for k, v in yfyd.items():
        if m_rank >=v[1] and m_rank <=v[0]:
            m_num = int(k)
            break
    list1 = (items[0],items[1],items[2],items[3],m_num)
    dict1[i] = list1
    i += 1 
with open('data/2021.json','w') as fl2:
    json.dump(dict1,fl2) 

2021年录取数据导入mysql数据库

In [ ]:
import pymysql
import json

l_code = []
l_new = []
l_data = []
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()

sql = 'select code from college'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    l_code.append(result[0])

with open('data/2021.json','r') as fl:
    m_xx = json.load(fl)
for k, v in m_xx.items():
    #code = v[1][:4]
    l_data.append([v[1][:4],v[0][:2],v[2],v[4],v[3]])

sql = "insert into admission_2021 (college,speciality,plan,num_min,rank_min,nian) values(%s,%s,%s,%s,%s,'2021')"
try:
    cursor.executemany(sql,l_data)
    db.commit()
    print("已添加!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   
db.close() 

整理2021年招生学校

In [ ]:
import pymysql
import json

l_code = []
l_new = []
l_data = []
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()

sql = 'select code from college'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    l_code.append(result[0])

with open('data/2021.json','r') as fl:
    m_xx = json.load(fl)
for k, v in m_xx.items():
    code = v[1][:4]
    if code not in l_code:
        l_code.append(code)
        l_new.append([v[1][0:4],v[1][4:]])
    #l_data.append([v[1][:4],v[0][:2],v[2],v[4],v[3]])
sql = "insert into college (code,name) values(%s,%s)"
try:
    cursor.executemany(sql,l_new)
    db.commit()
    print("已添加!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   
db.close() 

整理2021年新增招生学校

In [ ]:
import pymongo
import decimal
import json


myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college_2021"]
mycol1 = mydb["admission_2020"]

m_col = {}
m_xx = {}
dict1 = {}
list1 = []
for x in mycol.find({"code":{'$exists': 'true'}},{"_id": 0, "code": 1, "name": 1}):
    m_col[x['code']] = x['name']

with open('data/2021.json','r') as fl:
    m_xx = json.load(fl)
for k, v in m_xx.items():
    #code = v[1][:4]
    dict1[v[1][:4]]= v[1][4:]
for code in dict1.keys():
    if code not in m_col.keys():
        #print(dict1[code])
        
        if dict1[code] not in m_col.values():
            list1.append(code)
print(list1)
for x in mycol.find({"id_code":{'$exists': 'true'}},{"_id": 0, "id_code": 1, "name": 1}):
    m_col[x['id_code']] = x['name']
for code in list1:
    if dict1[code] in m_col.values():
        myquery = {'name':dict1[code]}
        m_new = {"$set":{'code':code}}
        mycol.update_one(myquery,m_new)
        print(dict1[code])
        #print(dict1[code])
        
        
    

整理2021年新增专业

In [ ]:
import pymysql
import json

l_data = []
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()

with open('data/2021.json','r') as fl:
    m_xx = json.load(fl)
for k, v in m_xx.items():
    l_data.append([v[0][:2],v[0][2:],v[1][0:4],'2021'])
sql = "insert into speciality (code,name,college,nian) values(%s,%s,%s,%s)"
try:
    cursor.executemany(sql,l_data)
    db.commit()
    print("已添加!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   
db.close() 

导入2022年录取数据

导出2022年录取数据并生成分数

In [ ]:
import openpyxl
import json

filename = 'data/17-22年一分一段表.json'
with open(filename,'r') as fl:
    m_xx = json.load(fl)
data = m_xx['2022']['z']
yfyd = {}
for k, v in data.items():
    list1 = []
    list1 = (v['min_rank'],v['max_rank'])
    yfyd[k] = list1
dict1 = {}
filename = 'data/山东省2022年普通类常规批第一次志愿投档情况表.xlsx'
wb = openpyxl.load_workbook(filename)
sheet = wb.active
data1 =list(sheet.values)
del data1[0:2]
m_num = 1
i = 1
for items in data1:
    m_rank = items[3]    
    list1 = []
    for k, v in yfyd.items():
        if m_rank >=v[1] and m_rank <=v[0]:
            m_num = int(k)
            break
    list1 = (items[0],items[1],items[2],items[3],m_num)
    dict1[i] = list1
    i += 1 
with open('data/2022.json','w') as fl2:
    json.dump(dict1,fl2) 

2022年录取数据导入mysql数据库

In [ ]:
import pymysql
import json

l_code = []
l_new = []
l_data = []
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()

sql = 'select code from college'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    l_code.append(result[0])

with open('data/2022.json','r') as fl:
    m_xx = json.load(fl)
for k, v in m_xx.items():
    #code = v[1][:4]
    l_data.append([v[1][:4],v[0][:2],v[2],v[4],v[3]])

sql = "insert into admission_2022 (college,speciality,plan,num_min,rank_min,nian) values(%s,%s,%s,%s,%s,'2022')"
try:
    cursor.executemany(sql,l_data)
    db.commit()
    print("已添加!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   
db.close() 

整理2022年招生学校

In [ ]:
import pymysql
import json

l_code = []
l_new = []
l_data = []
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()

sql = 'select code from college'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    l_code.append(result[0])

with open('data/2022.json','r') as fl:
    m_xx = json.load(fl)
for k, v in m_xx.items():
    code = v[1][:4]
    if code not in l_code:
        l_code.append(code)
        l_new.append([v[1][0:4],v[1][4:]])
    #l_data.append([v[1][:4],v[0][:2],v[2],v[4],v[3]])
sql = "insert into college (code,name) values(%s,%s)"
try:
    cursor.executemany(sql,l_new)
    db.commit()
    print("已添加!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   
db.close() 

整理2022年新增招生学校

In [ ]:
import pymongo
import decimal
import json


myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college_2021"]
mycol1 = mydb["admission_2021"]

m_col = {}
m_xx = {}
dict1 = {}
list1 = []
for x in mycol.find({"code":{'$exists': 'true'}},{"_id": 0, "code": 1, "name": 1}):
    m_col[x['code']] = x['name']

with open('data/2022.json','r') as fl:
    m_xx = json.load(fl)
for k, v in m_xx.items():
    #code = v[1][:4]
    dict1[v[1][:4]]= v[1][4:]
for code in dict1.keys():
    if code not in m_col.keys():
        #print(dict1[code])
        
        if dict1[code] not in m_col.values():
            list1.append(code)
print(list1)
for x in mycol.find({"id_code":{'$exists': 'true'}},{"_id": 0, "id_code": 1, "name": 1}):
    m_col[x['id_code']] = x['name']
for code in list1:
    if dict1[code] in m_col.values():
        myquery = {'name':dict1[code]}
        m_new = {"$set":{'code':code}}
        mycol.update_one(myquery,m_new)
        print(dict1[code])

汇总2022年学校录取情况

In [ ]:
import pymysql
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college_2021"]
m_xx = {}
m_data = {}
m_mongo = {}
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()
sql = 'SELECT college,SUM(plan),min(num_min),max(RANK_min) FROM admission_2022 GROUP BY college'
cursor.execute(sql)
results = cursor.fetchall()
i = 1
for result in results:
    #m_xx.clear()
    m_code = result[0]
    m_nian ='2022'
    m_lb = 'z'
    m_xx.setdefault(m_code,{})
    m_xx[m_code].setdefault(m_nian,{})
    m_xx[m_code][m_nian].setdefault(m_lb,{})
    m_xx[m_code][m_nian][m_lb] ['name']= '综合'
    m_xx[m_code][m_nian][m_lb] ['dispense']= int(result[1])
    m_xx[m_code][m_nian][m_lb] ['num_min']= result[2]
    m_xx[m_code][m_nian][m_lb] ['rank_min']= result[3]    
    myquery = {'code':m_code}
    colleges = mycol.find(myquery,{ "_id": 0, "admission": 1 })
    for x in colleges:
        for k, v in x.items():
            for k1, v1 in v.items():
                m_xx[m_code][k1] = v1
for k,v in m_xx.items():
    #m_item ='admission.'+m_nian
    m_mongo.clear()    
    myquery = {'code':k}
    m_new = {"$set":{'admission':v}}
    mycol.update_one(myquery,m_new)

整理2022年新增专业

In [ ]:
import pymysql
import json

l_data = []
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()

with open('data/2022.json','r') as fl:
    m_xx = json.load(fl)
for k, v in m_xx.items():
    l_data.append([v[0][:2],v[0][2:],v[1][0:4],'2022'])
sql = "insert into speciality (code,name,college,nian) values(%s,%s,%s,%s)"
try:
    cursor.executemany(sql,l_data)
    db.commit()
    print("已添加!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   
db.close() 

2022年专业录取分数及位次

In [ ]:
import pymysql
import pymongo
import decimal

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college_2021"]
mycol1 = mydb["admission_2022"]

m_col = {}
m_spe = {}
m_xx = {}
for x in mycol.find({"code":{'$exists': 'true'}},{"_id": 0, "code": 1, "name": 1}):
    m_col[x['code']] = x['name']


db = pymysql.connect(host = "localhost",user = "songyi",password = "yylzs",database = "gaokao" )
cursor = db.cursor()
sql = 'SELECT a.code,a.college,a.name FROM speciality AS a WHERE a.nian="2022"'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    m_spe.setdefault(result[1],{})    
    m_spe[result[1]][result[0]] = result[2]
#print(m_spe)
sql = 'SELECT * FROM admission_2022 AS a where college not in ("D628","D440","Y010","D245","D597","D641","D501","D659") ORDER BY a.rank_min'
#sql = 'SELECT * FROM admission_2022 AS a ORDER BY a.rank_min'
cursor.execute(sql)
results = cursor.fetchall()
i = 0
m_min = 0
ii = 0
for result in results:
    m_xx.clear()
    if result[4] == m_min:
        ii = ii
        i = i+1
    else:
        i = i+1
        ii = i
        m_min = result[6]
    
    m_xx['pos'] = ii
    m_xx['col_code'] = result[1]
    m_xx['col_name'] = m_col[result[1]]
    m_xx['spe_code'] = result[2]
    m_xx['spe_name'] = m_spe[result[1]][result[2]]
    m_xx['plan'] = result[3]
    m_xx['num_min'] = result[4]    
    m_xx['rank_min'] = result[5]
    m_xx['nian'] = '2022'    
    mycol1.insert_one(m_xx)
    #print(m_xx)
print('ok')

导入2023年录取数据

导入2023年一分一段表

In [ ]:
import openpyxl
import json


wb = openpyxl.load_workbook('./data/2023年一分一段表.xlsx')
sheet = wb.active
i = 1
dict1 = {}
for n in range(4,sheet.max_row):
        m_score = sheet.cell(n,1).value
        m_num = sheet.cell(n,2).value
        m_sum = sheet.cell(n,3).value
        m_max = m_sum - m_num + 1
        dict1[m_score] = {'num_person':m_num,'max_rank':m_max,'min_rank':m_sum}
filename = 'data/2023年一分一段表.json'
with open(filename,'w') as fl:
    json.dump(dict1,fl) 

导出2023年录取数据并生成分数

In [ ]:
import openpyxl
import json

filename = 'data/2023年一分一段表.json'
with open(filename,'r') as fl:
    m_xx = json.load(fl)

for k, v in m_xx.items():
    list1 = []
    list1 = (v['min_rank'],v['max_rank'])
    yfyd[int(k)] = list1
dict1 = {}
filename = 'data/山东省2023年普通类常规批第1次志愿投档情况表.xlsx'
wb = openpyxl.load_workbook(filename)
sheet = wb.active
data1 =list(sheet.values)
del data1[0:2]
m_num = 1
i = 1
for items in data1:
    m_rank = items[3]    
    list1 = []
    print(items[0])
    for k, v in yfyd.items():
        if m_rank >=v[1] and m_rank <=v[0]:
            m_num = int(k)
            break
    list1 = (items[0],items[1],items[2],items[3],m_num)
    dict1[i] = list1
    i += 1 
with open('data/2023.json','w') as fl2:
    json.dump(dict1,fl2) 

2023年专业录取分数及位次

In [20]:
import json
import pymongo
import decimal

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol1 = mydb["admission_ls"]
mycol = mydb["admission_2023"]

m_col = {}
m_spe = {}
m_xx = {}
filename = 'data/2023.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)

for k, v in dict1.items():
    m_xx = {}
    m_xx['col_code'] = v[1][:4]
    m_xx['col_name'] = v[1][4:]
    m_xx['spe_code'] = v[0][:2]
    m_xx['spe_name'] = v[0][2:]
    m_xx['plan'] = v[2]
    m_xx['num_min'] = v[4] 
    m_xx['rank_min'] = v[3]
    m_xx['nian'] = '2023'
    mycol1.insert_one(m_xx)
    #print(m_xx)
print('ok')
mydoc = mycol1.find().sort("rank_min")
i = 1 
for x in mydoc:
    m_xx = {}
    m_xx['pos'] = i
    m_xx['col_code'] = x['col_code']
    m_xx['col_name'] = x['col_name'] 
    m_xx['spe_code'] = x['spe_code']
    m_xx['spe_name'] = x['spe_name']
    m_xx['plan'] = x['plan']
    m_xx['num_min'] = x['num_min']
    m_xx['rank_min'] = x['rank_min']
    m_xx['nian'] = '2023'
    mycol.insert_one(m_xx)
    i+=1
print('ok')    
ok
ok
In [ ]:

从json文件导入2020年未招生学校名称

In [ ]:
import json
import pymysql
m_col = []
filename = './data/2020年未招生学校.json'
with open(filename,'r') as fl:
    m_xx = json.load(fl)
for k,v in m_xx.items():
    m_col.append((k,v['name']))

db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()

sql = "insert into college (code,name) values(%s,%s)"
try:
    cursor.executemany(sql,m_col)
    #db.commit()
    print("ok!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   

db.close()
In [ ]:
import json
import pymysql

db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()
sql = 'select xx, zy_dm,zdf from digao_1719 where xx="A001"'
cursor.execute(sql)
results = cursor.fetchall()
print(list(results))

一分一段表导入

导入2020年一分一段表

In [ ]:
import openpyxl
import pymysql
import json

m_xx = []
db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()
wb = openpyxl.load_workbook('./data/2020一分一段表.xlsx')
sheet = wb.active
i = 1
for n in range(4,sheet.max_row):
        m_score = sheet.cell(n,1).value
        m_num = sheet.cell(n,14).value
        m_sum = sheet.cell(n,15).value
        m_max = m_sum - m_num + 1
        m_xx.append((m_score,m_num,m_max,m_sum,'z','2020'))
#print(m_xx)
sql = 'insert into fenduan(score,per_num,max_rank,min_rank,category,nian) values (%s,%s,%s,%s,%s,%s)'
try:
    cursor.executemany(sql,m_xx)
    db.commit()
    print("ok!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   

db.close()

导入2021年一分一段表

In [ ]:
import openpyxl
import pymysql
import json

m_xx = []
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()
wb = openpyxl.load_workbook('./data/2021年一分一段表.xlsx')
sheet = wb.active
i = 1
for n in range(4,sheet.max_row):
        m_score = sheet.cell(n,1).value
        m_num = sheet.cell(n,2).value
        m_sum = sheet.cell(n,3).value
        m_max = m_sum - m_num + 1
        m_xx.append((m_score,m_num,m_max,m_sum,'z','2021'))
#print(m_xx)
sql = 'insert into fenduan(score,per_num,max_rank,min_rank,category,nian) values (%s,%s,%s,%s,%s,%s)'
try:
    cursor.executemany(sql,m_xx)
    db.commit()
    print("ok!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   

db.close()

导入2022年一分一段表

In [ ]:
import openpyxl
import pymysql
import json

m_xx = []
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()
wb = openpyxl.load_workbook('./data/2022一分一段表.xlsx')
sheet = wb.active
i = 1
for n in range(4,sheet.max_row):
        m_score = sheet.cell(n,1).value
        m_num = sheet.cell(n,2).value
        m_sum = sheet.cell(n,3).value
        m_max = m_sum - m_num + 1
        m_xx.append((m_score,m_num,m_max,m_sum,'z','2022'))
#print(m_xx)
sql = 'insert into fenduan(score,per_num,max_rank,min_rank,category,nian) values (%s,%s,%s,%s,%s,%s)'
try:
    cursor.executemany(sql,m_xx)
    db.commit()
    print("ok!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   

db.close()

导出一分一段表至JSON文件

In [ ]:
import pymysql
import json

m_xx = {}
db = pymysql.connect(host = "localhost",user = "root",password = "songyi",database = "gaokao" )
cursor = db.cursor()
sql = 'SELECT * FROM fenduan AS a ORDER BY nian,category'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    m_year = result[6]
    m_xx.setdefault(m_year,{})
    m_xx[m_year].setdefault(result[5],{})
    m_xx[m_year][result[5]].setdefault(result[1],{})
    m_xx[m_year][result[5]][result[1]]['num_person'] = result[2]
    m_xx[m_year][result[5]][result[1]]['max_rank'] = result[3]
    m_xx[m_year][result[5]][result[1]]['min_rank'] = result[4]
fl_name = 'data/17-21年一分一段表.json'
with open(fl_name,'w') as fl:
    json.dump(m_xx,fl,ensure_ascii=False)
print('ok!')

导出一分一段表至MongoDB

In [ ]:
import pymysql
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["fenduan"]
m_xx = {}

db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()
sql = 'SELECT * FROM fenduan AS a ORDER BY nian,category'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    m_year = result[6]
    m_xx.setdefault(m_year,{})
    m_xx[m_year].setdefault(result[5],{})
    m_fenshu = str(result[1])
    m_xx[m_year][result[5]].setdefault(m_fenshu,{})
    m_xx[m_year][result[5]][m_fenshu]['num_person'] = result[2]
    m_xx[m_year][result[5]][m_fenshu]['max_rank'] = result[3]
    m_xx[m_year][result[5]][m_fenshu]['min_rank'] = result[4]
for k,v in m_xx.items():
    m_mongo = {}     
    m_mongo.setdefault(k,{})
    m_mongo[k] = v
    x = mycol.insert_one(m_mongo) 
    
#print('ok!')

汇总2020年大学招生录取情况

In [ ]:
import pymysql
import json

db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()
sql = 'SELECT a.college,sum(a.plan),SUM(a.num_dispense),MIN(a.num_min),max(a.rank_min) FROM admission_2020 AS a  GROUP BY a.college'
cursor.execute(sql)
results = cursor.fetchall()
#print(results)
sql = "insert into admission_coll (college,num_plan,num_act,min_score,min_rank) values(%s,%s,%s,%s,%s)"

try:
    cursor.executemany(sql,results)
    db.commit()
    print("ok!")
except:
    # 如果发生错误则回滚
    print("error!")
    db.rollback()   

db.close()

整理以往年度学校录取情况

数据导入至MongoDB

In [ ]:
import pymysql
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["hz_luqu"]
m_xx = {}
m_mongo = {}
db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()
sql = 'SELECT a.code,b.name,a.year,a.num_plan,a.num_act,a.max_score,a.min_score,a.category FROM draft AS a \
left join college AS b ON a.code=b.code AND b.name is NOT NULL  order BY a.code,a.year'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    m_code = result[0]
    m_xx.setdefault(m_code,{})
    m_xx[m_code]['code'] = result[0]
    m_xx[m_code]['name'] = result[1]
    m_xx[m_code].setdefault(result[2],{})
    m_xx[m_code][result[2]].setdefault(result[7],{})
    m_xx[m_code][result[2]][result[7]]['num_plan'] = result[3]
    m_xx[m_code][result[2]][result[7]]['num_act'] = result[4]
    m_xx[m_code][result[2]][result[7]]['max_score'] = result[5]
    m_xx[m_code][result[2]][result[7]]['min_score'] = result[6]
    
for k,v in m_xx.items():
    m_mongo[k] = v
    x = mycol.insert_one(m_mongo[k]) 
    print(m_mongo[k])

数据导入至JSON文件

In [ ]:
import pymysql
import json

m_xx = {}
m_mongo = {}
db = pymysql.connect("localhost","root","songyi","gaokao" )
cursor = db.cursor()
sql = 'SELECT a.code,b.name,a.year,a.num_plan,a.num_act,a.max_score,a.min_score,a.category FROM draft AS a \
left join college AS b ON a.code=b.code AND b.name is NOT NULL  order BY a.code,a.year'
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
    m_code = result[0]
    m_xx.setdefault(m_code,{})
    m_xx[m_code]['code'] = result[0]
    m_xx[m_code]['name'] = result[1]
    m_xx[m_code].setdefault(result[2],{})
    m_xx[m_code][result[2]].setdefault(result[7],{})
    m_xx[m_code][result[2]][result[7]]['num_plan'] = result[3]
    m_xx[m_code][result[2]][result[7]]['num_act'] = result[4]
    m_xx[m_code][result[2]][result[7]]['max_score'] = result[5]
    m_xx[m_code][result[2]][result[7]]['min_score'] = result[6]
    
fl_name = 'data/15-19年高校录取汇总情况.json'
with open(fl_name,'w') as fl:
    json.dump(m_xx,fl,ensure_ascii=False)
#print(json.dumps(m_xx,ensure_ascii=False))
#print(m_xx)
In [ ]:

高考数据采集

新浪高考热讯采集导入MongoDB

In [ ]:
import requests
import time
from bs4 import BeautifulSoup
import pymongo

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["news"]
#web_xx = {}
n = 0
for i in range(1,11):    
    url = 'http://edu.sina.com.cn/other/roll.d.html?cat=80459&page={}&page_size=30'.format(str(i))
    strhtml = requests.get(url)
    strhtml.encoding = 'utf8'
    soup = BeautifulSoup(strhtml.text,'lxml')
    #data = strhtml.text
    #data1 = data.split("\r")
    data = soup.select('#Main > div.listBlk > ul > li > a')
    #data = soup.select('#artibody')
    for item in data:
        web_xx.clear()
        n += 1
        m_num = 'sina'+str(n).rjust(6, '0')
        web_xx.setdefault(m_num,{})
        web_xx[m_num]['title'] = item.get_text()
        c_url = item.get('href')
        web_xx[m_num]['url'] = c_url
        content = requests.get(c_url)
        content.encoding = 'utf8'
        soup_content = BeautifulSoup(content.text)
        data1 = soup_content.select('#artibody')
        for item1 in data1:
            web_xx[m_num]['content'] = item1.get_text()
            time.sleep(3)
        mycol.insert_one(web_xx) 
        print(m_num+'入库成功!')

中国教育在线信息采集

双一流学科录入

In [ ]:
import requests
import time
from bs4 import BeautifulSoup
import pymongo
import re

m_mongo = {}
requests.packages.urllib3.disable_warnings()
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += 'HIGH:!DH:!aNULL'
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["syl_jianshexueke"]
url = 'http://daxue.eol.cn/syl.shtml'
strhtml = requests.get(url)
strhtml.encoding = 'utf8'
soup = BeautifulSoup(strhtml.text,'lxml')
data = soup.select('body > div.container.box > div.con > div:nth-child(4) > table > tbody > tr')
i = 0
for item in data:
    m_mongo.clear()
    data1 = item.select('td')
    ss = re.sub('\n', '', data1[1].text)
    #print(ss.split('、'))
    m_mongo['college'] = data1[0].text
    m_mongo['discipline'] = ss.split('、')
    mycol.insert_one(m_mongo) 
    print(data1[0].text + '导入成功!')
    

双一流学校录入

In [ ]:
import requests
import time
from bs4 import BeautifulSoup
import pymongo
import re

m_mongo = {}
requests.packages.urllib3.disable_warnings()
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += 'HIGH:!DH:!aNULL'
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["syl_college"]
url = 'http://daxue.eol.cn/syl.shtml'
strhtml = requests.get(url)
strhtml.encoding = 'utf8'
soup = BeautifulSoup(strhtml.text,'lxml')
data = soup.select('body > div.container.box > div.con > div:nth-child(2) > table > tbody:nth-child(3) > tr')
m_name = []
#for item in data:
#    m_mongo.clear()
for n in range(1,len(data)):
    item = data[n].select('td')
    ss = re.sub('\n', ' ', data[n].text)
    m_name = m_name + ss.strip().split(' ')
    
for col in m_name:
    m_mongo.clear()
    m_mongo['name'] = col
    m_mongo['level'] = 'B'
    mycol.insert_one(m_mongo) 

双一流学校、学科合并

In [ ]:
import pymongo
import re
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["college_syl"]
mycol1 = mydb["syl_college"]
mycol2 = mydb["syl_jianshexueke"]
m_mongo = {}
for x in mycol1.find({},{'_id':0}):
    m_mongo.clear()
    m_mongo['college'] = x['name']
    m_mongo['level'] = x['level']
    myquery = {'college':x['name']}
    for x1 in  mycol2.find(myquery,{'_id':0}):
        m_mongo['discipline'] = x1['discipline']
        mycol.insert_one(m_mongo) 
        
        

双一流学校信息录入

In [ ]:
import requests
import time
from bs4 import BeautifulSoup
import pymongo
import re

pattern = re.compile(r'\d+')
m_mongo = {}
requests.packages.urllib3.disable_warnings()
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += 'HIGH:!DH:!aNULL'
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["gaokao"]
mycol = mydb["syl_jianshexueke"]
url = 'http://daxue.eol.cn/syl.shtml'
strhtml = requests.get(url)
strhtml.encoding = 'utf8'
soup = BeautifulSoup(strhtml.text,'lxml')
data = soup.select('body > div.container.box > div.con > div:nth-child(2) > table > tbody > tr > td > a')
i = 0
for item in data:
    m_url = item.get('href')
    mm =re.search('\d+',m_url).group(0)
    m_name = item.text
    url1 = 'http://192.168.3.100:8050/render.html?https://gkcx.eol.cn/school/%s/introDetails' %mm
    
    strhtml = requests.get(url1)
    time.sleep(10)
    soup = BeautifulSoup(strhtml.text,'lxml')
    data1 = soup.select('#root > div > div > div > div > div > div > div.main > div > div.tuiji_left > div.intro_details_content')
    print(url1,m_name)
    print(data1)
Warning:
Output truncated. This notebook contains too many cells to display efficiently.