亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于網(wǎng)絡爬蟲技術的教學管理系統(tǒng)教師客戶端的實現(xiàn)方法研究

        2022-03-07 04:35:04陳禮念王瑞超
        現(xiàn)代計算機 2022年24期
        關鍵詞:功能教學

        魯 斌,陳禮念,王瑞超

        (五邑大學智能制造學部,江門 529020)

        0 引言

        隨著現(xiàn)代信息技術的發(fā)展,校園信息化經(jīng)過多年的建設,為學校提高行政管理效率和教學質量、促進科研和教研教改等方面都作出了巨大的貢獻。目前幾乎所有的學校都擁有了成熟完備的信息化系統(tǒng),高等院校尤其如此。高校的信息化建設更加完善,基本上都建成了自己的校園局域網(wǎng),并接入了互聯(lián)網(wǎng)。由于主管部門的關懷和高校自身的重視,很多高校是把信息化當做基礎設施建設的內容之一。近年來在大數(shù)據(jù)和云計算等新技術的加持下,高校里的各種軟硬件系統(tǒng)比比皆是[1-3]。然而,這種遍地開花的信息系統(tǒng)在給師生提供自動化操作便利的同時也帶來了一些麻煩。比如,現(xiàn)在高校里大多數(shù)信息系統(tǒng)都是B/S架構的,這種架構意味著系統(tǒng)的大部分功能都在服務器端實現(xiàn),通用性強,但是一些個性化操作卻難以實現(xiàn)。相比B/S 架構,C/S 架構的界面和操作可以豐富很多,能滿足用戶的個性化功能要求。由于高校的各種管理系統(tǒng)都是用了多年的成熟系統(tǒng),一般不會輕易更改或升級,即使改動其代價也非常高。然而,有些系統(tǒng)經(jīng)過長時間的使用,由于使用者的習慣或其他某些原因,可能會產(chǎn)生一些新的個性化使用需求。那么,在不改變現(xiàn)有信息化系統(tǒng)軟硬件配置的情況下,根據(jù)B/S和C/S 兩種架構的特點,人們可以為新的個性化需求而定制一些專用的功能操作。

        本文正是基于這種思想而為學校中最常使用的教學管理系統(tǒng)增加了一個教師或教學管理人員使用的PC 客戶端,實現(xiàn)一些個性化需求。為了實現(xiàn)這一目標,本文利用網(wǎng)頁爬蟲技術從教學管理系統(tǒng)服務器端爬取一些必要的數(shù)據(jù),用于定制PC客戶端程序。

        1 個性化需求

        教學管理系統(tǒng)大部分都是B/S模式的,五邑大學的教學管理系統(tǒng)也不例外,能滿足絕大部分通用需求。五邑大學教學管理系統(tǒng)功能比較全面,能做到統(tǒng)一用戶界面,并操作簡單。教學管理系統(tǒng)的使用者基本上是學校的師生,細分之下,包括系統(tǒng)管理員、在冊的學生、教學的教師,還有一些參與教學活動的行政管理人員等用戶。不同角色的用戶,其使用權限也各自不同,使用的頻率也都不一樣。相比之下,學生應該使用的最少,主要就是在開學時看一下課程表,期末時看一下考試時間和考試分數(shù)。得益于移動互聯(lián)網(wǎng)的興盛和手機的普及,不少學生會使用類似“超級課程表”之類的APP 或微信小程序,直接訪問教學管理系統(tǒng)的頻次就更加低了。在系統(tǒng)運行穩(wěn)定之后,系統(tǒng)管理員的工作也越來越少。而老師和教務員等教學相關的工作人員就成為了訪問教學管理系統(tǒng)的主力軍。出于工作需要,他們使用教學管理系統(tǒng)更加頻繁。因此,對教學管理系統(tǒng)的系統(tǒng)管理端和學生端的研究并無必要,但是需要對教學管理系統(tǒng)教師端的功能進行一些梳理。對于參與教學活動的專任教師和教學管理人員來說,教學管理系統(tǒng)主要分為三大功能模塊:學籍管理、教務管理和個人事務。五邑大學的教學管理系統(tǒng)在教學相關的工作人員所能看到的功能框架如圖1所示。

        圖1 教學管理端的框架圖

        從圖1可以看出,五邑大學的教學管理系統(tǒng)的教師端功能還是比較全面的,但是整個系統(tǒng)的功能遠遠不止這些,并非全貌。其中,教務管理模塊包括排課管理、選課管理、考務管理和成績管理等功能子模塊;學籍管理對于教學教務人員來說,主要用于對學生的基本學籍信息的查詢,這個功能無需多言;個人事務模塊主要是針對專任教師的,又分為教學工作、成績管理、信息查詢和實踐管理等多個功能子模塊。

        在眾多的子模塊里,排課管理子模塊的使用者一般是教輔人員,根據(jù)排課規(guī)則在上學期期末對下學期的課程進行開課安排,最終形成各門功課或各個老師具體的課程表;該模塊還提供一個課堂速報的查詢,給學生一個快速報修某課程的機會。選課管理子模塊方便學生根據(jù)自己的專業(yè)或興趣來選擇修哪些課程,并由教學管理人員進行最后的審批;而教師可以在此查詢到相關學生修課的詳細情況。考務管理子模塊用于當前學期各門功課的期末考試安排等,這個模塊主要是確定課程考試的時間、地點和監(jiān)考老師。而考試類型有教務處統(tǒng)考、學院考和隨堂考三種,這是學期初由任課老師根據(jù)課程的性質和教學大綱而選擇的。如果某門功課的考試類型是教務處統(tǒng)考,那么就有教務處的工作人員統(tǒng)一安排時間和地點,再由該門功課的開課院系的教務員安排監(jiān)考老師。如果考試類型是學院考,那么就有開課院系的教務員直接確定考試時間、地點和監(jiān)考老師。對于隨堂考,一般就安排在該門功課的最后一次課考,或者上完課了由任課老師和學生商量時間和地點;如果學生人數(shù)較多,可以要求教務員安排監(jiān)考老師。教務管理中的成績管理子模塊則主要用于學生成績的查詢,教師或教學管理人員可以從課程成績總庫里以學期學年、修讀方式、學生院系、課程大類、年級、課程分類、專業(yè)名稱、考試性質、成績方式、課程名稱、學生姓名或學號等關鍵詞進行查詢,也可以統(tǒng)計分析報表。教學工作子模塊提供的功能較多,與教學相關的一些功能,任課老師都能使用。成績管理子模塊提供了成績錄入的入口。信息查詢子模塊提供了個人信息的維護和培養(yǎng)方案的查詢并下載的功能。實踐管理子模塊主要用于對大四學生的畢業(yè)設計或論文題目的一些管理。

        因為教學管理系統(tǒng)是通過瀏覽器打開的,瀏覽器端查詢?yōu)g覽的功能非常強大,但是某些業(yè)務處理能力相對較弱。比如打印的處理,瀏覽器自帶的打印功能一般只能打印當前頁面的內容,這顯然不能滿足各種信息系統(tǒng)的要求。而為了滿足打印的需求,B/S 模式的系統(tǒng)一般會把數(shù)據(jù)導入到Excel 或Word 文檔里再下載到客戶端本地,然后利用Office的打印控件實現(xiàn)打印的功能。這樣的打印流程稍顯繁瑣。

        以前每個學期教師的課程一旦安排,那么課表基本上就固定了,每周上課的時間和地點不會發(fā)生太大的變化。而現(xiàn)在情況發(fā)生了變化,新的排課體系排出來的上課安排每周都可能不一樣,因此教師訪問教學管理系統(tǒng)中課表那一欄的頻率大大增加,嚴重的時候可能每周都會登錄教學管理系統(tǒng)去查看自己的課表。如果每次僅僅是為了查看課表而登錄教學管理系統(tǒng),也是有點繁瑣。

        教學管理系統(tǒng)還有安排監(jiān)考的功能欄目。全校每一門功課的考試由教務處匯同各個院系的教務員根據(jù)實際情況統(tǒng)一安排,確定了考試的時間地點之后,再由相關院系的教務員安排監(jiān)考的老師,然后教務員發(fā)通知給監(jiān)考老師。這是教學管理系統(tǒng)中監(jiān)考安排的通用流程。然而,由于一些院系出臺了一些新的績效政策,監(jiān)考次數(shù)也包含在年終的績效里,這在之前是沒有的。教務員需要統(tǒng)計每一學年本學院每個老師的監(jiān)考次數(shù),而教學管理系統(tǒng)不能直接得出總的數(shù)據(jù),只能由教務員手工計算了。

        還有很多其他的功能需求,是由各個崗位的不同用戶基于自己的操作習慣或新的形勢而產(chǎn)生的,限于篇幅,在此不一一贅述。如果增加一個定制化的客戶端,就可以增強客戶端包括打印在內的多種業(yè)務處理能力,實現(xiàn)不同用戶的個性化需求。

        2 系統(tǒng)架構及組成

        本客戶端設計的時候已經(jīng)充分考慮到可伸縮性,以方便未來的功能擴展。另外,無論功能怎么擴展,本客戶端還必須具備的一些基本功能。因此,規(guī)劃本客戶端的基本框架如圖2所示。

        從圖2可以看出,本文所述的程序基礎功能如下:

        圖2 基本框架圖

        (1)常用信息查詢??梢杂糜诓樵冃v和本校作息時間這類全校公共信息。

        (2)院系通訊錄。用于保存維護本院系的教師通訊錄,同時也用于排功能的實現(xiàn)。

        (3)備份。設定好備份路徑,可以執(zhí)行手工數(shù)據(jù)備份和還原功能。

        (4)教師課程表。利用爬蟲技術把每個學期當前客戶端用戶的課程表爬取到本機存放,并隨時能顯示出來。這樣教師只需登錄一次教學管理系統(tǒng)就獲取了當前學期的課表了。

        (5)排考管理。以院系通訊錄為基礎,選取合適的教師參加各門課程的監(jiān)考,以盡量保證參與監(jiān)考的所有老師每一學年的監(jiān)考次數(shù)相等或大致相等。

        (6)一些可擴展性的功能。這是預留部分,除了課程表和排考管理之外,依據(jù)未來具體使用者的使用習慣或要求而開發(fā)的一些功能。

        上述這些基本功能一般都會以菜單項的形式顯示在主界面的菜單欄上。

        3 關鍵技術實現(xiàn)

        在對現(xiàn)有軟硬件系統(tǒng)不進行改造升級的前提下,又不改變用戶已經(jīng)形成的操作使用習慣,一個合適的方法就是在定制化的客戶端里整合進去一個瀏覽器控件。長期以來,瀏覽器分為三個主要的陣營,谷歌為首的Chrome、火狐瀏覽器、微軟的瀏覽器。經(jīng)過多年的競爭和發(fā)展,火狐瀏覽器已然式微,微軟的瀏覽器中一系列版本的IE 已經(jīng)被自家放棄了,新的Edge 瀏覽器使用的其實也是與Chrome 相同的內核,只是各自進行了不同的封裝。國內的一些公司開發(fā)的瀏覽器如搜狗、360等都采取了雙核模式,其兼容模式是封裝了IE 內核,極速模式也是封裝了Chrome 瀏覽器組件。所以,可以說目前很多瀏覽器幾乎都使用了同一種內核:Chromium Embedded Framework(CEF),這是一個支持HTML 5標準的開源框架??紤]到兼容性和易用性,本文也采用基于CEF 框架封裝的瀏覽器控件CEFSharp,它是一款.Net 編寫的瀏覽器包[4-5]。使用C#作為主要的編程語言,把CEFSharp 嵌入到程序中,開發(fā)一個Winform 桌面程序,使用Microsoft Access 數(shù)據(jù)庫保存運行中產(chǎn)生的各種信息,以增強教師端的業(yè)務處理能力。

        3.1 CEFSharp的使用

        定制化的客戶端是由WinForm 窗體構成,并嵌入CEFSharp 組件。再在WinForm 窗體上添加一個Menu控件,通過各種菜單項與CEFSharp交互實現(xiàn)一些定制化的爬蟲功能。CEFSharp 組件內置了很多接口,用于控制右鍵菜單、彈出窗口的方式、鍵盤監(jiān)聽、下載控制、協(xié)議控制、請求及響應控制等。在程序啟動后,使用者看到的就是一個瀏覽器的界面。爬取特定的頁面內容時,在繼承了ResourceRequestHandler 接口的類中,重寫OnResourceLoadComplete 等方法,以截獲想要的返回數(shù)據(jù)。

        3.2 爬蟲技術

        通過網(wǎng)絡爬蟲技術可以獲取網(wǎng)絡數(shù)據(jù)并進行處理。通用的爬蟲程序一般通過一個或若干個入口網(wǎng)址按照一定的策略抓取網(wǎng)頁中所需內容并保存下來,再提取并過濾網(wǎng)頁中的有效地址放到待抓取的網(wǎng)址隊列里作為下一次爬取的入口地址??梢娕老x程序的主要框架包括4個部分:地址管理模塊、網(wǎng)頁下載模塊、網(wǎng)頁解析模塊和數(shù)據(jù)存儲模塊。地址管理模塊用于存放和管理各種超鏈接,包括已經(jīng)爬取過的網(wǎng)頁鏈接和尚未爬取的網(wǎng)頁鏈接。網(wǎng)頁下載模塊的主要功能是通過模擬客戶端發(fā)送HTTP請求,待服務器端響應后下載網(wǎng)頁以實現(xiàn)爬取工作。網(wǎng)頁解析模塊是爬蟲程序的核心組件,主要用于對下載存儲的網(wǎng)頁信息進行解析,以獲得更加直觀有用的數(shù)據(jù)。數(shù)據(jù)存儲模塊的功能是把解析模塊解析出來的數(shù)據(jù)存儲起來,存儲為文件或者直接存儲到數(shù)據(jù)庫里用于后續(xù)的利用[6-9]。后續(xù)的使用因應用場景不同而不同。

        本文的爬蟲程序的技術原理與通用性爬蟲類似。因為是針對特定網(wǎng)站的,只需要分析該網(wǎng)站中某個具體網(wǎng)頁的內容及地址鏈接。在具體的實踐過程中,需要用到抓包工具對網(wǎng)絡傳輸發(fā)送與接收的數(shù)據(jù)包進行分析。抓包工具有很多,但是既然本文僅針對教學管理系統(tǒng),沒有特別高的需求,所以就利用瀏覽器自帶的開發(fā)者工具(F12功能)作為抓包工具對相關頁面進行分析,確定請求方法及標頭、響應方式及標頭、涉及元素或事件和所要獲取數(shù)據(jù)的格式,通常為XML或JSON等格式;再想辦法解析這些數(shù)據(jù)提取到有用的信息保存到本地數(shù)據(jù)庫中;最終在本地以其他的形態(tài)呈現(xiàn)出來方便使用者利用。

        3.2.1 教師課程表的提取及展示

        用戶登錄教學管理系統(tǒng)后,客戶端會跟蹤記錄登陸者的賬號(一般是教工號)。任課老師訪問一次自己的課表之后客戶端就會通過內置的爬蟲程序爬取到該老師當前學期的課表數(shù)據(jù),并保存在本地數(shù)據(jù)庫里,以后該老師不需要登錄系統(tǒng)就可以查看自己的當期課表了,并且隨時可以打印自己的課程表。

        在點擊課表查詢子模塊時,利用瀏覽器的F12 功能,可以查看對應頁面的組成和各種元素,以及請求標頭與響應標頭等數(shù)據(jù)。響應標頭的信息顯示課程表數(shù)據(jù)是JSON 格式,因此,在OnResourceLoadComplete 方法中,通過重寫實現(xiàn)IResponseFilter 接口進行攔截和篩選響應數(shù)據(jù)。最終呈現(xiàn)結果如圖3所示。

        圖3 課程表圖示

        圖3顯示的信息就是正式的課程表內容,點擊“打印課表”按鈕就可以打印出正式的課程表。如果已經(jīng)填寫了班級聯(lián)系人,在打印的時候也會在課程表下方附上班級聯(lián)系人一并打印出來。

        3.2.2 排監(jiān)考信息的提取及展示

        因為監(jiān)考場次會與收入掛鉤,所以盡量顯得公平并且次數(shù)明確而不會混亂,只有這樣才能讓人沒有怨言。目前的做法是針對某一門課程的考試院系那一級的教學管理人員會根據(jù)實際情況確定考試的時間和地點,再選擇合適的監(jiān)考老師。監(jiān)考老師的選擇要考慮兩個情況,一是優(yōu)先選擇監(jiān)考次數(shù)最少的老師,二是選擇的監(jiān)考老師不能和他們自己的課程或考試有沖突。安排好監(jiān)考老師后教學管理人員會把這次監(jiān)考記錄下來,統(tǒng)計各個老師的監(jiān)考次數(shù),以方便下次排考時參考。雖然排考都是在教學管理系統(tǒng)里操作的,但是目前的教學管理系統(tǒng)里并沒有直接統(tǒng)計各個老師的監(jiān)考次數(shù),所以每次排考都要計算一下哪些老師的監(jiān)考次數(shù)最少。有些負責排考的教學管理人員就只好使用最傳統(tǒng)的做法,每一學年就自己打印一張教師監(jiān)考次數(shù)表,然后在監(jiān)考次數(shù)那一列里為每個老師畫“正”字,一個“正”字表示監(jiān)考5次,這其實是很不方便的。

        為了減輕排考人員的工作,實現(xiàn)自動記錄統(tǒng)計監(jiān)考次數(shù),本客戶端設計了一個同事通訊錄,包括教工號、姓名、電話號碼等信息。每次教學管理人員登錄系統(tǒng)安排考試的時候,本客戶端會再生成一個線程用于爬取已經(jīng)發(fā)布了的正式考試信息保存到本地數(shù)據(jù)庫里。利用瀏覽器的開發(fā)者工具對考試安排的查詢請求的響應標頭進行分析,發(fā)現(xiàn)返回的也是JSON 格式的數(shù)據(jù)。這些JSON 數(shù)據(jù)是嵌套的,第一個對象的值就是安排考試的總數(shù)。根據(jù)這個數(shù)值,再結合第二個對象里封裝的每條排考記錄的序號,并比對本地數(shù)據(jù)庫里的數(shù)據(jù),爬蟲程序會模擬分頁爬取到當前所有沒爬過的記錄。這要記錄瀏覽器訪問時的cookies 內容,并以此模擬向服務器發(fā)送多頁的請求。有時數(shù)據(jù)量可能會比較大,所以爬取程序是在后臺以異步線程的方式運行,以避免影響到其他操作。爬取下來并經(jīng)過整理后的監(jiān)考記錄如圖4所示。

        圖4 監(jiān)考記錄顯示

        從圖4可以看出,抓取的數(shù)據(jù)經(jīng)過取舍整理后保留了主要的信息。當已經(jīng)公開的監(jiān)考信息被爬取到本地后,就可以統(tǒng)計每個老師的監(jiān)考次數(shù)了,并按從小到大的順序展示出來。在挑選新的監(jiān)考老師時,排考人員可以方便地選擇合適的監(jiān)考老師,也無需再通過畫“正”字來記錄每個老師的監(jiān)考次數(shù)了。

        4 結語

        利用爬蟲技術對教學管理系統(tǒng)進行客戶端開發(fā)是一個動態(tài)的、長期的過程,因為個性化需求會發(fā)生變化。本文介紹了當前的教學管理系統(tǒng)的特點和架構,并探討了當前的一些需求,進而論述了利用爬蟲技術而開發(fā)的教學管理系統(tǒng)客戶端的基本框架、思路及關鍵技術??蛻舳顺绦蜻€考慮了可擴展性,對教學管理系統(tǒng)的使用起到了良好的輔助作用。這種技術不僅僅可以用于教學管理系統(tǒng),還可用于校園的其他Web 系統(tǒng)或者其他領域。因此,本文所述具有一定的應用價值,可以舉一反三推廣到其他領域,期待能為其他高校的建設提供參考。由于內置了CEFSharp,本客戶端程序也可以當成一般的瀏覽器使用。不過,有一點不足,就是CEFSharp安裝包有些大,比較占用空間。

        猜你喜歡
        功能教學
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        微課讓高中數(shù)學教學更高效
        甘肅教育(2020年14期)2020-09-11 07:57:50
        如何讓高中生物教學變得生動有趣
        甘肅教育(2020年12期)2020-04-13 06:25:34
        “自我診斷表”在高中數(shù)學教學中的應用
        東方教育(2017年19期)2017-12-05 15:14:48
        關于非首都功能疏解的幾點思考
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達功能
        對外漢語教學中“想”和“要”的比較
        唐山文學(2016年2期)2017-01-15 14:03:59
        中西醫(yī)結合治療甲狀腺功能亢進癥31例
        辨證施護在輕度認知功能損害中的應用
        美女视频一区二区三区在线| 亚洲熟妇大图综合色区| 久久久亚洲精品一区二区| 与最丰满美女老师爱爱视频| 国产色在线 | 日韩| 麻豆国产人妻欲求不满| 精品无码国产一二三区麻豆| 无码日日模日日碰夜夜爽| 富婆叫鸭一区二区三区| 文字幕精品一区二区三区老狼| 亚洲国产午夜精品理论片在线播放| 国产av天堂成人网| 国产成人综合亚洲国产| 欧美精品无码一区二区三区| 一性一交一口添一摸视频| 国产精品无码久久久一区蜜臀 | 欧美日韩国产色综合一二三四| 日韩精品一区二区av在线| 男人的天堂手机版av| 久久超碰97人人做人人爱| 久久精品国产亚洲AⅤ无码| 精品奇米国产一区二区三区| 久久婷婷五月综合色高清| а√天堂资源8在线官网在线| 久久久久人妻精品一区5555| 成h视频在线观看免费| 国产成人喷潮在线观看| 麻豆国产成人精品午夜视频 | 蜜臀av999无码精品国产专区| 中国精品久久精品三级| 亚洲精品一区二区三区国产| 丰满人妻久久中文字幕| 日本成本人三级在线观看| 日韩精品久久久中文字幕人妻 | 亚洲又黄又大又爽毛片| 日本熟妇另类一区二区三区| 东北妇女肥胖bbwbbwbbw| 8888四色奇米在线观看| 亚洲亚洲亚洲亚洲亚洲天堂| 国产91色综合久久免费| 久久午夜夜伦鲁鲁片免费无码|