亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Python的中國大學(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)用較少。隨著國家職教改革各項(xiàng)政策的逐步落實(shí),職業(yè)教育目前正處于快速發(fā)展期,職業(yè)教育課程資源建設(shè)也顯得尤為重要。本文參考Python的Scrapy爬蟲框架,利用Selenium模擬瀏覽器執(zhí)行網(wǎng)頁操作,最終設(shè)計(jì)出一個(gè)簡潔、實(shí)用的爬蟲系統(tǒng)。對(duì)中國大學(xué)MOOC網(wǎng)站進(jìn)行相關(guān)課程信息的爬取和分析。通過數(shù)據(jù)分析,了解職業(yè)教育線上課程資源建設(shè)情況,對(duì)未來職業(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)頁數(shù)據(jù)抓取的自動(dòng)化程序,通過多種手段收集網(wǎng)絡(luò)數(shù)據(jù)的方式,不光是通過與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)求庫urllib和requests。但是,目前越來越多的網(wǎng)站頁面是經(jīng)過JavaScript渲染的,當(dāng)requests在抓取頁面時(shí),得到的結(jié)果和在瀏覽器中看到的將不一樣。為解決以上問題,本文選擇Selenium實(shí)現(xiàn)爬蟲,它是一個(gè)自動(dòng)化測(cè)試工具,利用它可以驅(qū)動(dòng)瀏覽器執(zhí)行特定的動(dòng)作,如點(diǎn)擊、下拉等操作,同時(shí)還可以獲取瀏覽器當(dāng)前呈現(xiàn)的頁面的源代碼,做到可見即可爬。[2]

        (二)Python語言

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

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

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

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

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

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

        3.爬取每一門課程的詳情頁。進(jìn)入每一門課的詳情頁后,分析網(wǎng)頁源碼,利用CSS選擇器定位到“課程描述”。爬取后關(guān)閉詳情頁,再重新定位回當(dāng)前的檢索結(jié)果列表頁。然后,重新進(jìn)入新課程的詳情頁爬取數(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ì)通過構(gòu)建字典的形式存儲(chǔ)信息,其中將課程名稱、課程評(píng)級(jí)(國家精品或職業(yè)教育課程)存儲(chǔ)為JSON格式、課程描述存儲(chǔ)為txt格式。具體實(shí)施步驟為數(shù)據(jù)提取、數(shù)據(jù)存儲(chǔ)。

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

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

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

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

        四、總結(jié)

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

        ium技術(shù)的爬蟲系統(tǒng),實(shí)現(xiàn)對(duì)中國大學(xué)MOOC網(wǎng)站課程信息的有效爬取。通過數(shù)據(jù)分析發(fā)現(xiàn)職業(yè)教育的優(yōu)質(zhì)慕課資源相對(duì)偏少,僅占到整個(gè)調(diào)研數(shù)據(jù)的14%,尤其是中職的更加匱乏,通過此研究結(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.

        作者簡介:

        鄒興宇(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影片麻豆精品传媒 | 久久久久久久久久免免费精品| 女同另类专区精品女同| 精品无码国产一区二区三区麻豆| 欧洲熟妇色xxxxx欧美老妇伦| 精品国产亚洲一区二区在线3d| 国产精品丝袜一区二区三区在线| 日本一区三区三区在线观看| 狠狠色婷婷久久一区二区三区| 久久久久久久久久久熟女AV| 中文字幕一区二区三区.| 亚洲一区二区三区精品| 国产农村乱辈无码| 综合精品欧美日韩国产在线| 久久少妇呻吟视频久久久| 国产一区亚洲二区三区| 双腿张开被9个男人调教| аⅴ天堂国产最新版在线中文| 日韩精品自拍一区二区| √天堂资源中文www| 丰满岳乱妇久久久| 亚洲精品综合色区二区| 野花视频在线观看免费| 肉体裸交137日本大胆摄影| 久久亚洲精品成人| 久久综合久中文字幕青草| 真人做爰试看120秒| 丰满岳乱妇久久久| 中文字幕日韩人妻高清在线| 亚洲国产中文字幕无线乱码| 无码精品久久久久久人妻中字| 精品亚洲午夜久久久久| 国产一区二区三区护士| 东京热久久综合久久88| 亚洲AV无码一区二区三区人| 日韩亚洲午夜精品一区二区三区| 激情综合婷婷色五月蜜桃| 成人性生交片无码免费看| 久久婷婷免费综合色啪| 久久精品一区午夜视频|