1 Star 0 Fork 1

jinsling / 分数线查询

forked from 修止符 / 分数线查询 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
分数线查询.py 5.50 KB
一键复制 编辑 原始数据 按行查看 历史
import requests
import win32com.client
def 查询学校id(学校名称):
请求头 = {
"Accept": "application/json, text/plain, */*",
"Content-Type": "application/json;charset=UTF-8",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"}
url = "https://api.eol.cn/gkcx/api/"
data = {"access_token": "", "keyword": 学校名称, "page": 1, "signsafe": "", "size": 20,
"sort": "view_total", "uri": "apidata/api/gk/school/lists"}
res = requests.get(url, params=data, headers=请求头)
return res.json()["data"]["item"][0]
def 查询学校详情(_学校id):
url = "https://static-data.eol.cn/www/2.0/school/" + _学校id + "/info.json"
res = requests.get(url)
return res.json()["data"]
def 查询分数(_学校id, _年, 文理="", 省份="61"):
if 文理 == "":
文理 = 1
if 文理.find("文") > -1:
文理 = 2
url = "https://static-data.eol.cn/www/2.0/schoolprovinceindex/"
url += "{年}/{学校id}/{省份}/{文理}/1.json".format(学校id=_学校id, =_年, 文理=文理, 省份=省份)
res = requests.get(url)
if res.text == '""':
return []
return res.json()["data"]["item"][0]
def 招生计划(_学校id, _年, 文理="", 省份="61"):
if 文理.find("文") > -1:
文理 = 2
url = "https://static-data.eol.cn/www/2.0/schoolplanindex/"
url += "{年}/{学校id}/{省份}/{文理}/8/1.json".format(学校id=_学校id, =_年, 文理=文理, 省份=省份)
res = requests.get(url)
if res.text == '""':
return []
return res.json()["data"]["item"]
def 专业分数线(_学校id, _年, 文理="", 省份="61"):
if 文理.find("文") > -1:
文理 = 2
url = "https://static-data.eol.cn/www/2.0/schoolspecialindex/"
url += "{年}/{学校id}/{省份}/{文理}/8/1.json".format(学校id=_学校id, =_年, 文理=文理, 省份=省份)
res = requests.get(url)
if res.text == '""':
return []
return res.json()["data"]["item"]
def 添加内容(_Worksheets, _行数, 起始列=1, _主键=None, _内容=None):
for _i in range(len(_主键)):
_列数 = _i + 起始列
_Worksheets.Cells(_行数, _列数).Value = _内容[_主键[_i]]
def 添加标题(_Worksheets, _行数, _标题=None):
for _i in range(len(_标题)):
_列数 = _i + 1
_Worksheets.Cells(_行数, _列数).Value = _标题[_i]
def 是否包含(文本1, 文本2):
if 文本1.find(文本2) > -1:
return True
elif 文本2.find(文本1) > -1:
return True
def 添加信息():
Worksheets = xlBook.Sheets.Add()
Worksheets.name = 大学名
# 地址, "address"
标题 = ["大学名", "普通本科", "师范类", "公办", "广西", "地址"]
主键 = ["name", "level_name", "type_name", "nature_name", "province_name", "address"]
行数 = 1
添加标题(Worksheets, 行数, 标题)
行数 = 行数 + 1
添加内容(Worksheets, 行数, 1, 主键, 学校信息)
标题 = ["年份", "录取批次", "招生类型", "最低分", "最低位次", "省控线"]
主键 = ["year", "local_batch_name", "zslx_name", "min", "min_section", "proscore"]
行数 = 4
添加标题(Worksheets, 行数, 标题)
行数 = 5
for i in range(几年内):
= str(2020 - i)
分数信息 = 查询分数(学校id, , 分类)
if 分数信息 == []:
break
添加内容(Worksheets, 行数, 1, 主键, 分数信息)
行数 += 1
行数 = 几年内 + 行数
招生标题 = ["年份", "最低分", "最低位次", "平均分", "专业名称", "计划招生", "专业名称", "学科门类", "学科门类", "学科门类", "学制"]
招生主键 = ["num", "spname", "level1_name", "level2_name", "level3_name", "length"]
添加标题(Worksheets, 行数, 招生标题)
分数线主键 = ["year", "min", "min_section", "average", "spname"]
for i in range(几年内):
行数 = 行数 + 1
= str(2020 - i)
招生信息组 = 招生计划(学校id, , 分类)
专业分数线组 = 专业分数线(学校id, , 分类)
for 招生信息 in 招生信息组:
if 招生信息["spname"].find("办学地") > -1:
招生信息["spname"] = 招生信息["spname"][:招生信息["spname"].find("办学地") - 1]
添加内容(Worksheets, 行数, len(分数线主键) + 1, 招生主键, 招生信息)
for 分数线信息 in 专业分数线组:
分数线信息["year"] =
if 分数线信息["spname"].find("教学地") > -1:
分数线信息["spname"] = 分数线信息["spname"][:分数线信息["spname"].find("教学地") - 1]
if 是否包含(招生信息["spname"], 分数线信息["spname"]):
添加内容(Worksheets, 行数, 1, 分数线主键, 分数线信息)
break
行数 = 行数 + 1
Worksheets.Cells.EntireColumn.AutoFit()
Worksheets.Cells.HorizontalAlignment = -4131 # 水平居中xlCenter
if __name__ == '__main__':
分类 = "文"
几年内 = 4
filename = "H:\编程项目\python\数据.xlsx"
xlApp = win32com.client.Dispatch('Excel.Application')
xlBook = xlApp.Workbooks.Open(filename)
xlApp.Visible = True
# 学校组 = ["广西科技师范", "山东农业", "海南热带海洋", "合肥师范", "马鞍山学院", "嘉兴南湖学院", "赣东学院", "山东工商", "武夷学院",
# "闽江学院", "赣南科技学院", "浙江万里学院"]
学校组 = ["西安文理", "宝鸡文理", "商洛学院", "西安电子", "西安科技", "西北政法", "西安财经", "延安大学", "青海民族"]
for 学校名 in 学校组:
学校信息 = 查询学校id(学校名)
大学名 = 学校信息["name"]
学校id = 学校信息["school_id"]
添加信息()
xlBook.Save()
xlBook.Close(SaveChanges=0)
del xlApp
Python
1
https://gitee.com/jinsling/fractional-line-query.git
git@gitee.com:jinsling/fractional-line-query.git
jinsling
fractional-line-query
分数线查询
master

搜索帮助