Android实现正方系统的登录以及课程表,成绩获取和空课室的查询(二)

这篇博客介绍了如何使用Java爬虫获取正方教务系统的课程表信息。作者通过HttpWatch抓包工具分析登录后的POST请求参数,利用Jsoup解析HTML来提取所需数据。虽然解析过程复杂,但作者鼓励读者亲自实践以理解其原理。博客预告后续将分享基于人脸识别的签到系统实现。
摘要由CSDN通过智能技术生成

      上篇说了怎么实现登录的原理以及实现,接下来就是实现如何获得课程表,成绩以及空课室的信息了。其实原理很简单,如果你真的有认真看上一篇的登录实现步骤的话,其实很快就会得到结果。

       因为原理都差不多,这里我只说如何获取课程表的信息,因为其他的功能都和这个功能的数据获取差不多。

      那么下面就来进行对课程表的获取把!

      登录正方教务系统,然后点击"学生个人课表",我们可以看到以下这个界面

    

   我们这时候就要用到上篇所教的HttpWatch进行抓包,注意要在点击"学生个人课表"进行Record,接下来我们就会获得以下信息

    

    点击这个post请求,我们可以看到

     

    是不是觉得很熟悉,没错,这个就是正方教务系统获取特定数据所需要的参数,所以按照我们之前那样把这些参数都加入到post中就可以得到对应的数据

     那么我们看看我们究竟会得到什么数据?

    

   

    之前没碰过html的人可能会惊呆了,这究竟是什么东西?如果觉得看到这个不知道是什么,请自己看下html,这里就不说了。

    现在我们看上去可以看到我们的信息在里面了,但是里面夹杂着很多我们不需要的东西,那我们究竟要怎么获取到我们需要的数据?

    在我接触java爬虫的时候,我也不知道究竟要怎么处理下载下来的html,但是有一天看到了hongyang大神的博客,学习了基本的java爬虫以及如何获取里面的信息,真的

    觉得收益无穷,也是因为看了他的博客,我才会开启了这几个信息对java爬虫的兴趣,并进行对学校新闻的爬取,当然也包括这个。

    所以如果这里看完之后觉得对html的数据解析不够明白,可以看一下hongyang大神的博客学习学习。


    说了这么多废话,那么究竟怎么才能获取到html中的特定数据呢?没错,就是jsoup。通过jsoup进行html的解析。其实通过jsoup进行对html进行解析没什么难度,难度只是

在于你要分析你下载下来的html,然后根据一些标签的特点或者规律进行适当的解析,这是我在实现解析时候的越到的一个大困难。无疑,解析我学校的课程表真的很痛苦,因为它有些格式不是很好,所以解析的时候我尽量要避免。

     下面来说一下究竟怎么解析html:

      




public class ExtractService
{
	/**
	 * @param rule
	 * @return
	 */
	public static List<NewsInfo> extract(Rule rule)
	{

		// 进行对rule的必要校验
		validateRule(rule);

		List<NewsInfo> datas = new ArrayList<NewsInfo>();<span style="font-family: Arial, Helvetica, sans-serif;"> </span>

		NewsInfo data = null;
		try
		{
			/**
			 * 解析rule
			 */
	
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值