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

基于Python的中國(guó)大學(xué)MOOC網(wǎng)站爬蟲系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2021-04-14 08:20:16鄒興宇
課程教育研究 2021年30期
關(guān)鍵詞:職業(yè)教育

【摘要】當(dāng)今已進(jìn)入大數(shù)據(jù)時(shí)代,網(wǎng)絡(luò)爬蟲成為數(shù)據(jù)獲取的有效手段,獲得廣泛應(yīng)用。但在教育領(lǐng)域,尤其是職業(yè)教育領(lǐng)域的相關(guān)應(yīng)用較少。隨著國(guó)家職教改革各項(xiàng)政策的逐步落實(shí),職業(yè)教育目前正處于快速發(fā)展期,職業(yè)教育課程資源建設(shè)也顯得尤為重要。本文參考Python的Scrapy爬蟲框架,利用Selenium模擬瀏覽器執(zhí)行網(wǎng)頁(yè)操作,最終設(shè)計(jì)出一個(gè)簡(jiǎn)潔、實(shí)用的爬蟲系統(tǒng)。對(duì)中國(guó)大學(xué)MOOC網(wǎng)站進(jìn)行相關(guān)課程信息的爬取和分析。通過(guò)數(shù)據(jù)分析,了解職業(yè)教育線上課程資源建設(shè)情況,對(duì)未來(lái)職業(yè)教育慕課、精品課程建設(shè)提出建議。同時(shí),本文提供了爬蟲系統(tǒng)在教育領(lǐng)域應(yīng)用的成功經(jīng)驗(yàn)。

【關(guān)鍵詞】Python? 爬蟲? Selenium? MOOC? 職業(yè)教育

【基金項(xiàng)目】福建省教育廳中青年教師教育科研項(xiàng)目(科技類)“基于Scrapy框架的網(wǎng)絡(luò)爬蟲系統(tǒng)的設(shè)計(jì)及其在教育領(lǐng)域的應(yīng)用”(項(xiàng)目編號(hào):JAT191700)。

【中圖分類號(hào)】TP393.092;TP391.3? 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】2095-3089(2021)30-0077-02

一、Python及爬蟲介紹

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

網(wǎng)絡(luò)爬蟲(Web crawler),也稱為網(wǎng)絡(luò)機(jī)器人(bot)。其是一種可以實(shí)現(xiàn)網(wǎng)頁(yè)數(shù)據(jù)抓取的自動(dòng)化程序,通過(guò)多種手段收集網(wǎng)絡(luò)數(shù)據(jù)的方式,不光是通過(guò)與API交互或者直接與瀏覽器交互的方式。最常用的方法是寫一個(gè)自動(dòng)化程序向網(wǎng)絡(luò)服務(wù)器請(qǐng)求數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行解析,提取需要的信息。[1]網(wǎng)絡(luò)爬蟲的思維模式就是模擬瀏覽器向服務(wù)器發(fā)出請(qǐng)求,接收到請(qǐng)求數(shù)據(jù)后再進(jìn)行解析。一般而言,基礎(chǔ)爬蟲的兩大請(qǐng)求庫(kù)urllib和requests。但是,目前越來(lái)越多的網(wǎng)站頁(yè)面是經(jīng)過(guò)JavaScript渲染的,當(dāng)requests在抓取頁(yè)面時(shí),得到的結(jié)果和在瀏覽器中看到的將不一樣。為解決以上問(wèn)題,本文選擇Selenium實(shí)現(xiàn)爬蟲,它是一個(gè)自動(dòng)化測(cè)試工具,利用它可以驅(qū)動(dòng)瀏覽器執(zhí)行特定的動(dòng)作,如點(diǎn)擊、下拉等操作,同時(shí)還可以獲取瀏覽器當(dāng)前呈現(xiàn)的頁(yè)面的源代碼,做到可見(jiàn)即可爬。[2]

(二)Python語(yǔ)言

隨著大數(shù)據(jù)、人工智能等領(lǐng)域的快速發(fā)展和廣泛應(yīng)用,Python語(yǔ)言的優(yōu)勢(shì)凸顯,變得比以往更加流行。在2021年7月的語(yǔ)言排行榜單升至第三位,近年來(lái)與C、Java、C++一起穩(wěn)居前四。從編程語(yǔ)言的市場(chǎng)份額可以看出,一定時(shí)期內(nèi)使用Python語(yǔ)言的人數(shù)越來(lái)越多。在爬蟲領(lǐng)域,因其語(yǔ)言簡(jiǎn)單易懂、支持多平臺(tái)、擁有優(yōu)秀的網(wǎng)絡(luò)爬蟲庫(kù)等優(yōu)勢(shì),成為絕大部分網(wǎng)絡(luò)爬蟲設(shè)計(jì)的首選,可以說(shuō)是網(wǎng)絡(luò)爬蟲領(lǐng)域的第一編程語(yǔ)言。

二、爬蟲具體設(shè)計(jì)及實(shí)現(xiàn)

(一)爬取流程

Scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架。其架構(gòu)清晰,模塊之間的耦合程度低,可擴(kuò)展性極強(qiáng),可以靈活完成各種需求。Scrapy吸引人的地方在于它是一個(gè)框架,任何人都可以根據(jù)需求方便的修改。它也提供了多種類型爬蟲的基類,如BaseSpider、sitemap爬蟲等。[2]

基于對(duì)Scrapy爬蟲框架的學(xué)習(xí)和研究,本文自主設(shè)計(jì)了一個(gè)更加實(shí)用和簡(jiǎn)潔的爬蟲流程。該設(shè)計(jì)利用Selenium抓取中國(guó)大學(xué)MOOC網(wǎng)站課程數(shù)據(jù),并解析出課程的名稱、評(píng)級(jí)、開課學(xué)校、課程介紹等信息,并保存為Json和txt文件形式。本爬蟲系統(tǒng)的自動(dòng)化工作流程如圖1所示,分為三個(gè)階段:進(jìn)入檢索頁(yè)面、爬取數(shù)據(jù)、存儲(chǔ)數(shù)據(jù)。首先,在進(jìn)入檢索頁(yè)面階段,利用Selenium依次完成初始化瀏覽器驅(qū)動(dòng)、打開網(wǎng)頁(yè)、進(jìn)入指定關(guān)鍵詞“電子技術(shù)”相關(guān)課程檢索頁(yè)。另外,經(jīng)實(shí)際測(cè)試及性能分析,這里選用Firefox瀏覽器。其次,在爬取數(shù)據(jù)階段,依次要完成檢索結(jié)果列表頁(yè)信息、列表頁(yè)中每個(gè)課程的詳情頁(yè)相關(guān)信息、進(jìn)入檢索結(jié)果的下一頁(yè)面等動(dòng)作。周而復(fù)始,直到爬取完檢索到的全部課程信息。最后,進(jìn)入存儲(chǔ)數(shù)據(jù)階段,為了便于數(shù)據(jù)分析,將課程名稱、課程評(píng)級(jí)、課設(shè)學(xué)校信息保存為Json格式;對(duì)于課程簡(jiǎn)介數(shù)據(jù)量大,保存為txt格式。

(二)爬蟲程序設(shè)計(jì)

1.初始化。根據(jù)本設(shè)計(jì)采用的爬蟲技術(shù)及數(shù)據(jù)存儲(chǔ)方式,導(dǎo)入以下庫(kù)及函數(shù)。例如:webdriber用于初始化瀏覽器;WebDriverWait用于設(shè)置瀏覽器響應(yīng)等待最長(zhǎng)時(shí)間;json用于將數(shù)據(jù)存儲(chǔ)為Json格式。同時(shí),完成相關(guān)參數(shù)的初始化。例如:logging.basicConnfig完成日志的配置;INDEX_URL完成網(wǎng)址初始值設(shè)置。

2.檢索結(jié)果首頁(yè)面的加載及跳轉(zhuǎn)。爬取網(wǎng)頁(yè)的初始地址為“https://www.icourse163.org/search.htm?search=電子技術(shù)#type=30&orderBy=0&pageIndex={page}&courseTagType=null”,經(jīng)分析發(fā)現(xiàn)檢索結(jié)果的每一頁(yè)地址的page參數(shù)呈現(xiàn)1、2、3…累加規(guī)律。同時(shí),考慮到爬蟲過(guò)程受到網(wǎng)絡(luò)情況的影響,設(shè)置頁(yè)面加載最長(zhǎng)等待時(shí)間及超時(shí)報(bào)錯(cuò)。但是,經(jīng)實(shí)際測(cè)試MOOC網(wǎng)站發(fā)現(xiàn),通過(guò)更新page參數(shù)獲得新地址,無(wú)法實(shí)現(xiàn)頁(yè)面的跳轉(zhuǎn)。所以調(diào)整策略為通過(guò)Selenium模擬點(diǎn)擊“下一頁(yè)”按鈕實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)。

同時(shí),在檢索結(jié)果的每一頁(yè),進(jìn)行數(shù)據(jù)的初步解析,爬取當(dāng)前頁(yè)檢索課程名稱、課程評(píng)級(jí)等信息。

3.爬取每一門課程的詳情頁(yè)。進(jìn)入每一門課的詳情頁(yè)后,分析網(wǎng)頁(yè)源碼,利用CSS選擇器定位到“課程描述”。爬取后關(guān)閉詳情頁(yè),再重新定位回當(dāng)前的檢索結(jié)果列表頁(yè)。然后,重新進(jìn)入新課程的詳情頁(yè)爬取數(shù)據(jù)。如圖2所示,在分析檢索結(jié)果及HTML代碼時(shí)發(fā)現(xiàn),部分檢索結(jié)果并非常規(guī)課程,可能是講座、考試輔導(dǎo)等等,如何識(shí)別這部分的檢索結(jié)果和避免其對(duì)爬蟲數(shù)據(jù)的影響呢?本文在代碼設(shè)計(jì)時(shí),因此類非常規(guī)課程未提供“課程描述”部分,所以利用這一點(diǎn),在代碼中加入try-except模塊進(jìn)行處理,成功達(dá)到目的。

4.數(shù)據(jù)存儲(chǔ)。本設(shè)計(jì)通過(guò)構(gòu)建字典的形式存儲(chǔ)信息,其中將課程名稱、課程評(píng)級(jí)(國(guó)家精品或職業(yè)教育課程)存儲(chǔ)為JSON格式、課程描述存儲(chǔ)為txt格式。具體實(shí)施步驟為數(shù)據(jù)提取、數(shù)據(jù)存儲(chǔ)。

5.問(wèn)題解決。(1)爬取策略過(guò)濾了培訓(xùn)、講座等非課程的信息,保證了數(shù)據(jù)的有效性;(2)有效規(guī)避了網(wǎng)站的反爬限制,保證了爬蟲的順利進(jìn)行;(3)實(shí)現(xiàn)模擬網(wǎng)頁(yè)操作、數(shù)據(jù)抓取、存儲(chǔ)、數(shù)據(jù)分析的全流程。

三、實(shí)驗(yàn)分析

本文在中國(guó)大學(xué)MOOC慕課網(wǎng)站,檢索指定關(guān)鍵詞“電子技術(shù)”相關(guān)課程信息。利用網(wǎng)絡(luò)爬蟲對(duì)檢索的全部課程信息進(jìn)行數(shù)據(jù)抓取。如圖3所示,檢索相關(guān)課程共624門,其中國(guó)家精品課程為342門,占相關(guān)課程的54.8%;獲得職業(yè)教育課程認(rèn)定的僅為30門,占相關(guān)課程4.8%。數(shù)據(jù)表明,普通高等教育的慕課資源建設(shè)已非常成熟,擁有一大批優(yōu)質(zhì)課程。但是,針對(duì)職業(yè)教育的課程資源嚴(yán)重偏少。且絕大部分是高職課程,中職慕課資源更加匱乏。

新時(shí)代國(guó)家大力推動(dòng)職業(yè)教育的發(fā)展,職業(yè)教育已經(jīng)成為和普通教育同等地位的類型教育,未來(lái)將在服務(wù)國(guó)家產(chǎn)業(yè)和經(jīng)濟(jì)發(fā)展方面提供有力支撐。按照國(guó)家政策,中等職業(yè)技術(shù)學(xué)校入學(xué)人數(shù)增加,高職近幾年也在不斷擴(kuò)招,接收職業(yè)教育的人數(shù)將越來(lái)越多。所以打造和豐富相關(guān)職業(yè)教育的學(xué)習(xí)資源,必須提上議程,以適應(yīng)新時(shí)代的發(fā)展需求。同時(shí),國(guó)家推動(dòng)一師一優(yōu)課,一課一名師。作為職業(yè)教育的教師,應(yīng)努力踐行三教改革,打造精品課程、開發(fā)出更多的優(yōu)質(zhì)教學(xué)資源。

四、總結(jié)

綜上所述,本文設(shè)計(jì)了一個(gè)簡(jiǎn)潔、實(shí)用的基于Selen?

ium技術(shù)的爬蟲系統(tǒng),實(shí)現(xiàn)對(duì)中國(guó)大學(xué)MOOC網(wǎng)站課程信息的有效爬取。通過(guò)數(shù)據(jù)分析發(fā)現(xiàn)職業(yè)教育的優(yōu)質(zhì)慕課資源相對(duì)偏少,僅占到整個(gè)調(diào)研數(shù)據(jù)的14%,尤其是中職的更加匱乏,通過(guò)此研究結(jié)果凸顯了職業(yè)教育慕課資源建設(shè)的緊迫性。最終,本文的研究成果拓展了網(wǎng)絡(luò)爬蟲在教育領(lǐng)域的應(yīng)用,一定程度上促進(jìn)了爬蟲技術(shù)的發(fā)展和職業(yè)教育課程資源建設(shè)。

參考文獻(xiàn):

[1]瑞安·米切爾.Python網(wǎng)絡(luò)爬蟲權(quán)威指南[M].北京:人民郵電出版社,2020:56-57.

[2]劉宇,鄭成煥.基于Scrapy的深層網(wǎng)絡(luò)爬蟲研究[J].軟件,2017,38(7):32-33.

作者簡(jiǎn)介:

鄒興宇(1984年-),男,漢族,黑龍江綏化人,講師,碩士研究生,研究方向?yàn)槲锫?lián)網(wǎng)、人工智能。

猜你喜歡
職業(yè)教育
“動(dòng)能教育”模式下的工匠人才培養(yǎng)路徑研究
職業(yè)(2016年10期)2016-10-20 22:02:09
論七年一貫制體系下本科學(xué)科建設(shè)中職業(yè)教育的重要性
職業(yè)(2016年10期)2016-10-20 21:57:21
芻議職業(yè)教育校企合作的有效性
考試周刊(2016年76期)2016-10-09 10:04:53
翻轉(zhuǎn)課堂教學(xué)模式在《PLC應(yīng)用技術(shù)》課程教學(xué)中的應(yīng)用
科技視界(2016年20期)2016-09-29 12:46:34
主站蜘蛛池模板: 欧美天堂在线| 午夜精品久久久久久久无码软件| 亚洲无码高清视频在线观看| 亚洲天堂成人在线观看| 中日韩欧亚无码视频| 欧美亚洲综合免费精品高清在线观看| 国产精品免费露脸视频| 国产内射在线观看| 国产爽妇精品| 国产成人亚洲综合A∨在线播放| 国产一级裸网站| 国产成人三级| AV老司机AV天堂| 国国产a国产片免费麻豆| 久久久久亚洲精品无码网站| 欧美日韩国产系列在线观看| 美女一级免费毛片| 午夜无码一区二区三区| 欧美日韩另类国产| 亚洲自偷自拍另类小说| 综合天天色| 国产地址二永久伊甸园| 有专无码视频| 九九精品在线观看| 精品一区二区三区中文字幕| 国产亚洲第一页| 国产成人精品第一区二区| 国产免费a级片| 日日拍夜夜操| 91亚洲影院| 亚洲美女一区| 99精品视频在线观看免费播放| 中文字幕无码中文字幕有码在线 | 伊人色天堂| 亚洲国产精品不卡在线| 国产超碰在线观看| 国产呦视频免费视频在线观看| 国产精品欧美亚洲韩国日本不卡| 亚洲第一视频区| 女人18毛片水真多国产| 久久人与动人物A级毛片| 亚洲精品亚洲人成在线| 尤物视频一区| 久久黄色一级视频| 日韩中文精品亚洲第三区| 无码电影在线观看| 日韩欧美91| 久久久久久午夜精品| 国产SUV精品一区二区6| 女人18一级毛片免费观看| 亚洲综合婷婷激情| 免费观看无遮挡www的小视频| 亚洲人成在线免费观看| 高清久久精品亚洲日韩Av| 亚洲欧美综合精品久久成人网| 国产对白刺激真实精品91| 色老二精品视频在线观看| 99精品福利视频| 天天做天天爱夜夜爽毛片毛片| 国产精品对白刺激| 国产精品自在线天天看片| 国产噜噜噜| 91精品国产麻豆国产自产在线| 天堂久久久久久中文字幕| 97在线免费| 国产高潮视频在线观看| 免费AV在线播放观看18禁强制| 性做久久久久久久免费看| 日韩最新中文字幕| 国产精品原创不卡在线| 国精品91人妻无码一区二区三区| 国产在线一区二区视频| 国产欧美日韩视频一区二区三区| 日本尹人综合香蕉在线观看 | 18黑白丝水手服自慰喷水网站| 成人在线视频一区| 欧美黄网在线| 美女啪啪无遮挡| 欧美午夜在线观看| 97在线国产视频| 国产精品免费电影| 国产精品无码久久久久久|