第乙個爬蟲(爬一下湖北工業大學教務處成績)

2021-08-15 16:50:20 字數 1799 閱讀 9318

啥都不說,直入正題。

一、分析請求位址

通過分析教務處官網,發現請求url為

並且得到了登陸時所需要post的表單資料。

二、登陸

通過requests模擬請求,其中驗證碼部分需要定向到生成驗證碼的url,發現url對應的是乙個檔案,因此我選擇直接利用open在本地新建乙個檔案,利用write寫入,人工輸入驗證碼。

其中部分**如下:

三、篩選有用資訊

在對response物件進行分析之後,發現頁面源**很難使用正規表示式(其實是自身能力不足的緣故...)篩選出所需字串,因此這裡我們採用了beautifulsoup模組:

grade = requests.get('',headers

=headersgrade)

soup =

beautifulsoup(grade.text,"html.parser")

print(soup.h2.string)

for i in soup.find_all("td"):

print(i.get_text().replace(' ','').replace('不允許報名','').replace('已公布','').replace('已評教','').replace('\n',''))

強行使用replace,畢竟新手不知道怎麼做,但是目的達到了。

四、優化演算法

對data{}中的類似於student和password進行了處理,使每個學生都可以輸入自己的學號和密碼進行登陸。

但是還有乙個問題,每個人在登陸的時候都必須自己在相應資料夾建立對應的用來存放驗證碼的hugongda.jpg檔案,很麻煩,不知道怎麼解決。

曬一下執行結果:

有待完善。

記錄用WebMagic爬蟲框架寫第乙個爬蟲專案

import us.codecraft.webmagic.page import us.codecraft.webmagic.site import us.codecraft.webmagic.spider import us.codecraft.webmagic.pipeline.jsonfile...

寒假第乙個西北工業大的新生水賽。《全水》

the reason of failure 1 不會保留2位數字的輸出。2 邊界問題,c題的,當兩個時間相同的時候輸出的應該是什麼。3 大於小於號弄錯了,在a題的對 u 邊界的判斷,應該是 n,確保判斷的那一行小於總行數n。4 對矩陣的行列弄反了,應該細心判斷。5 矩陣反轉的時候,行與列都已經發生了...

python 人生的第乙個小爬蟲 爬小說 儲存一下

coding utf 8 from urllib import request from bs4 import beautifulsoup import chardet import re def download urls for item in urls print item 3 item 1 ...