bt 另类 专区 欧美 制服-brazzers欧美精品-blz在线成人免费视频-blacked黑人战小美女-亚洲欧美另类日本-亚洲欧美另类国产

學生信息管理微信小程序數據構建探析

前言:尋找寫作靈感?中文期刊網用心挑選的學生信息管理微信小程序數據構建探析,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

學生信息管理微信小程序數據構建探析

摘要:隨著信息化建設步伐的不斷加快,為滿足校園信息化建設的要求,需要為學生開發一款基于微信小程序的學生信息管理平臺,整合學校各信息系統資源,方便學生使用,減少不必要的操作。該平臺將采用python爬蟲的方式,在教務系統、學工管理系統、實習平臺等獲取相關的數據,利用爬蟲實現帶驗證碼和反爬機制的虛擬登陸,并通過scrapy框架獲取系統中的數據,實現資源整合。

關鍵詞:python;爬蟲;scrapy框架;資源整合

1引言

隨著學校信息化建設不斷推進,各類系統平臺不斷開發并投入使用,提高了學校師生的信息化水平。但在進行相關系統平臺建設的過程中,不同的部門對系統平臺有各自的要求,這樣導致學校的系統各自獨立,數據不互通,登錄賬戶也各不相同。如涉及學生的系統就包含了學工系統、教務管理系統、實習系統等,導致學校存在數據孤島的問題,數據在不同部門相互獨立存儲,獨立維護,彼此間相互孤立,形成了物理上的孤島。為了解決數據孤島的問題,需要對信息系統數據做進一步的整合。在節約學校開支的前提下,開發一款基于微信小程序的學生信息平臺,通過使用python網絡爬蟲的方式從各個信息系統進行信息的爬取最終整合到一個平臺上,方便用戶使用。本文將以獲取教務系統中的課程表為例,探討如何通過爬蟲,采用模擬登陸的方式,在微信小程序中快速獲取相關信息[1-3]。

2爬蟲設計

2.1技術概述。2.1.1Selenium。Selenium是一個模擬瀏覽器操作的測試工具。使用Selenium,安裝相應的瀏覽器驅動,便可以直接對瀏覽進行操作,就像真正的用戶在操作一樣。兼容市面上各種主流瀏覽器包括IE(7或以上)、MozillaFirefox、Safari、GoogleChrome、Opera等。Selenium主要功能包括:用于檢驗開發項目在不同瀏覽不同系統的兼容情況,利用腳本,使用selenium進行模測試工作。通過創建回歸測試檢驗用戶需要和軟件性能以檢驗系統功能是否正常。可以根據不同的開發環境和編程語言如.NET、JAVA等進行測試腳本的錄制工作[4]。2.1.2requests。requests是由python編寫的常用的網絡請求http庫。request代碼編寫簡潔,功能十分強大。在python內置模塊的基礎上進行高度的封裝,從而使得python進行網絡請求時,變得人性化,使用requests可以輕而易舉完成瀏覽器的任何操作。2.1.3ScrapyFrameworkScrapy。是現在主流的數據爬蟲框架,用以提取網絡中的各種數據,有著較為廣泛的用途。Scrapy常應用于數據挖掘、數據獲取、數據處理數據存儲等一系列過程。使用Scrapy框架可以很簡單地實現從互聯網中獲取指定網站中的內容。2.1.4TesseractOCR。TesseractORC(OpticalCharacterRecognition,光學字符識別)是一個用于文字圖形轉換的開源引擎,由HP實驗室開發并由Google進行維護。它可以通過不斷地進行機器訓練,通過優化訓練集,來改善結果集,從而獲得自己想要的結果。2.1.5PEEWEEORMPEEWEE是python中常用的數據庫映射模塊,是一個輕量級的ORM,即對象關系映射(ObjectRelationalMapping,簡稱ORM)。其特點是通過映射關系對數據進行操作,使得對各類數據庫能夠實現兼容,通過映射來實現對數據庫的各種操作,使用戶對于數據庫的使用成本大大降低。

2.2系統需求及分析。網絡爬蟲系統的開發是否成功取決于系統能否實現用戶定制功能,達到預期設計目的。因此,在網絡爬蟲系統開發前,需要對該系統需求加以詳盡分析,從而對整體設計有一個清晰的思路。目前,普遍適用的爬蟲系統都是模塊化的。模塊化的程序設計有利于代碼塊的測試與維護,而且也進一步增加了代碼的適用性。在此基礎上,只要對各個模塊進行組合,就能夠構建出一個完整的爬蟲系統。本文以獲取學院教務系統中的課程表為例,開展模塊化的編程設計。由于爬取教務系統中的數據前需要進行登錄操作,所以想要獲取系統中的相應信息就必須解決如何登錄的問題,包括如何自動填入用戶賬戶和密碼、如何自動識別驗證碼等問題[5-6]。

2.3爬蟲設計。2.3.1爬蟲模塊介紹。要爬取頁面的信息需要借助相應的爬蟲模塊,本文所使用到的模塊包括:requests,python中常用的發起網絡請求的模塊;Scrapy,python中最主流的爬蟲框架;peewee,輕量級ORM框架,用于python和Mysql等數據庫的映射操作;selenuim,用于網頁測試的模塊,使用該模塊來實現模擬登陸的環節;Pillow,python中常用的圖片處理模塊,使用該模塊對驗證碼進行處理;Tesseract,python中圖像識別的模塊,利用OCR光學字符識別對驗證碼進行識別。2.3.2流程分析。(1)使用selenium模塊調用瀏覽器打開指定頁面,利用Xpath定位到用戶名和密碼輸入框,并通過send_key()方法,填入用戶名和密碼。(2)使用Pillow模塊配合selenuim截取頁面中的驗證碼部分,通過Pillow對登陸驗證碼進行預處理。(3)使用Tesseract-OCR對驗證碼進行識別。(4)登陸到頁面后保存Cookie和session,通過requests獲取目標信息。(5)通過peewee框架將獲取到的內容存放到Mysql。數據爬取流程如圖1所示。

3系統的設計與實現

為整合校內各平臺數據資源,降低數據孤島的影響,減少學生因校內平臺眾多所帶來的不必要的操作,開發一款針對學生的信息管理微信小程序,使得學生們只需要通過手機移動端,便能獲取到校 內各平臺數據。數據獲取作為小程序構建最重要的核心內容,將通過數據爬蟲的方式進行獲取。本文以爬取教務系統中的學生課程表為例。學校的教務網站需要用戶登錄以后才能獲取相應用戶的信息,并且該網站的登陸驗證采用的是4位數字加英文混合的驗證碼的驗證模式。為了解決用戶自動登陸的問題,其中如何能夠準確地識別驗證碼將會是一個重點。登陸到頁面后,需要獲取目標信息——課程表。通過requests請求系統中的課程表頁面URL獲取相關的信息,通過對頁面的分析,對目標頁面發起請求,需要包含相關的cookie和header,否則將無法從目標頁面獲取想要的信息[7-9]。

3.1登錄信息設計。登錄信息主要涉及到登錄頁面中的用戶名、用戶密碼以及驗證,只有三者皆輸入正確后,才可以登錄到后臺的頁面。其中用戶名和密碼為確定值,而驗證碼是一個隨機值,在解決自動登陸的環節中,主要是解決驗證碼的問題。首先通過selenium操控瀏覽器打開教務系統網站,通過Xpath快速定位到網頁中的用戶名、密碼和驗證碼的輸入框。通過send_key()方法,將相關信息傳入輸入框內,驗證的值則需使用第三方庫進行機器識別。

3.2驗證碼處理設計。驗證碼圖片是頁面代碼動態生成,只能通過selenium定位元素,并配合pillow的crop()方法進行截取。由于截取到的二維碼背景帶有感染,直接通過機器識別會降低識別率,所以要對圖片進行預處理。通過pillow模塊將截取的二維碼圖片進行二值化處理。圖像的二值化,就是將圖像上的像素點的灰度值兩極分化(設置為0或255,0表示黑,255表示白),也就是將整個圖像呈現出明顯的只有黑和白的視覺效果。目的是加深字符與背景的顏色差,便于Tesseract的識別和分割。對于閾值的選取,使用0和255的平均值。并通過處理再將背景的干擾項進一步清除,如圖2所示。將預處理完的圖片交由Tesseract-OCR進行機器識別[10]。圖2驗證碼通過二值化處理效果圖

3.3信息獲取設計。登陸進系統后,獲取到頁面的cookie_jar,準備對目標信息進行獲取,通過requests的get方法對目標url發起請求并攜帶相應的cookie信息,以獲取需要的信息。但實際操作發現,并不能返回正確的結果。通過對網頁的分析發現,在發起requests請求除了要攜帶cookie外,還需要有相應的header的referer信息。通過request攜帶相應的cookie和header后,便從目標url中獲取到想要的數據。

3.4信息處理。通過scrapy爬蟲框架,對目標url發起requsets請求獲取想要的數據,將獲取到信息通過輕量級ORM的框架peewee,存儲到目標Mysql中。

4結束語

本文以爬取學校教務系統數據據為例,介紹了模擬登陸爬取數據的程序設計,并作為學生信息系統微信小程序的數據來源。該系統通過爬蟲獲取數據構建,解決了學校平臺眾多、數據孤立不互通等問題,幫助學生們減少了許多不必要的操作,在小程序中集中數據呈現給學生,方便操作。

作者:郝佳睿 單位:廣東食品藥品職業學院軟件學院

主站蜘蛛池模板: 亚洲欧美日韩中文无线码 | 国产中文在线观看 | 国产第4页 | 国产区第一页 | 精品国产一区二区三区久久久蜜臀 | 自拍偷自拍亚洲精品被多人伦好爽 | 日韩综合在线视频 | 麻豆视频一区二区 | 夜色毛片永久免费 | 五月天婷婷丁香 | 热re91久久精品国产91热 | 国产高清不卡一区二区三区 | 欧美 日韩 国产 成人 在线观看 | 亚洲国产欧美在线 | 亚洲一区二区免费视频 | 91久久精品国产免费一区 | 久久久久久国产精品视频 | 亚洲精品国产综合一线久久 | 国产成人综合欧美精品久久 | 欧洲97色综合成人网 | 日韩欧美亚洲 | 99久久综合国产精品免费 | 亚洲一区中文字幕在线观看 | 国产三级福利 | 91久久国产综合精品 | 亚洲国产精品日韩在线 | 国产精品久久久久999 | 狠狠色狠狠色合久久伊人 | 亚洲欧美日韩一区 | 久久久久久综合成人精品 | 国产91在线 | 中文 | 在线播放国产视频 | 亚洲一区综合 | 视频在线观看国产 | 亚洲综合日韩在线亚洲欧美专区 | 91国偷自产一区二区三区 | 国产精品视频久久久久 | 免费观看a毛片一区二区不卡 | 成人亚洲国产综合精品91 | 国产日韩欧美中文 | 久久99精品国产麻豆宅宅 |