数据抓包(网络爬虫)-正方教务管理系统登录后获取自己的课程表
生活随笔
收集整理的這篇文章主要介紹了
数据抓包(网络爬虫)-正方教务管理系统登录后获取自己的课程表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上次發的博客是:數據抓包(網絡爬蟲)-正方教務管理系統登錄
好的,今天我們來抓自己的課程表數據,說實話,都會模擬登錄了,抓個課程表的什么就不再話下了。
直接來步驟:
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());效果圖:
總結
以上是生活随笔為你收集整理的数据抓包(网络爬虫)-正方教务管理系统登录后获取自己的课程表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新织梦程序精仿小刀娱乐网资源网主题模板
- 下一篇: fiddler的http请求显示Tunn