999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Scrapy技術(shù)的高校計(jì)算機(jī)類課程網(wǎng)絡(luò)視頻庫建設(shè)的研究

2021-03-07 12:36:37張笑青蔣慧
電腦知識(shí)與技術(shù) 2021年36期

張笑青 蔣慧

摘要:該文基于Scrapy爬蟲技術(shù)采集慕課網(wǎng)站(大型開放式網(wǎng)絡(luò)課程)的視頻資源,并使用協(xié)同推薦算法對(duì)采集的信息進(jìn)行推薦和展示。主要內(nèi)容包括對(duì)大學(xué)開放課程平臺(tái)進(jìn)行視頻爬蟲、數(shù)據(jù)解析、數(shù)據(jù)存儲(chǔ);將數(shù)據(jù)爬取的結(jié)果與Recommend算法相結(jié)合實(shí)現(xiàn)課程信息推薦功能;通過使用Flask框架對(duì)采集和推薦的結(jié)果進(jìn)行展示,并實(shí)現(xiàn)視頻分類與模糊查詢等功能。該視頻庫系統(tǒng)可以給教師與學(xué)生提供更豐富便捷的教學(xué)資源平臺(tái)。

關(guān)鍵詞:Python爬蟲;Scrapy框架;視頻庫;高校計(jì)算機(jī)課程

中圖分類號(hào):TP393? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2021)36-0037-03

開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

1 背景

基于慕課平臺(tái)的高校計(jì)算機(jī)類課程網(wǎng)絡(luò)教學(xué)是推動(dòng)高校計(jì)算機(jī)類課程教育改革、促進(jìn)高校計(jì)算機(jī)課程教育網(wǎng)絡(luò)化、科學(xué)化的有效途徑。視頻課程突破了傳統(tǒng)教學(xué)活動(dòng)的時(shí)間和空間限制,使課堂上枯燥的教學(xué)內(nèi)容變得更加生動(dòng),同時(shí)實(shí)現(xiàn)了教學(xué)雙方的全面交流與互動(dòng)。隨著慕課模式在高等教育中的普及,視頻課程庫的開發(fā)逐漸成為高等教育領(lǐng)域的重要課題之一。為了確保高校教育的質(zhì)量和效果,本文對(duì)高校慕課平臺(tái)下計(jì)算機(jī)類視頻課程庫建設(shè)過程中的相關(guān)問題進(jìn)行了研究,討論了構(gòu)建視頻課程庫系統(tǒng)的方法,有助于確定與設(shè)計(jì)有效且穩(wěn)健的視頻課程模型相關(guān)的問題,期望能為高校計(jì)算機(jī)類視頻課程的科學(xué)建設(shè)提供一些參考。

本文的各部分組織如下:首先,介紹網(wǎng)絡(luò)爬蟲Scrapy框架,它包含了Scrapy引擎(核心)、Downloader Middlewares下載器、Schedular調(diào)制器、管道Spiders解析器,并介紹其相關(guān)功能。其次,介紹視頻信息的采集和存儲(chǔ),根據(jù)慕課平臺(tái)的內(nèi)容和它的網(wǎng)頁源代碼分析其頁面結(jié)構(gòu),從而實(shí)現(xiàn)網(wǎng)頁數(shù)據(jù)的采集;同時(shí),采用協(xié)同過濾算法(Recommend)得出權(quán)重矩陣并返回?cái)?shù)據(jù)庫進(jìn)行永久保存。最后,介紹對(duì)采集的視頻信息數(shù)據(jù)進(jìn)行描述性的界面展示,并對(duì)采集的數(shù)據(jù)進(jìn)行二次開發(fā),使用Flask技術(shù)實(shí)現(xiàn)視頻數(shù)據(jù)的分類和模糊搜索。

2 網(wǎng)絡(luò)爬蟲

網(wǎng)絡(luò)爬蟲可以根據(jù)既定的算法和邏輯自動(dòng)采集所需要的頁面資源數(shù)據(jù),并能更新網(wǎng)頁數(shù)據(jù)[1]。通常網(wǎng)絡(luò)爬蟲可以分為數(shù)據(jù)爬取、數(shù)據(jù)預(yù)處理、數(shù)據(jù)存儲(chǔ)幾部分操作。其中,聚焦爬蟲能根據(jù)既定的定量爬取策略,通過網(wǎng)頁分析算法,過濾有效的URL及其與主題相關(guān)的鏈接,在特定的搜索框架下,從所需要的隊(duì)列中選取下一個(gè)數(shù)據(jù)想要爬取的網(wǎng)頁,并進(jìn)行反復(fù)爬取,直到得到滿足數(shù)據(jù)匹配的URL網(wǎng)頁時(shí)停止。根據(jù)爬取策略所爬取的網(wǎng)頁數(shù)據(jù),將會(huì)被后臺(tái)處理,包括分析過濾、創(chuàng)建索引以便下一步可以進(jìn)行查詢和檢索操作。

2.1 視頻信息采集爬蟲的分析與設(shè)計(jì)

Scrapy引擎是Scrapy的核心,它可以將前端收到的請(qǐng)求發(fā)送給爬蟲,然后Spiders發(fā)送給核心對(duì)Scheduler請(qǐng)求,再被引擎提交到下載器處理,下載器處理完成后會(huì)發(fā)送Responses給引擎,引擎將其發(fā)送至Spiders進(jìn)行處理[2]。Scrapy的爬蟲結(jié)構(gòu)如圖1所示。

3 視頻信息采集的實(shí)現(xiàn)

本文的網(wǎng)絡(luò)視頻數(shù)據(jù)爬蟲的整體框架大致如圖2所示。

3.1 數(shù)據(jù)源與網(wǎng)頁分析

本文先對(duì)慕課網(wǎng)站的爬取進(jìn)行研究,由于網(wǎng)課為在線播放的模式,普通爬蟲較難下載視頻,所以本次抓取的慕課網(wǎng)的視頻基本信息包括課程名稱、圖片的地址、課程圖片內(nèi)容、課程人數(shù)、課程簡介、課程的評(píng)分、課程難度指數(shù)以及課程的時(shí)長等,示例頁面如圖3所示。

使用Response爬蟲請(qǐng)求獲取網(wǎng)頁資源,可以抓取慕課網(wǎng)站中每個(gè)課程的Div,這里Scrapy支持使用Xpath定位器定位想要爬取網(wǎng)頁資源的具體位置,可以使用Xpath表達(dá)式獲取所有h3標(biāo)簽里的文本內(nèi)容,從而獲取頁面中課程的標(biāo)題[3-4]。如圖4代碼可以定位課程名稱:

3.2 MongoDB數(shù)據(jù)庫與數(shù)據(jù)存儲(chǔ)

本文采集的數(shù)據(jù)是慕課網(wǎng)的視頻信息,對(duì)于視頻信息的存儲(chǔ),這里選擇使用非關(guān)系型的文檔數(shù)據(jù)庫MongoDB來進(jìn)行存儲(chǔ)。

MongoDB數(shù)據(jù)庫是基于文檔的非關(guān)系型數(shù)據(jù)庫,因此MongoDB并沒有固定的結(jié)構(gòu),在建立文檔型的范例時(shí),即便沒有該數(shù)據(jù)庫的布局信息,仍能存到MongoDB數(shù)據(jù)庫中[5]。根據(jù)慕課網(wǎng)提供的字段信息,設(shè)計(jì)了如下集合:cursesinfo用于存儲(chǔ)采集的視頻信息數(shù)據(jù),history用于存儲(chǔ)點(diǎn)擊的歷史數(shù)據(jù),hotcourse是根據(jù)前面的演算和總結(jié)計(jì)算出8大熱門課程。其中curseinfo集合存儲(chǔ)的信息對(duì)應(yīng)慕課網(wǎng)爬取的各個(gè)字段如圖7所示。

數(shù)據(jù)存儲(chǔ)使用代碼實(shí)現(xiàn),即先將爬蟲爬取的網(wǎng)頁元素內(nèi)容解析,并創(chuàng)建一個(gè)dict對(duì)象,將爬取的數(shù)據(jù)逐一對(duì)應(yīng)填充到dict內(nèi),再通過PyMongo的collection方法將dict中的數(shù)據(jù)存儲(chǔ)到MongoDB中即可。

3.3 數(shù)據(jù)預(yù)處理

數(shù)據(jù)預(yù)處理主要是去除臟數(shù)據(jù),這里主要從數(shù)據(jù)缺失值檢測(cè)、數(shù)據(jù)去重、噪聲數(shù)據(jù)處理、數(shù)據(jù)集成這四個(gè)方面對(duì)數(shù)據(jù)進(jìn)行清洗。通常在數(shù)據(jù)采集和傳輸?shù)惹闆r下會(huì)導(dǎo)致數(shù)據(jù)缺失,對(duì)于缺失值處理方法通常有兩種方法:第一種方法是直接刪除不完整的數(shù)據(jù),該方法適用于缺失值的樣本占整個(gè)數(shù)據(jù)集樣本的比例較低的情況,但是這樣可能會(huì)丟失大量隱藏在這些刪除數(shù)據(jù)中的信息或者造成資源浪費(fèi);第二種方法是通過插入數(shù)據(jù)將數(shù)據(jù)填充完整,通常是將平均數(shù)據(jù)插入來補(bǔ)充完整,即是取數(shù)據(jù)中的平均數(shù)代替數(shù)據(jù)中所缺少的值,或者在數(shù)據(jù)中隨機(jī)地挑選個(gè)別數(shù)據(jù)進(jìn)行插入。本文中使用的是第一種方法,Python中的isnull為是否需要進(jìn)行插入填補(bǔ)。

3.4 基于物品的協(xié)同過濾算法的實(shí)現(xiàn)

基于物品的協(xié)同算法步驟:1)計(jì)算物品之間的相似度;2)根據(jù)物品的相似度和用戶的歷史行為記錄給用戶生成推薦列表。該算法的核心是:從物品角度找到相似度高的商品進(jìn)行推薦。算法思想為:根據(jù)用戶對(duì)物品的喜歡程度找到相似的物品,再根據(jù)用戶曾經(jīng)喜歡的物品推薦相類似的物品。從計(jì)算層面看,衡量物品的好壞就是根據(jù)用戶對(duì)這個(gè)物品的喜歡程度,根據(jù)用戶的曾經(jīng)喜歡程度和現(xiàn)在喜歡程度得到一個(gè)物品推薦的排序列表。

基于Python語言和物品的協(xié)同過濾推薦算法,對(duì)數(shù)據(jù)庫中的課程相關(guān)數(shù)據(jù)進(jìn)行功能的實(shí)現(xiàn),具體實(shí)現(xiàn)過程如圖8所示。

圖8的第一步是搭建用戶和物品的直接關(guān)系,接著得到用戶和物品之間的權(quán)重矩陣,計(jì)算他們之間的相似度,然后根據(jù)用戶的瀏覽記錄,給用戶推薦系統(tǒng)認(rèn)為用戶需要的物品,因此最終推薦的物品根據(jù)用戶自己的喜好決定。

4 視頻數(shù)據(jù)采集展示的實(shí)現(xiàn)

本文中推薦課程系統(tǒng)的設(shè)計(jì)采用Flask框架,其功能主要為視頻課程的推薦、搜索、分類。Flask是如今流行的Web框架,它使用Python實(shí)現(xiàn)功能,由于Flask不會(huì)將其全部的Web框架放在Python里面,而是將代碼簡單化,因此它又被稱為“微框架”。通常情況下Flask自己不會(huì)主動(dòng)提供系統(tǒng)所需要的功能,在項(xiàng)目結(jié)構(gòu)的運(yùn)行狀態(tài)下它們可以自由進(jìn)行配置。Flask主要包含兩個(gè)核心:Werkzeug和Jinja2,這兩個(gè)核心有著不一樣的功能。而就是由于Flask這兩個(gè)核心功能讓W(xué)eb前端展示更為簡便明了。

分類展示:選擇搜索框下的技術(shù)標(biāo)簽,對(duì)于慕課網(wǎng)的對(duì)應(yīng)分類視頻信息書籍進(jìn)行展示,如圖11展示結(jié)果為前端技術(shù)教學(xué)相關(guān)內(nèi)容。

推薦課程展示:在系統(tǒng)的推薦下,Recommend算法根據(jù)用戶瀏覽的課程進(jìn)行推薦,實(shí)現(xiàn)推薦與關(guān)鍵字相關(guān)的課程信息。

相關(guān)課程關(guān)鍵字搜索:系統(tǒng)根據(jù)輸入的關(guān)鍵字進(jìn)行模糊查詢,并實(shí)時(shí)進(jìn)行數(shù)據(jù)采集,將采集后的內(nèi)容呈現(xiàn)在頁面上,以展示相關(guān)的課程搜索結(jié)果及相關(guān)推薦課程展示。

5 結(jié)束語

本文主要使用Scrapy爬蟲技術(shù)爬取慕課網(wǎng)站的視頻資源,并使用協(xié)同推薦算法對(duì)采集的信息進(jìn)行推薦和展示。該視頻資源系統(tǒng)可以給教師與學(xué)生提供更豐富便捷的教學(xué)資源平臺(tái),對(duì)今后的計(jì)算機(jī)課程在線教與學(xué)具有創(chuàng)新價(jià)值和意義。

參考文獻(xiàn):

[1] 劉雯.主流開源爬蟲框架比較與分析[J].電子世界,2018(6):65-67.

[2] 施金龍.基于PythonScrapy技術(shù)的新聞線索匯聚實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2020(13):180-181.

[3] 張捷,郝建維,李歡歡.基于Scrapy的分布式網(wǎng)頁及文件爬蟲應(yīng)用的研究[J].科技創(chuàng)新導(dǎo)報(bào),2020,17(21):149-153.

[4] 唐琳,董依萌,何天宇.基于Python的網(wǎng)絡(luò)爬蟲技術(shù)的關(guān)鍵性問題探索[J].電子世界,2018(14):32-33.

[5] 李興武.大數(shù)據(jù)下MongoDB數(shù)據(jù)庫數(shù)據(jù)文檔存儲(chǔ)去重研究[J].數(shù)字技術(shù)與應(yīng)用,2017(9):99-101.

【通聯(lián)編輯:謝媛媛】

主站蜘蛛池模板: 亚洲最大综合网| 日韩乱码免费一区二区三区| 四虎影视库国产精品一区| 亚洲成a人片| 久久亚洲国产最新网站| 99资源在线| 亚洲高清在线播放| 午夜色综合| 国产理论精品| 国产精品第| 国产女人18水真多毛片18精品| 亚洲成aⅴ人在线观看| 狠狠五月天中文字幕| 久久香蕉国产线| 中文字幕天无码久久精品视频免费 | 亚洲国产成人自拍| 成人伊人色一区二区三区| 久久久黄色片| 欧美一级特黄aaaaaa在线看片| 久久香蕉国产线看观| 91精品久久久久久无码人妻| 2021国产乱人伦在线播放 | 国产成人综合在线观看| 在线观看亚洲精品福利片| 露脸一二三区国语对白| 乱人伦视频中文字幕在线| 日韩高清在线观看不卡一区二区| 四虎影视库国产精品一区| 免费黄色国产视频| 美女无遮挡免费网站| 日韩第九页| 亚洲综合18p| 国产精品综合色区在线观看| 亚洲男人天堂网址| 国产91精品最新在线播放| 在线免费不卡视频| 日本欧美中文字幕精品亚洲| 好吊日免费视频| 亚洲精品免费网站| 人人艹人人爽| 中国特黄美女一级视频| 狠狠做深爱婷婷综合一区| 色网站在线免费观看| 欧美怡红院视频一区二区三区| 九九视频在线免费观看| 欧洲一区二区三区无码| 无码国内精品人妻少妇蜜桃视频| 国产精品久久久久无码网站| 婷婷99视频精品全部在线观看| 91网在线| 色老头综合网| 午夜视频在线观看免费网站| 91福利免费| 特级毛片8级毛片免费观看| 亚洲va欧美ⅴa国产va影院| 国内精品小视频福利网址| 2022国产无码在线| 1024你懂的国产精品| 在线观看的黄网| 国产亚洲视频中文字幕视频| 久久久久久午夜精品| 免费国产无遮挡又黄又爽| 亚欧美国产综合| 自拍欧美亚洲| 久久久久亚洲AV成人网站软件| 老司机午夜精品网站在线观看 | vvvv98国产成人综合青青| 精品少妇人妻一区二区| 麻豆AV网站免费进入| 亚洲综合色在线| 欧美一区精品| 国产尤物jk自慰制服喷水| 日本精品视频| 色哟哟国产精品一区二区| 激情综合图区| 国产黑丝视频在线观看| 国产乱人伦精品一区二区| 国产福利一区二区在线观看| 激情爆乳一区二区| 久久久久国产一区二区| 亚洲精品无码在线播放网站| Aⅴ无码专区在线观看|