国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python模擬登陸GDUFE教學一體化平臺

2019-11-08 18:48:04
字體:
來源:轉載
供稿:網友

爬取的網址:http://jwxt.gdufe.edu.cn/jsxsd/

最近在研究python爬蟲,就拿了自己學校的一個相當于教務系統的東西?來模擬登陸了一下。網上查了一下資料,

教務系統好像通常都是爬蟲新手&學生的摯愛,因為登陸簡單不用驗證碼等等等。。

其實這個還是挺簡單的,但是我在分析HTTP的請求和響應的時候中了一個坑,所以搞了一天。。真是弱,好煩微笑微笑微笑

先說說用到的python庫是urllib.request和http.cookiejar。模擬登陸需要使用cookie去保持登陸的狀態,若不懂就自行百度。

這里主要想聊一聊如何抓包和分析HTTP請求和響應的消息頭。

先看看這個系統的登陸界面:

我就直接登陸然后用360自帶的功能進行抓包,看看在登陸的時候模擬器和服務器之間干了些什么。登陸前按F12就可以了:

我們關注Network,里面顯示的是抓到的包。看名字第一個就是登陸相關的,點進去看看吧:這里就是登陸的時候發送和收到的請求和響應消息,有了這些信息,我們就可以模擬瀏覽器去登陸系統了。

Request Headers:

請求的header在這里不重要,這個系統似乎也沒有任何手段去阻攔程序去訪問,有些網站就會根據User-Agent去識別你是否瀏覽器訪問。

python就可以根據這個參數偽裝成瀏覽器去訪問了。

Form Data:

這里就是登陸的時候需要提交的表單數據,這里只需要提交賬號和密碼

Response Headers:

這里是服務器響應的消息,Location是重定向的地址。表單提交后登陸成功就會轉到這個地址。

這里說說我踩到的坑,看看第一行的Request URL是表單提交請求的URL,也就是說,表單應該提交到這個網址,這里才是程序登陸的入口!!

而不是我一開始給的網址:http://jwxt.gdufe.edu.cn/jsxsd/;考慮一下程序的行為:把消息頭表單數據提交到這個網址,它并沒有表單處理的功能,

當然就登陸失敗了,雖然它還是會返回一個cookie給你,但是使用這個cookie并不能登陸。

下面是代碼:

from http import cookiejarfrom urllib import requestfrom urllib import parse#這個是提交表單的urlurl = 'http://jwxt.gdufe.edu.cn/jsxsd/xk/LoginToXkLdap'file = 'C:/Users/Administrator/Desktop/cookie.txt'post_data = parse.urlencode({	'USERNAME':'14251102221',	'PASSWord':'291608411'}).encode(encoding='utf8')header = {	'Referer':'http://jwxt.gdufe.edu.cn/jsxsd/',	'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'	}req = request.Request(url,post_data,header)#使用cookie創建自己的openercookie = cookiejar.CookieJar()handler = request.HTTPCookiePRocessor(cookie)opener = request.build_opener(handler)f = opener.open(req)#登陸成功后保存了cookie,然后就可以訪問登陸后的其他url了,這個是課程表的urlgradeURL = 'http://jwxt.gdufe.edu.cn/jsxsd/xskb/xskb_list.do'result = opener.open(gradeURL)f = open('C:/Users/Administrator/Desktop/1.html','wb')f.write(result.read())


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三河市| 香格里拉县| 双牌县| 昭平县| 石台县| 阜平县| 石渠县| 沁源县| 德令哈市| 汾西县| 荔波县| 扎兰屯市| 巨鹿县| 彰武县| 广饶县| 临夏县| 井陉县| 台中县| 静宁县| 稻城县| 崇仁县| 海门市| 安宁市| 涡阳县| 奇台县| 贵州省| 博客| 南丹县| 乌恰县| 汾阳市| 天长市| 荔浦县| 西乡县| 偏关县| 锡林浩特市| 延川县| 广宁县| 德惠市| 顺昌县| 彭州市| 新晃|