来源:吾爱破解的ai酸的博文

https://www.52pojie.cn/thread-1112199-1-1.html

修改了一下用xlwt和xlrd批量读写只为以后方便用,详情还是上上面这个网址找原作..因为没论坛账号找不到作者..

目前时间:2020-2-22 20:04:25

#score.py
# @Time:2020.02.20
# @Author:ai酸的博文from zkzh import *
from urllib.parse import quote
import requests,re,json
#import x
import xlwt,xlrdfrom xlutils.copy import copyclass score:def __init__(self):s1 = requests.Session()self.s = s1self.url1 = 'http://cet.neea.edu.cn/cet/query_c.html'#四六级成绩查询网站#三个{}内分别是:4还是6   准考证号    姓名self.url2 = 'http://cachecloud.neea.cn/cet/query?data=CET{}_192_DANGCI%2C{}%2C{}'self.headers1 = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'}self.headers2 = {'Referer': 'http://cet.neea.edu.cn/cet','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36','Host': 'cachecloud.neea.cn'}def gScore(self,name,grade,zkzhNum):response=Noneif name==0:returnself.s.get(url=self.url1,headers=self.headers1)#url注意是urlencode编码print('test!!',name,zkzhNum)self.url2 = self.url2.format(grade,zkzhNum,quote(name))response = self.s.get(url=self.url2,headers=self.headers2)html = response.content.decode()#with open('test.html','wb') as f:#    f.write(response.content)school = re.findall('x:\'(.*?)\'',html)[0]score = re.findall('s:(.*?),',html)[0]tingLi = re.findall('l:(.*?),',html)[0]yueDu = re.findall('r:(.*?),',html)[0]xieZuoFanYi = re.findall('w:(.*?),',html)[0]
###########用xlrd和xlwt模块操作保存成表格data =xlrd.open_workbook(r"res.xls")nrows=data.sheets()[0].nrows#读取当前文件行数excel =copy(wb=data)#把读变成写的格式#workbook =xlwt.Workbook(encoding ="utf-8",style_compression=0)sheet = excel.get_sheet(0)#sheet =data.sheets()[0]sheet.write(nrows,0,score)sheet.write(nrows,1,tingLi)sheet.write(nrows,2,yueDu)sheet.write(nrows,3,xieZuoFanYi)sheet.write(nrows,4,name)excel.save('res.xls')#保存
#########with open()print(name)#print('学校:',school)print('英语'+str(grade)+'级成绩:',score)print('听力得分:',tingLi)print('阅读得分:',yueDu)print('写作和翻译得分:',xieZuoFanYi)def run_(self,ZKZH,name,num):name,num,grade,zkzhNum = zkzh.run_(ZKZH,name,num)#print(name,',',zkzhNum,',!!!',grade)self.gScore(name=name,grade=grade,zkzhNum=zkzhNum)if __name__ == '__main__':z = zkzh()s = score()s.run_(z)
#main.py
from zkzh import *
from score import *
import xlrdworkbook = xlrd.open_workbook(r'info.xls')#读取身份证与名字的表格
sheet2 = workbook.sheet_by_index(0)while index<sheet2.nrows:z = zkzh()s = score()rows = sheet2.row_values(index)name=rows[2]num=rows[3]index=index+1if not num.startswith("44"):#如果不是广东的身份证则跳过print(name,num,'跳过')else:print(name+'--'+num)s.run_(z,name,num)
#z = zkzh()
#s = score()
#s.run(z,name,num)
#zhzh.py
# @Time:2020.02.uteResultType @Author:ai酸的博文import requests,random,subprocess,time,json,re,sysclass zkzh:def __init__(self):s1 = requests.Session()self.s = s1self.url = 'http://cet-kw.neea.edu.cn/Home/ToQueryTestTicket'self.headers ={'Referer': 'http://cet-kw.neea.edu.cn/Home/QueryTestTicket','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'#'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36','X-Requested-With': 'XMLHttpRequest','Origin': 'http://cet-kw.neea.edu.cn','Host': 'cet-kw.neea.edu.cn'}#获取准考证号def get(self,num,name,img):data = {'provinceCode': '44',#省编号,这里默认是四川51 其他的省在查询准考证号的网页源码上有,广东是44'IDTypeCode': '1',#证件类型,这里也是网页源码有的'IDNumber': num,#身份证号'Name': name,#姓名'verificationCode': img}#验证码识别response = self.s.post(self.url,headers=self.headers,data=data)html = response.content.decode()json_html = json.loads(html)ExceuteResult = json_html['ExceuteResultType']if ExceuteResult==1 :List = re.findall('"(.*?)"',json_html['Message'])return List[1],List[3]#List[1]是英语四或六级 List[3]是准考证号elif ExceuteResult==-1:#print('验证码输入错误ee!')print(json_html['Message'])if '验证码' in json_html['Message']:return 0,1elif '报名' in json_html['Message']:return 0,2else:print('未知错误!')#获取验证码图片并且读取def gImg(self):urlImg = 'http://cet-kw.neea.edu.cn/Home/VerifyCodeImg'response = self.s.get(url=urlImg)#将图片保存在本地with open('./img.png','wb') as f:f.write(response.content)#将保存在本地的图片使用本地默认打开方式打开subprocess.Popen('img.png',shell=True)#img = input('输入验证码:')return imgdef run_(self,name,num):zkzhNum=1while zkzhNum==1:img = self.gImg()grade,zkzhNum = self.get(num=num,name=name,img=img)if zkzhNum==2:return 0,0,0,0print('您的'+grade+'准考证号是:'+zkzhNum)if grade=='英语六级笔试':grade = 6elif grade=='英语四级笔试':grade = 4else:print('未知错误!')return name,num,grade,zkzhNumif __name__ == '__main__':a = zkzh()a.run()

身份证名字转四六级成绩爬虫相关推荐

  1. 四六级成绩查询,你的『验证码』刷出来了吗?

    沉浸在暑假余温里的小可爱们,今天被四六级成绩查询的验证码无情的伤害了一次. 就在8月22日,也就是今天上午9点,学霸们泰然自若,学渣们瑟瑟发抖,有的人甚至在心里考虑是否发微博.朋友圈谢谢超越姐姐(此时 ...

  2. 【官宣】四六级成绩已公布12月补报不可错过

    ❗❗重要通知❗❗ 2020年上半年全国大学英语四.六级考试 9月延考成绩于11月4日发布上午10时 距离 12月四六级考试倒计时42天 *本次考试成绩报告单制作和下发工作计划于12月下旬完成,具体领取 ...

  3. 大连四六级培训百家外语英国有学校宣布接受四六级成绩?

    大家都知道,英语四六级考试是国内院校比较看重的,甚至有的学校还会把四六级合格证书作为毕业条件之一.但是,准备留学的同学会发现,无论你去哪个国家,几乎都会要求考托福.雅思或者托业这些国际化英语考试,四六 ...

  4. JDBC添加四六级成绩练习

    practice.class package 练习;import org.junit.jupiter.api.Test; import 通用操作.JDBCUtils; import 通用操作.Prep ...

  5. 微信公众平台开发(103) 四六级成绩查询

    全国大学英语四.六级考试.日语四级.日语六级.德语四级.德语六级.俄语四级.俄语六级以及法语四级考试成绩于2015年8月20日上午9时发布 我们提供微信查询方法 1.关注微信公众账号 二.回复&quo ...

  6. 微信公众平台开发四六级成绩查询

    我们提供微信查询方法 1.关注微信公众账号 二.回复"四六级" 三.输入姓名和准考证号 四.返回查询结果 代码实现 <?php /*方倍工作室 2014年6月全国大学英语四六 ...

  7. 2022下半年全国大学英语四六级成绩今日可查

    截图来源:教育部教育考试院网站 人民网北京2月21日电 (记者李依环)据教育部教育考试院网站消息,2022年下半年(12月)全国大学英语四.六级考试(CET)成绩查询服务于今天上午10时开通,考生可通 ...

  8. 简单的python爬取四六级成绩

    python语言刚刚开始学,又遇到了一个同学忘记自己的准考证号,99宿舍找回准考证号失败了,所以就想知道准考证号的大致范围,一个一个的去查总有结果,这只是最初的想法,于是就勇敢的去做了. 用wires ...

  9. 英语四六级暴力查询成绩脚本(忘记准考证的同学的好东西)

    这几天英语四六级成绩又公报了,又到伤心的时候了.... 但这次信心满满的去查成绩,悲剧的事情发生了,准考证号忘了!!!!!! 难得哥这么勇敢去查成绩,居然忘了,不甘心地写了个暴力查询脚本...唉,考级 ...

最新文章

  1. 将两个列表连接在一起
  2. python可变长参数(非关键字及关键字参数)
  3. php粉丝关注功能,Redis实现用户关注功能
  4. fortran的bug:Fortran runtime error: Unit number in I/O statement too large
  5. 【noip2016】d2解题报告
  6. Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
  7. linux 编译c q64,Ubuntu 12.04 LTS 64位搭建Qt4终端编译环境
  8. mysql建表注意事项,关键字和保留字不能作为表名
  9. 境外自助游服务平台澳乐网获戈壁千万级投资
  10. 京西古道,王平到圈门的穿越
  11. access窗体主体居中
  12. pywin32库 : Python 操作 windows 系统 API
  13. 华硕笔记本计算机名称,华硕笔记本电脑有哪些型号 华硕笔记本电脑型号大全...
  14. 基于正态分布的抽样分布-T分布
  15. Jzoj 一维数组(包括排序)部分代码(共42题)
  16. Django ORM模型一对一、一对多、多对多的操作详解
  17. 如何实现移动端点击下拉箭头显示全部文字
  18. Matlab论文插图绘制模板第33期—等高线填充图(contourf)
  19. 安装未签名的activex控件
  20. 检测两点所确定直线上的像素坐标

热门文章

  1. 对python中的list元素计数
  2. php fastcgi_param,fastcgi_param参数详解
  3. 家具店-游泳馆-粥店 今天是这么过的... ...
  4. 做电商管理仓库的软件哪个好?有必要用电商ERP吗 ?
  5. 百度惊雷算法3.0即将上线,刷排名末日即将来临
  6. 你眼中的IT人员是怎样的?
  7. 如何编写简单的lua小脚本
  8. 信息学奥赛一本通1114:白细胞计数 视频题解
  9. 游戏数据分析平台 Playcore 新功能一览
  10. 根据角色id查询菜单的名字