数据抓包(网络爬虫)-正方教务管理系统登录后获取自己的课程表

上次发的博客是:数据抓包(网络爬虫)-正方教务管理系统登录

好的,今天我们来抓自己的课程表数据,说实话,都会模拟登录了,抓个课程表的什么就不再话下了。

直接来步骤:

1.首先还是监视浏览器中得到自己课程表的过程,主要就是访问课表连接的那个过程。

2.从浏览器中获得课程表的链接。

3.需要用到登录成功的那个cookie。

4.添加必要参数,访问,获取数据。

请看源代码:

//将当前源码的字符(我的源代码都是utf-8的编码)转换为教务管理系统的编码(gbk),因为这里简单起见,我是直接用的我的名字获取的,如果要更实用这个是需要从获取到的网页源码中找的
String tableUrl = "http://1.2.3.4/xskbcx.aspx?xh=12332112345&xm="+new String("帅哥".getBytes("utf-8"),"gbk")+"&gnmkdm=N121603";//12332112345是学号
HttpClient httpClient = new HttpClient();
//用Get请求
GetMethod get = new GetMethod(tableUrl);
//增加相应的请求头部
get.addRequestHeader("Accept", "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*");
get.addRequestHeader("Referer","http://1.2.3.4/xs_main.aspx?xh=13101010115");
get.addRequestHeader("Accept-Language","zh-Hans,en-US;q=0.7,en;q=0.3");
get.addRequestHeader("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; GWX:QUALIFIED; Shuame)");
get.addRequestHeader("Accept-Encoding","gzip, deflate");
get.addRequestHeader("Connection","Keep-Alive");
get.addRequestHeader("DNT","1");
get.addRequestHeader("Host","61.139.105.138");
//这个cookie是之前登录用到的cookie
String Cookie = request.getParameter("Cookie");
//添加cookie到请求头部
get.addRequestHeader("Cookie",Cookie);
// new HttpClientLog().printRequestHeadersLog(get);
// 执行方法
httpClient.executeMethod(get);
// new HttpClientLog().printResponseLog(get);

//设置相应回本地的编码是获得到的网页的编码
response.setCharacterEncoding(get.getResponseCharSet());
//直接将信息显示出来,这个部分就是你的课表信息了,可以对这部分数据做处理,是一个table的html
response.getWriter().print(get.getResponseBodyAsString());

效果图:

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值