參考網頁:文藻外語大學校務系統
可以懂邏輯
1.
首先,先導入PY程式所需要的套件,
2.
再來,連入文藻校務系統的鏈結
3.
針對驗證碼解析做CAPTCHA轉換
4.
(第四段不懂用意—def get_md5(data:
bytes))
5.
使用MD5取得root權限
6.
核對圖片驗證碼請求
7.
如果login_page_request.status_code非200則回傳錯誤(False)
8.
比對正確性
9.
連入放置學生教職員帳號密碼的資料庫,比對本人的帳密有無錯誤
10.
如果狀態為302則代表登入成功
11.
印出登入狀態、登入請求狀態
以上大概解釋,如果有錯請學長指導
我可能變數命名比較辣雞一點
從 __main__那開始
requests這一個套件有
session 這功能
會自己做好cookie 管理
—
get_md5
這一個是計算md5的function
輸入是bytes
原則上是輸入圖片的bytes
我這邊的root 是指 DOM 的 root
我這邊是用lxml.etree去解析html的
一般學爬蟲比較會看到beautifulsoup
—
流程
先請求login.htm 的頁面資訊 (對方也會給我cookie 這裡 requests.session處理掉了 )
拿這個頁面的html 給get_captcha_text
把這個html中的 驗證碼網址給parse 出來
parse 之後 再拿session 去 get 圖片檔案
同時在把圖片檔案(bytes) 給 get_md5 再拿剛剛那個表 就能知道這張圖片是哪一個字母了
接下來就是拿SYSTEM_MAGICNUMBER
這一個就只是在login.htm 裡 直接透過lxml.etree 去解析 (我解析都用Xpath)
最後就是向loginprocess 去登入
他們登入成功是給302
0 意見:
張貼留言