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
主站蜘蛛池模板: 五月综合色婷婷| 日韩av手机在线| 精品视频在线观看你懂的一区| 久久毛片免费基地| 国产理论最新国产精品视频| 国禁国产you女视频网站| 国产微拍一区| 五月激情综合网| 手机精品视频在线观看免费| 国产精品偷伦在线观看| 真实国产乱子伦高清| 国产美女精品一区二区| 亚洲国产精品无码久久一线| 丁香五月激情图片| 精品人妻无码中字系列| 久久福利网| 久久先锋资源| 亚洲欧洲AV一区二区三区| 中文字幕在线永久在线视频2020| 91在线播放国产| 成人国产免费| 久久婷婷色综合老司机| 日韩av资源在线| 在线观看国产黄色| 亚洲人成在线免费观看| 欧美日韩精品一区二区在线线| 成人毛片免费在线观看| 中文无码精品a∨在线观看| 亚洲区一区| 婷婷色狠狠干| 国产一区在线观看无码| 日韩免费无码人妻系列| 午夜日韩久久影院| 亚洲精品黄| 久久综合结合久久狠狠狠97色| 五月天久久综合| 亚洲国产一成久久精品国产成人综合| 久久大香香蕉国产免费网站| 伊人久久综在合线亚洲2019| 色亚洲成人| 极品尤物av美乳在线观看| 99久久国产自偷自偷免费一区| 欧美日韩国产精品综合| 亚洲日韩在线满18点击进入| 亚洲 欧美 日韩综合一区| 青青热久免费精品视频6| 美女扒开下面流白浆在线试听| 欧美精品v欧洲精品| 国产玖玖视频| 成人韩免费网站| 亚洲制服丝袜第一页| 情侣午夜国产在线一区无码| 香蕉色综合| 欧美一级高清片久久99| 视频二区亚洲精品| 国产一级一级毛片永久| 免费无码一区二区| 免费无码AV片在线观看国产| 精品三级在线| 亚洲人成在线免费观看| 99久久精品免费观看国产| 亚洲欧美日韩久久精品| 国产精品对白刺激| 久久国产精品夜色| 亚洲精品黄| 91久久性奴调教国产免费| 国产成人亚洲精品无码电影| 国产成人91精品| 97超级碰碰碰碰精品| a天堂视频| av尤物免费在线观看| 国产三级毛片| 国产精女同一区二区三区久| 亚洲码一区二区三区| 欧美性色综合网| 午夜国产在线观看| 四虎在线高清无码| 欧美国产在线看| 在线a视频免费观看| 亚洲一区波多野结衣二区三区| 亚洲成a人片在线观看88| 香蕉网久久|