数据抓包(网络爬虫)

504次阅读
没有评论

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

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

直接来步骤:

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());

效果图:

数据抓包(网络爬虫)

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-10-28发表,共计1599字。
新手QQ群:570568346,欢迎进群讨论 Python51学习