身份证名字转四六级成绩爬虫
来源:吾爱破解的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()
身份证名字转四六级成绩爬虫相关推荐
- 四六级成绩查询,你的『验证码』刷出来了吗?
沉浸在暑假余温里的小可爱们,今天被四六级成绩查询的验证码无情的伤害了一次. 就在8月22日,也就是今天上午9点,学霸们泰然自若,学渣们瑟瑟发抖,有的人甚至在心里考虑是否发微博.朋友圈谢谢超越姐姐(此时 ...
- 【官宣】四六级成绩已公布12月补报不可错过
❗❗重要通知❗❗ 2020年上半年全国大学英语四.六级考试 9月延考成绩于11月4日发布上午10时 距离 12月四六级考试倒计时42天 *本次考试成绩报告单制作和下发工作计划于12月下旬完成,具体领取 ...
- 大连四六级培训百家外语英国有学校宣布接受四六级成绩?
大家都知道,英语四六级考试是国内院校比较看重的,甚至有的学校还会把四六级合格证书作为毕业条件之一.但是,准备留学的同学会发现,无论你去哪个国家,几乎都会要求考托福.雅思或者托业这些国际化英语考试,四六 ...
- JDBC添加四六级成绩练习
practice.class package 练习;import org.junit.jupiter.api.Test; import 通用操作.JDBCUtils; import 通用操作.Prep ...
- 微信公众平台开发(103) 四六级成绩查询
全国大学英语四.六级考试.日语四级.日语六级.德语四级.德语六级.俄语四级.俄语六级以及法语四级考试成绩于2015年8月20日上午9时发布 我们提供微信查询方法 1.关注微信公众账号 二.回复&quo ...
- 微信公众平台开发四六级成绩查询
我们提供微信查询方法 1.关注微信公众账号 二.回复"四六级" 三.输入姓名和准考证号 四.返回查询结果 代码实现 <?php /*方倍工作室 2014年6月全国大学英语四六 ...
- 2022下半年全国大学英语四六级成绩今日可查
截图来源:教育部教育考试院网站 人民网北京2月21日电 (记者李依环)据教育部教育考试院网站消息,2022年下半年(12月)全国大学英语四.六级考试(CET)成绩查询服务于今天上午10时开通,考生可通 ...
- 简单的python爬取四六级成绩
python语言刚刚开始学,又遇到了一个同学忘记自己的准考证号,99宿舍找回准考证号失败了,所以就想知道准考证号的大致范围,一个一个的去查总有结果,这只是最初的想法,于是就勇敢的去做了. 用wires ...
- 英语四六级暴力查询成绩脚本(忘记准考证的同学的好东西)
这几天英语四六级成绩又公报了,又到伤心的时候了.... 但这次信心满满的去查成绩,悲剧的事情发生了,准考证号忘了!!!!!! 难得哥这么勇敢去查成绩,居然忘了,不甘心地写了个暴力查询脚本...唉,考级 ...
最新文章
- 将两个列表连接在一起
- python可变长参数(非关键字及关键字参数)
- php粉丝关注功能,Redis实现用户关注功能
- fortran的bug:Fortran runtime error: Unit number in I/O statement too large
- 【noip2016】d2解题报告
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- linux 编译c q64,Ubuntu 12.04 LTS 64位搭建Qt4终端编译环境
- mysql建表注意事项,关键字和保留字不能作为表名
- 境外自助游服务平台澳乐网获戈壁千万级投资
- 京西古道,王平到圈门的穿越
- access窗体主体居中
- pywin32库 : Python 操作 windows 系统 API
- 华硕笔记本计算机名称,华硕笔记本电脑有哪些型号 华硕笔记本电脑型号大全...
- 基于正态分布的抽样分布-T分布
- Jzoj 一维数组(包括排序)部分代码(共42题)
- Django ORM模型一对一、一对多、多对多的操作详解
- 如何实现移动端点击下拉箭头显示全部文字
- Matlab论文插图绘制模板第33期—等高线填充图(contourf)
- 安装未签名的activex控件
- 检测两点所确定直线上的像素坐标