国产丁香婷婷妞妞基地-国产人人爱-国产人在线成免费视频麻豆-国产人成-91久久国产综合精品-91久久国产精品视频

公務員期刊網 論文中心 正文

學生信息管理微信小程序數據獲取構建

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了學生信息管理微信小程序數據獲取構建范文,希望能給你帶來靈感和參考,敬請閱讀。

學生信息管理微信小程序數據獲取構建

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

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

1引言

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

2爬蟲設計

2.1技術概述

2.1.1SeleniumSelenium是一個模擬瀏覽器操作的測試工具。使用Selenium,安裝相應的瀏覽器驅動,便可以直接對瀏覽進行操作,就像真正的用戶在操作一樣。兼容市面上各種主流瀏覽器包括IE(7或以上)、MozillaFirefox、Safari、GoogleChrome、Opera等。Selenium主要功能包括:用于檢驗開發項目在不同瀏覽不同系統的兼容情況,利用腳本,使用selenium進行模測試工作。通過創建回歸測試檢驗用戶需要和軟件性能以檢驗系統功能是否正常。可以根據不同的開發環境和編程語言如.NET、JAVA等進行測試腳本的錄制工作[4]。

2.1.2requestsrequests是由python編寫的常用的網絡請求http庫。request代碼編寫簡潔,功能十分強大。在python內置模塊的基礎上進行高度的封裝,從而使得python進行網絡請求時,變得人性化,使用requests可以輕而易舉完成瀏覽器的任何操作。

2.1.3ScrapyFrameworkScrapy是現在主流的數據爬蟲框架,用以提取網絡中的各種數據,有著較為廣泛的用途。Scrapy常應用于數據挖掘、數據獲取、數據處理數據存儲等一系列過程。使用Scrapy框架可以很簡單地實現從互聯網中獲取指定網站中的內容。

2.1.4TesseractOCRTesseractORC(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]。

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結束語

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

參考文獻

[1]陳紅菊.高職院校學生綜合信息管理系統的設計和應用.科技展望,2016,26(24):150,152

[2]葛秀峰,戴志鋒.基于微信小程序的“掌上經院”校園服務平臺.科技創新與應用,2020(08):80-81

[3]胡玉峰.基于微信的校園信息服務平臺設計與實現[碩士學位論文].蘭州交通大學,蘭州,2015

[4]樊濤,趙征,劉敏娟.基于Selenium的網絡爬蟲分析與實現.電腦編程技巧與維護,2019(09):155-156,170

[5]劉波,黃情琴,李鑫科,劉連滴,蘇澤利,余文森.微信校園便捷服務平臺的開發與實現.現代信息科技,2019,3(22):86-88,91

[6]邵亞麗,黃菲,黃宇涵,陳曉純.基于微信小程序的校園心理服務系統.計算機時代,2020(02):33-35

[7]王海玲,周志彬.基于Scrapy框架的爬蟲設計.軟件導刊,2020,19(04):224-228

[8]常逢佳,李宗花,文靜,常逢錦.基于Python的招聘數據爬蟲設計與實現.軟件導刊,2019,18(12):130-133

[9]莊旭菲,田雪.基于Scrapy和Elasticsearch的校園網搜索引擎的研究與實現.科技資訊,2019,17(29):12-15

[10]潘浩,李蘭.基于Tesseract引擎樣本訓練的驗證碼識別.信息與電腦(理論版),2020,32(01):138-139,142

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

主站蜘蛛池模板: a级毛片视频免费观看 | 国产伦精品一区二区三区无广告 | 狼人久久尹人香蕉尹人 | 国产看午夜精品理论片 | 欧美成人伊人十综合色 | 我们2018在线完整免费观看 | 久久久久国产成人精品亚洲午夜 | 亚洲国产成人精品激情 | 亚洲欧美在线播放 | 韩国美女爽快一级毛片黄 | 国产成人精品视频一区 | 爱呦视频在线播放网址 | 成人ab片| 欧美精品色精品一区二区三区 | 成人亚洲网 | 国产精品久久久久久搜索 | 国产一级久久免费特黄 | 亚洲一区二区精品 | 亚洲精品成人 | 成人18免费观看的软件 | 成人综合影院 | 国产伦理久久精品久久久久 | 亚欧视频在线 | 亚洲一区二区影视 | 小泽玛利亚的一级毛片的 | 国产精品日本一区二区不卡视频 | 成年人网站在线观看视频 | 欧美丝袜xxxxx在线播放 | 国产在线乱子伦一区二区 | 久久综合本色宗合一本色 | 另类自拍 | 亚洲一区2区三区4区5区 | 日本韩国欧美在线 | 欧美激情 自拍 | 日本a级三级三级三级久久 日本a级特黄三级三级三级 | 亚洲成av人在线视 | 国产欧美日韩不卡一区二区三区 | 99毛片| 久久一本精品久久精品66 | 国产精品综合一区二区三区 | 欧美久色|