本章主要讲述如何通过爬虫的手段登录自己学校的正方教务系统,如果你们的学校也是正方教务系统,你们也是可以尝试的。
技术栈:
前端:小程序
后端:node
前提:
1.学校使用的是正方教务系统。
2.本例子只是提供基础结构和大致流程,具体的学校系统间的鉴权逻辑需要自己处理一下,一般是cookie,refer等条件需要着重注意一下。
准备工作
- 通过终端ping通学校教务系统,获得IP,这个步骤是为了后面在请求中保证验证码正确做准备。
ping xx.xxxx.cn
注:需要去掉http://或者https:// - 适当的对node有了解
- 会自行建立项目,安装对应的模块(
cheerio
,superagent
,charset
) - 如果2和3都不会,扫下面二维码公众号私我,我教你
// 大致步骤如下
npm init // 创建项目
npm i cheerio
npm i superagent
npm i charset
分析
我先来总结一下流程:进入教务系统=>找到需要的参数=>找到请求接口=>注意观察信息=>获得结果
4个参数[用户名
、密码
、验证码
、身份
],身份
是默认值,前期可以选择先不传,所以最后要传的就是[用户名
、密码
、验证码
]
验证码的问题
用户名和密码我们可以通过input标签输入,但是验证码我们应该如何拿到呢,F12打开控制台,从标签中找到验证码,验证码的url是.aspx
结尾。
此时就不能按常规图片链接方式处理了,我们可以这样理解,首先这个验证码肯定是一个动态地址。那么我们如何获得这个动态地址,我们有教务系统的链接,xxx.xxx.xxx/(xxxxxxx)/default.aspx
,做一种假设,我把验证码上的xx.aspx
放在链接的后面,是不是就可以了?
尝试一下,发