目的:登入南京信息工程大学研究生院的官网,输入学号 密码,打印用户的成绩单

结果呈现:打印用户名成绩单,存入在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-南信大研究生院的登录-打印成绩单相关推荐

  1. iphone快捷指令登录i-NUIST 南信大校园网自动登录

    快捷指令下载地址: https://www.icloud.com/shortcuts/f738e6cb7a5143de906d044806a49f3c 效果图 自用一年多,快捷指令内有详细注解,在此无 ...

  2. 南信大电脑开机自动连接校园网

    2022-11-20更新:南信大更新了连接时的url,更改部分如下: val url ="http://10.255.255.46/api/v1/login"val ipPath ...

  3. 南信大iNUIST校园网自动登录代码

    南京信息工程大学校园网自动登录python代码 1. 登录网站 http://a.nuist.edu.cn/ 2. python3自动运行代码 2.1 修改的以下代码第46行,运营商类型和账号.密码即 ...

  4. 南信大计算机分类,南信大计算机原理样卷

    <南信大计算机原理样卷>由会员分享,可在线阅读,更多相关<南信大计算机原理样卷(3页珍藏版)>请在人人文库网上搜索. 1.南京信息工程大学滨江学院2010 2011 学年 第 ...

  5. 滨江学院c语言期中考试试题,南信大滨江学院linux期末作业.doc

    南信大滨江学院linux期末作业.doc 滨江学院 课程设计报告题 目 Linux 课程设计 院 系 计 算 机 系 专 业 计科三班 学生姓名 学 号 2014年12月22日一. Shell编程题1 ...

  6. 南信大计算机科学与坫,校园万象 | 南信大开启无处不在“i-NUIST”模式,疑难问题,为你一一解答!...

    原标题:校园万象 | 南信大开启无处不在"i-NUIST"模式,疑难问题,为你一一解答! 点击上方"学校名称"可订阅哦! 点击播放 给你好心情 不知不觉暑假临近 ...

  7. 计算机组成原理TEC-8,南信大 计算机组成原理实验TEC-8实验指导书.pdf

    南信大 计算机组成原理实验TEC-8实验指导书 TEC-8 计算机硬件综合 实验系统 杨春武 刘敬晗 编写 清华大学科教仪器厂 2011.11 1 前 言 为了适应大学本科计算机专业<数字逻辑和 ...

  8. 战略支援部队信息工程大学的计算机类,中国顶尖的两大“信息工程”高校翻新,南信大、军信大要崛起?...

    [科学世界博览]教育品质专文:"中国顶尖的两所信息工程大学翻新,南信大.军信大要崛起",值此发布之际,林瑜伽老师携手教育团队,诚挚欢迎同学们点击上方"蓝字",触 ...

  9. 百科园c语言题库第八章南信大,C语言上机题库百科园第3章!南信大!.doc

    C语言上机题库百科园第3章!南信大!.doc (44页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 第三章1.为表示关系x≥y≥z,应使 ...

最新文章

  1. 马云:蚂蚁金服这样做区块链!
  2. 秘罗地伤痕 -- 暂存小说草稿
  3. 提交数据库访问性能一些简单措施
  4. Spring Boot的filter简单使用
  5. docker命令入门 - 夜的第一张
  6. 使用代理为业务操作添加安全检测
  7. 电脑常见故障排除手册(黑屏、死机、重启、蓝屏)
  8. 手把手教你用jmeter做压力测试(详图)
  9. 最新版网站推广完全手册
  10. 微信小程序获取用户openid(详解)
  11. C A+B for Input-Output Practice (II) SDUT
  12. 网页超链接无法访问本地文件
  13. Euclidean algorithm
  14. 陀螺产业区块链第九季 | 如何用区块链搭建营销激励模型?
  15. 依照ILSVRC2012在matconvnet-1.0-beta23 中用imagenet训练的情况,训练自己的数据
  16. MFC 视图-OpenGL场景-CDialogBar三个界面保存为图片
  17. ​Python办公自动化之Excel最全整理
  18. Android Studio生成.jks文件
  19. xshell5之ssh隧道连接
  20. poj解题报告——poj 1528 Perfection

热门文章

  1. 本地安装Java环境详细步骤
  2. 用Python写一段代码,用来操作鼠标点击
  3. 软件工程考试选择题:模块的扇入扇出 深度宽度
  4. 小学计算机教海探航论文名字,【一附小】寻梦探航话成长 ——一附小“教海探航”论文写作分享会...
  5. 解密英文藏头诗C语言,《C语言指针进阶》PPT课件.ppt
  6. Linux系统设置共享文件夹
  7. 图书管理系统( ( JSP + JDBC + Servlet ) )实现-06: 查询所有书籍功能
  8. 统计用户输入的一串数字中每个数字出现的次数
  9. 【MySQL数据备份与恢复】【安装xtrabackup 备份工具】【完全备份流程】【增量备份流程】【差异备份流程】
  10. 计算机信息安全有哪些SCI期刊推荐? - 易智编译EaseEditing