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