python绩点计算_Python爬虫实战(3):计算大学本学期绩点

本文介绍了如何使用Python模拟登录山东大学的学生信息系统,抓取并计算本学期的成绩绩点。首先获取登录URL和POST数据,然后使用`urllib`和`cookielib`进行模拟登录,保存cookies。接着获取本学期成绩页面的URL,并抓取成绩信息。通过正则表达式提取学分和分数,计算平均绩点。文章强调了Cookie的使用和模拟登录的重要性。
摘要由CSDN通过智能技术生成

本篇目标

1.模拟登录学生成绩管理系统

2.抓取本学期成绩界面

3.计算打印本学期成绩

1.URL的获取

先贴一个URL,让大家知道学校学生信息系统的网站构架,主页是http://jwxt.sdu.edu.cn:7890/zhxt_bks/zhxt_bks.html,用了frame,一个多么古老的而又任性的写法,我们点到登录界面,审查一下元素,先看看登录界面的URL是怎样的?看到了右侧的frame名称,src=”xk_login.html”,可以分析出完整的登录界面的网址为http://jwxt.sdu.edu.cn:7890/zhxt_bks/xk_login.html,点进去看看,用浏览器监听网络。

用猎豹浏览器,审查元素时会有一个网络的选项,如果大家用的Chrome,也有相对应的功能,Firefox需要装插件HttpFox,同样可以实现。

这个网络监听功能可以监听表单的传送以及请求头,响应头等等的信息。大家看到的是登录之后出现的信息以及NetWork监听,显示了hearders的详细信息。最主要的内容,我们可以发现有一个表单提交的过程,提交方式为POST,两个参数分别为stuid和pwd。

请求的URL为http://jwxt.sdu.edu.cn:7890/pls/wwwbks/bks_login2.login,没错,找到表单数据和目标地址就是这么简单。

在这里注意,刚才的 http://jwxt.sdu.edu.cn:7890/zhxt_bks/xk_login.html 只是登录界面的地址,刚刚得到的这个地址才是登录索要提交到的真正的URL。希望大家这里不要混淆。

不知道这个系统有没有做headers的检查,我们先不管这么多,先尝试一下模拟登录并保存。

2.模拟登录

通过以上信息,我们已经找到了登录的目标地址为 http://jwxt.sdu.edu.cn:7890/pls/wwwbks/bks_login2.login

有一个表单提交到这个URL,表单的两个内容分别为stuid和pwd,学号和密码,没有其他的隐藏信息,提交方式为POST。

现在我们首先构造以下代码来完成登录。看看会不会获取到登录之后的提示页面。

__author__ = 'CQC'

# -*- coding:utf-8 -*-

import urllib

import urllib2

import cookielib

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值