12-南信大研究生院的登录-打印成绩单
目的:登入南京信息工程大学研究生院的官网,输入学号 密码,打印用户的成绩单
结果呈现:打印用户名成绩单,存入在csv文件中
南京信息工程大学研究生院登入官网的首页:http://202.195.235.61/pyxx/login.aspx
注:最近到学期末了,是不是各种考试扑面而来?!!!嘻嘻嘻,身为研二老学姐的我,没有考试哇,开森~~~然后我就无聊想查一下我研一的成绩,激励下自己,看看我那会的成绩,毕竟那会还是很努力的,算是从另一方面刺激下现在懒惰的自己吧!
#下面为本实例的爬虫代码,若有问题可以给我留言,或者有更好的解决方法也可以私信我~
import requests from bs4 import BeautifulSoup import csv import osclass NXD():def __init__(self,number,passwd):self.number=numberself.passwd=passwddef login(self):session=requests.Session()headers={'user-agent':'Mozilla/5.0'}session.headers.update(headers)cookie_url='http://202.195.235.61/pyxx/login.aspx'r=session.get(cookie_url) #让session具有cookie信息html=r.textsoup=BeautifulSoup(html,'html.parser')__VIEWSTATE=soup.find('input',{'name':{'__VIEWSTATE'}})['value'] #得到__VIEWSTATEdata={'__VIEWSTATE':__VIEWSTATE,'_ctl0:txtusername':self.number,'_ctl0:ImageButton1.x':'0','_ctl0:ImageButton1.y':'0','_ctl0:txtpassword':self.passwd}login_url='http://202.195.235.61/pyxx/login.aspx'r=session.post(login_url,data=data)soup=BeautifulSoup(r.text,'html.parser')judge=soup.find('form',{'method':{'post'}})['action'] #正确登入时,judge=Default.aspx 错误登陆时,judge=login.aspxif judge=='Default.aspx':leftmenu_url='http://202.195.235.61/pyxx/leftmenu.aspx'r=session.get(leftmenu_url)soup=BeautifulSoup(r.text,'html.parser')name_tr=soup.find('tr',{'height':'20'})welcome=name_tr('td')[0].text.strip()print('登陆成功! '+welcome)student_name=welcome.split(':')[-1] #学生姓名table_student=soup.find_all('tr',{'height':{'23'}})[2]('table')[1] #个人信息td_student=table_student.find_all('td',{'height':'20'})[1]href=td_student('a')[0]['href']grade_url=href.replace('1.aspx','8.aspx') #成绩r=session.get(grade_url)soup=BeautifulSoup(r.text,'html.parser')all_tr=soup.find_all('tr',{'nowrap':{'nowrap'}}) #所有课程class_name=[] #课程class_credit=[] #课程学分class_term=[] #选修学期grade=[] #成绩for tr in all_tr:if len(tr('td')[0].text.strip())!=2:class_name.append(tr('td')[0].text.strip()) #课程class_credit.append(tr('td')[1].text.strip()) #课程学分class_term.append(tr('td')[2].text.strip()) #选修学期grade.append(tr('td')[3].text.strip()) #成绩info=list(zip(class_name,class_credit,class_term,grade))#将成绩组合起来self.save(info,student_name)print('{}--->成绩单打印成功!'.format(student_name))else:print('用户或密码名输入错误!请重新登陆')main()def save(self,info,name):file=name+'.csv'with open(file,'a+',encoding='utf-8',newline='')as csv_file:csv_write=csv.writer(csv_file)if os.path.getsize(file)==0:csv_write.writerow(['课程','课程学分','选修学期','成绩'])for item in info:csv_write.writerow(list(item))csv_file.close()def main():number=input('请输入学号:').strip()passwd=input('请输入密码:').strip()student=NXD(number,passwd)student.login()main()
(1)屏幕显示:
【输入用户的学号和密码】
(2)文件夹显示:
#注:成绩不能说明一切,虽然我的成绩不是特别的好,但是最起码那会的我很努力啊!所以警戒自己!!!现在也要努力,要脚踏实地的做事!
今日爬虫完成~~~
今日鸡汤:太阳每一天都是新的,而我们活着的每一天都是真的,要不断的提升自己,改变生活。
加油ヾ(◍°∇°◍)ノ゙
转载于:https://my.oschina.net/pansy0425/blog/2994529
12-南信大研究生院的登录-打印成绩单相关推荐
- iphone快捷指令登录i-NUIST 南信大校园网自动登录
快捷指令下载地址: https://www.icloud.com/shortcuts/f738e6cb7a5143de906d044806a49f3c 效果图 自用一年多,快捷指令内有详细注解,在此无 ...
- 南信大电脑开机自动连接校园网
2022-11-20更新:南信大更新了连接时的url,更改部分如下: val url ="http://10.255.255.46/api/v1/login"val ipPath ...
- 南信大iNUIST校园网自动登录代码
南京信息工程大学校园网自动登录python代码 1. 登录网站 http://a.nuist.edu.cn/ 2. python3自动运行代码 2.1 修改的以下代码第46行,运营商类型和账号.密码即 ...
- 南信大计算机分类,南信大计算机原理样卷
<南信大计算机原理样卷>由会员分享,可在线阅读,更多相关<南信大计算机原理样卷(3页珍藏版)>请在人人文库网上搜索. 1.南京信息工程大学滨江学院2010 2011 学年 第 ...
- 滨江学院c语言期中考试试题,南信大滨江学院linux期末作业.doc
南信大滨江学院linux期末作业.doc 滨江学院 课程设计报告题 目 Linux 课程设计 院 系 计 算 机 系 专 业 计科三班 学生姓名 学 号 2014年12月22日一. Shell编程题1 ...
- 南信大计算机科学与坫,校园万象 | 南信大开启无处不在“i-NUIST”模式,疑难问题,为你一一解答!...
原标题:校园万象 | 南信大开启无处不在"i-NUIST"模式,疑难问题,为你一一解答! 点击上方"学校名称"可订阅哦! 点击播放 给你好心情 不知不觉暑假临近 ...
- 计算机组成原理TEC-8,南信大 计算机组成原理实验TEC-8实验指导书.pdf
南信大 计算机组成原理实验TEC-8实验指导书 TEC-8 计算机硬件综合 实验系统 杨春武 刘敬晗 编写 清华大学科教仪器厂 2011.11 1 前 言 为了适应大学本科计算机专业<数字逻辑和 ...
- 战略支援部队信息工程大学的计算机类,中国顶尖的两大“信息工程”高校翻新,南信大、军信大要崛起?...
[科学世界博览]教育品质专文:"中国顶尖的两所信息工程大学翻新,南信大.军信大要崛起",值此发布之际,林瑜伽老师携手教育团队,诚挚欢迎同学们点击上方"蓝字",触 ...
- 百科园c语言题库第八章南信大,C语言上机题库百科园第3章!南信大!.doc
C语言上机题库百科园第3章!南信大!.doc (44页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 第三章1.为表示关系x≥y≥z,应使 ...
最新文章
- 马云:蚂蚁金服这样做区块链!
- 秘罗地伤痕 -- 暂存小说草稿
- 提交数据库访问性能一些简单措施
- Spring Boot的filter简单使用
- docker命令入门 - 夜的第一张
- 使用代理为业务操作添加安全检测
- 电脑常见故障排除手册(黑屏、死机、重启、蓝屏)
- 手把手教你用jmeter做压力测试(详图)
- 最新版网站推广完全手册
- 微信小程序获取用户openid(详解)
- C A+B for Input-Output Practice (II) SDUT
- 网页超链接无法访问本地文件
- Euclidean algorithm
- 陀螺产业区块链第九季 | 如何用区块链搭建营销激励模型?
- 依照ILSVRC2012在matconvnet-1.0-beta23 中用imagenet训练的情况,训练自己的数据
- MFC 视图-OpenGL场景-CDialogBar三个界面保存为图片
- ​Python办公自动化之Excel最全整理
- Android Studio生成.jks文件
- xshell5之ssh隧道连接
- poj解题报告——poj 1528 Perfection
热门文章
- 本地安装Java环境详细步骤
- 用Python写一段代码,用来操作鼠标点击
- 软件工程考试选择题:模块的扇入扇出 深度宽度
- 小学计算机教海探航论文名字,【一附小】寻梦探航话成长 ——一附小“教海探航”论文写作分享会...
- 解密英文藏头诗C语言,《C语言指针进阶》PPT课件.ppt
- Linux系统设置共享文件夹
- 图书管理系统( ( JSP + JDBC + Servlet ) )实现-06: 查询所有书籍功能
- 统计用户输入的一串数字中每个数字出现的次数
- 【MySQL数据备份与恢复】【安装xtrabackup 备份工具】【完全备份流程】【增量备份流程】【差异备份流程】
- 计算机信息安全有哪些SCI期刊推荐? - 易智编译EaseEditing