无聊的python课程_无聊的钢镚的python学习之路
目標實現:通過網絡爬蟲爬取教務網的成績;能夠自動評教(全部好評,無評語);通過提前存入的課程代碼,選取課程;
已實現目標:通過網絡爬蟲爬取教務網的成績;
目標分析:
第一:實現模擬登錄。
第二:跳轉到指定網頁并進行網頁解析。
第三:打印輸出。
通過頁面的分析,需要做到以下事情:
第一:接收Cookie并維持對話
第二:識別驗證碼
第三:構建請求頭和需要提交的表單
第四:請求指定網頁
第五:進行網頁解析找出需要的成績信息
第六:格式化輸出
代碼展示:
第一步:訪問教務網登錄頁面,用resquets的session方法維持會話(會幫我們獲取和管理Cookie);用BeautifulSoup解析得到兩個驗證參數。
第二步:同樣利用resquests的session方法獲取驗證碼,教務網的驗證碼為一個url鏈接(維持會話幫助我們獲取的驗證碼為我們剛剛訪問頁面展示的,即和得到的驗證參數相匹配);由于驗證碼比較簡單,我采用的是利用tesserocr進行自動識別驗證碼。
第三步:從外部獲得學號,密碼等信息,利用第一步得到參數,同樣利用requests的session方法提交post請求,實現模擬登錄。
第四步:利用requests的session的方法get到成績查詢頁面,并傳入網頁分析函數,接著傳入格式化輸出函數;
第五步:利用BeautifulSoup對網頁進行解析,并利用print函數,進行格式化輸出。
在這次目標的達成中,遇到了各種各樣的錯誤,從第三方庫安裝和調用問題到網頁請求失敗。在經過不懈的努力,終于勉強能夠達成第一個目標了,可能在上述代碼中還存在不合理的地方,希望大家能夠留言指出,謝謝!!!(雖然可能沒有人看)我會持續對這個代碼的功能進行完善。終極目標是能夠根據教務系統的學業對比和評教實現全自動選課!
總結
以上是生活随笔為你收集整理的无聊的python课程_无聊的钢镚的python学习之路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 纯文本文件的字符编码未声明_浅谈几种常见
- 下一篇: javascript写入xml_Java