相关准备:
火狐浏览器, Android Studio, RecyclerView, CardView, 正则表达式
实现步骤:
1.打开武大教务系统页面,利用开发者工具中的爬虫插件开始爬取
这里点击任意一项,都可以看到具体的请求。
2.查看验证码的来源
这里可以看到验证码的网址,可以直接通过访问这个网站获取验证码图片。
3.尝试登陆一遍,查看网络请求过程
主要关注的是302重定向这个步骤。
这里可以看到请求是要带着cookie和用户名密码的。其中我们的密码用MD5的加密方法进行了加密。
4.获取课表
值得注意的是,这个页面实际上并没有课表的信息,可以右键,查看网页源代码,发现这个页面的源代码没有课表信息。还需要跳到另外一个页面。此外,这里还带有另外的参数csrftoken,这个参数其实是可以在这个页面中抓取到的。
这个是跳转之后的课表代码页面。
此外这一请求也是可以在爬虫中看到的。
action参数实际上是固定的。
5.通过正则表达式提取关键词
通过以上步骤已经得到了网页源代码,接下去直接用正则表达式获取关键字词,之后放到列表中就完成了。
代码实现
(记得加上网络权限)
工程目录: