• <strike id="ackas"><s id="ackas"></s></strike>
  • <th id="ackas"><menu id="ackas"></menu></th>
    
    
    <bdo id="ackas"></bdo>
  • <th id="ackas"></th>
    <ul id="ackas"><pre id="ackas"></pre></ul>
    无码专区视频精品老司机,在线精品国产成人综合,日韩高清免费一码二码三码,亚洲免费人成影院,国产成人精品日本亚洲专区,麻豆一二三区精品蜜桃,日韩精品卡1卡2日韩在线,精品视频一区二区观看
    公務員期刊網(wǎng) 論文中心 正文

    學生信息管理微信小程序數(shù)據(jù)獲取構建

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

    學生信息管理微信小程序數(shù)據(jù)獲取構建

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

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

    1引言

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

    2爬蟲設計

    2.1技術概述

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

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

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

    2.1.4TesseractOCRTesseractORC(OpticalCharacterRecognition,光學字符識別)是一個用于文字圖形轉換的開源引擎,由HP實驗室開發(fā)并由Google進行維護。它可以通過不斷地進行機器訓練,通過優(yōu)化訓練集,來改善結果集,從而獲得自己想要的結果。2.1.5PEEWEEORMPEEWEE是python中常用的數(shù)據(jù)庫映射模塊,是一個輕量級的ORM,即對象關系映射(ObjectRelationalMapping,簡稱ORM)。其特點是通過映射關系對數(shù)據(jù)進行操作,使得對各類數(shù)據(jù)庫能夠實現(xiàn)兼容,通過映射來實現(xiàn)對數(shù)據(jù)庫的各種操作,使用戶對于數(shù)據(jù)庫的使用成本大大降低。

    2.2系統(tǒng)需求及分析

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

    2.3爬蟲設計

    2.3.1爬蟲模塊介紹要爬取頁面的信息需要借助相應的爬蟲模塊,本文所使用到的模塊包括:requests,python中常用的發(fā)起網(wǎng)絡請求的模塊;Scrapy,python中最主流的爬蟲框架;peewee,輕量級ORM框架,用于python和Mysql等數(shù)據(jù)庫的映射操作;selenuim,用于網(wǎng)頁測試的模塊,使用該模塊來實現(xiàn)模擬登陸的環(huán)節(jié);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。數(shù)據(jù)爬取流程如圖1所示。

    3系統(tǒng)的設計與實現(xiàn)

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

    3.1登錄信息設計

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

    3.2驗證碼處理設計

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

    3.3信息獲取設計

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

    3.4信息處理

    通過scrapy爬蟲框架,對目標url發(fā)起requsets請求獲取想要的數(shù)據(jù),將獲取到信息通過輕量級ORM的框架peewee,存儲到目標Mysql中。

    4結束語

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

    參考文獻

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

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

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

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

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

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

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

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

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

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

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

    主站蜘蛛池模板: 四虎成人精品永久在线视频| 国产日韩久久免费影院| 精品久久精品久久精品九九| 国产熟女肥臀精品国产馆乱| 国产很色很黄很大爽的视频| 日产a一a区二区www| 久久综合亚洲鲁鲁九月天| 国产精品人成视频免费国产| 噜噜综合亚洲av中文无码| 一区二区乱子伦在线播放| 人妻丝袜中文无码av影音先锋 | 欧美日产国产新一区| 亚洲成网777777国产精品| 麻豆精品一区综合av在线| 亚洲一区二区三区波多野结衣| 国产成人综合久久亚洲精品| 国产成人综合欧美精品久久| 国产一二视频| a∨天堂亚洲区无码先锋影音| 7777精品伊人久久久大香线蕉 | 亚洲中文字幕av一区二区三区 | 日韩欧美成人免费观看| 精品国产欧美精品v| 精品丝袜美腿国产一区| 精品无码国产一区二区三区51安| 国产人妇三级视频在线观看| 一道本AV免费不卡播放| 国产一区二区福利| 最新亚洲人AV日韩一区二区| 99久久免费国产精精品| 国内精品久久久久久久小说| 欧美成人精品手机在线| 成人午夜看黄在线尤物成人| 国产精品白浆一区二区免费看| 国产成人a∨激情视频厨房| 国产欧美另类久久久精品丝瓜| 婷婷色爱区综合五月激情| 国产精品SM捆绑调教视频| 国产精品中文第一字幕| 被灌满精子的少妇视频| 国产精品九九九一区二区|