◆劉雷 胡文利
高職院校教育信息爬取與數(shù)據(jù)分析研究
◆劉雷 胡文利
(江西工業(yè)職業(yè)技術(shù)學(xué)院 江西 330039)
基于高職院校的信息爬取采用了一種綜合數(shù)據(jù)爬取方法,該方法使用了深度優(yōu)先及反鏈優(yōu)先策略相結(jié)合技術(shù),開發(fā)了一個(gè)根據(jù)關(guān)鍵詞檢索高職教育教學(xué)信息的檢索系統(tǒng),為高職院校的信息爬取及檢索工作提出了一種方法,以供相關(guān)研究參考。
高職院校;網(wǎng)絡(luò)爬蟲;爬蟲分類;高職教育
在當(dāng)代大數(shù)據(jù)背景下,各行業(yè)對數(shù)據(jù)獲取的準(zhǔn)確性提出了越來越高的要求,在這種趨勢下,需要優(yōu)化檢索方法以精準(zhǔn)地獲取目標(biāo)的準(zhǔn)確信息。從現(xiàn)階段來看,各大搜索引擎技術(shù)可以滿足部分需求,但是搜索引擎所獲取的數(shù)據(jù)大多被廣告和其他不需要信息所占滿,如何精準(zhǔn)獲取到自己想要的數(shù)據(jù),特別是行業(yè)數(shù)據(jù),現(xiàn)階段可以利用爬蟲技術(shù)進(jìn)行分析,通過網(wǎng)絡(luò)爬蟲技術(shù),提高數(shù)據(jù)檢索質(zhì)量。
在此背景下,如何利用深度挖掘數(shù)據(jù)技術(shù),以便使優(yōu)質(zhì)教育教學(xué)資源實(shí)現(xiàn)共享。通過使優(yōu)質(zhì)的教育教學(xué)資源的共享能夠逐漸縮小到不同地域、不同學(xué)校,從而減少資源的差異性。為了提升高職教育教學(xué)的質(zhì)量,利用深度挖掘數(shù)據(jù)技術(shù),以便使優(yōu)質(zhì)教育教學(xué)資源實(shí)現(xiàn)共享。
現(xiàn)階段,網(wǎng)絡(luò)類型的爬蟲有很多種類,實(shí)現(xiàn)的方式方法大同小異,現(xiàn)將網(wǎng)絡(luò)上典型的兩種爬蟲進(jìn)行分類分析,包括通用型爬蟲和聚焦型爬蟲。
通用型爬蟲的爬取步驟一般分為四個(gè):
第一步:通用型爬蟲先進(jìn)行網(wǎng)絡(luò)地址初始化。初始化的網(wǎng)絡(luò)地址可以是一個(gè)也可以是多個(gè),網(wǎng)絡(luò)地址由用戶自行選擇。
第二步:網(wǎng)絡(luò)爬蟲依據(jù)用戶輸入的網(wǎng)址,開始爬取網(wǎng)址對應(yīng)的頁面,并對頁面中的獲取信息數(shù)據(jù)存儲到原始數(shù)據(jù)庫中,在存儲數(shù)據(jù)的同時(shí),將頁面中發(fā)現(xiàn)的新的網(wǎng)絡(luò)地址,存放到預(yù)先設(shè)置的URL列表中,當(dāng)數(shù)據(jù)保存完成后,再用于判定是否開啟新的進(jìn)程用于逐條爬取URL列表中的網(wǎng)址。
第三步:將URL列表中的網(wǎng)址根據(jù)第二步的算法進(jìn)行爬取新的頁面數(shù)據(jù)和新的URL網(wǎng)址,分別存放到數(shù)據(jù)庫和URL列表中,重復(fù)二、三步過程。
第四步:在URL列表中或者根據(jù)用戶預(yù)先設(shè)置的停止條件,停止數(shù)據(jù)爬取。并將數(shù)據(jù)庫中的信息進(jìn)行賽選分析,獲得可用信息,其流程圖如圖1所示:
圖1 通用網(wǎng)絡(luò)爬蟲采集數(shù)據(jù)流程圖
聚焦型爬蟲與通用型爬蟲相類似,但是其更具有目的性,因此相比于通用型爬蟲而言,添加了目標(biāo)的定義和URL過濾機(jī)制,即在通用型爬蟲基礎(chǔ)上額外添加三個(gè)關(guān)卡,包括目標(biāo)的定義、鏈接的過濾及URL篩選功能。其步驟如下所示:
第一步對需要爬取的內(nèi)容進(jìn)行范圍劃定,選取爬取目標(biāo)。找到需要爬取內(nèi)容相關(guān)的網(wǎng)站URL,以便爬取的范圍具有相關(guān)性,并且將爬取范圍縮小。
第二步:針對性的選取URL進(jìn)行初始化。初始化的URL 可以是一個(gè)也可以是多個(gè),URL地址由用戶自行選擇,一般情況下根據(jù)需要爬取的行業(yè)網(wǎng)址進(jìn)行選擇。
第二步:網(wǎng)絡(luò)爬蟲依據(jù)用戶輸入的網(wǎng)址,開始爬取網(wǎng)址對應(yīng)的頁面,并對頁面中的獲取信息數(shù)據(jù)存儲到原始數(shù)據(jù)庫中,在存儲數(shù)據(jù)的同時(shí),在所檢索的頁面中發(fā)現(xiàn)新的網(wǎng)絡(luò)地址時(shí),便開始從新的網(wǎng)絡(luò)地址中獲取目標(biāo)信息,并將過濾掉的URL存放到預(yù)先設(shè)置的URL列表中,當(dāng)數(shù)據(jù)保存完成后,再從網(wǎng)絡(luò)地址隊(duì)列中,根據(jù)網(wǎng)絡(luò)地址的檢索算法,設(shè)置其訪問優(yōu)先級別,通過優(yōu)先級別,來設(shè)置下一個(gè)目標(biāo)地址。用于判定是否開啟新的進(jìn)程用于逐條爬取URL列表中的網(wǎng)址。因?yàn)椴煌呐廊z索順序,可能導(dǎo)致爬取效率和結(jié)果不同。
第三步:將URL列表中的網(wǎng)址根據(jù)第二步的算法進(jìn)行爬取新的頁面數(shù)據(jù)和新的URL網(wǎng)址,分別存放到數(shù)據(jù)庫和URL列表中,重復(fù)二、三步過程。
第四步:在URL列表中或者根據(jù)用戶預(yù)先設(shè)置停止條件,便停止檢索頁面中的數(shù)據(jù)操作。并將數(shù)據(jù)庫中的信息進(jìn)行賽選分析,獲取到有用的信息。其流程圖如圖2所示:
圖2 聚焦類型爬蟲采集數(shù)據(jù)流程圖
上面針對爬蟲的分類進(jìn)行了簡要描述,但是網(wǎng)絡(luò)數(shù)據(jù)爬取的過程中,針對URL列表中多個(gè)URL網(wǎng)址數(shù)據(jù),如何選取合適的爬取順序,是一個(gè)關(guān)鍵。通常情況下,針對通用型爬蟲來說,爬取的順序選擇對數(shù)據(jù)爬取的結(jié)果和效率影響不大,但是針對通用型爬蟲爬取數(shù)據(jù)量大且內(nèi)容相識度可能不高,冗余量非常大。相對于聚焦類型的爬蟲來說,所需要檢索的數(shù)據(jù)具有很強(qiáng)的目的性,因此選擇爬取URL網(wǎng)址的順序至關(guān)重要,因?yàn)檫x擇不同的爬行策略會(huì)大大影響爬行的結(jié)果和效率。下面針對一些常用的爬行策略,進(jìn)行分別介紹。
常見的爬行策略包括深度算法優(yōu)先、廣度算法優(yōu)先、大型網(wǎng)站優(yōu)先、反鏈?zhǔn)絻?yōu)先策略等。
如圖3所示,假如網(wǎng)絡(luò)上有一個(gè)待爬取的網(wǎng)站,A1,A2,A3,An,A11,A12,A1n,A31,A32,A33,A121,A122,A12n,這些頁面分別是該網(wǎng)站下的不同頁面,其箭頭是網(wǎng)頁所在網(wǎng)絡(luò)層次結(jié)構(gòu)。
圖3 待爬取網(wǎng)站頁面網(wǎng)絡(luò)層次結(jié)構(gòu)表現(xiàn)圖
假設(shè)該網(wǎng)站的網(wǎng)頁A1,A2,A3,An,A11,A12,A1n,A31,A32,A33等在等待隊(duì)列中排序,根據(jù)現(xiàn)有的爬行策略,所獲取的數(shù)據(jù)結(jié)果是不同的。
如果按照深度算法優(yōu)先去爬取數(shù)據(jù)的話,此時(shí)會(huì)先爬取第一個(gè)目標(biāo)網(wǎng)頁,然后根據(jù)這個(gè)網(wǎng)頁的下一層網(wǎng)絡(luò)超級鏈接依次深入爬取完整個(gè)目錄結(jié)構(gòu)再返回到上一層目錄結(jié)果進(jìn)行數(shù)據(jù)爬取。
按照深度算法優(yōu)先的爬行策略規(guī)則,圖3-3網(wǎng)站中的頁面檢索順序是:
A1→A11→A12→A121→A122→A12n→A1n→A2→A3→A31→A32→A33→An。
如果按照廣度算法優(yōu)先規(guī)則去爬取數(shù)據(jù),在這種情況下,爬取第一個(gè)網(wǎng)絡(luò)目標(biāo)網(wǎng)頁,然后在該頁面同層次的其他網(wǎng)頁將會(huì)在后續(xù)的爬取隊(duì)列中等待,待將該層次的所有頁面遍歷完成后,在爬取該頁面的其他層次頁面繼續(xù)遍歷,直至該網(wǎng)站的所有頁面被遍歷完全。因此,按照廣度算法優(yōu)先的策略,圖3網(wǎng)站中的頁面檢索順序是:
A1→A2→A3→An→A11→A12→A1n→A31→A32→A33→A121→A122→A12n。
除以上兩種爬行算法策略外,大型網(wǎng)站優(yōu)先爬行算法策略也經(jīng)常使用。在該種策略算法中,會(huì)將網(wǎng)站中的所有對應(yīng)網(wǎng)頁進(jìn)行分類,如若頁面數(shù)量很多的情況下,該網(wǎng)站統(tǒng)稱為大站,如果按照大站優(yōu)先策略,網(wǎng)頁數(shù)目越多的網(wǎng)站優(yōu)先爬取。
反鏈優(yōu)先策略是根據(jù)該網(wǎng)頁被其他網(wǎng)頁指向或者引用的次數(shù),因?yàn)檫@個(gè)次數(shù)在一定程度上表示該網(wǎng)頁被其他同類網(wǎng)頁引用、推薦的次數(shù)。因此,如果按反鏈優(yōu)先策略去爬取數(shù)據(jù)的話,這種反鏈數(shù)量越多,該網(wǎng)頁將會(huì)被優(yōu)先爬取。
基于高職院校的信息爬取采用了綜合爬取方法,該方法使用了深度優(yōu)先及反鏈優(yōu)先策略的結(jié)合技術(shù),開發(fā)了一個(gè)根據(jù)關(guān)鍵詞檢索高職教育教學(xué)信息的檢索系統(tǒng),該系統(tǒng)將網(wǎng)絡(luò)中零散的數(shù)據(jù)信息,通過在線數(shù)據(jù)分析,將符合條件的URL保存到線下數(shù)據(jù)庫中。具體方法簡要描述如下:
(1)為了爬取目標(biāo)數(shù)據(jù),檢索網(wǎng)頁中的網(wǎng)絡(luò)關(guān)鍵詞,并將獲取的數(shù)據(jù)進(jìn)行分類統(tǒng)計(jì)分析,在所有網(wǎng)頁中獲取到最有結(jié)果即為符合條件的最優(yōu)質(zhì)網(wǎng)頁。
(2)將有可能在爬取過程中丟失的數(shù)據(jù),使用pandas 包進(jìn)行二次處理,并將獲取的網(wǎng)絡(luò)地址信息存放到數(shù)據(jù)庫中或者本地表格中。
(3)將數(shù)據(jù)進(jìn)行數(shù)據(jù)在處理,該操作包括數(shù)據(jù)預(yù)處理,數(shù)據(jù)在分析,保存操作等。
(4)綜合測試,將所爬取的數(shù)據(jù)進(jìn)行綜合分析并測試,得到最后的爬取結(jié)果。
文章首先對網(wǎng)絡(luò)爬蟲進(jìn)行了簡要的描述和分類,爬蟲包括通用類型爬蟲,聚焦類型爬蟲。但是針對通用類型爬蟲爬取數(shù)據(jù)量大且內(nèi)容相識度可能不高。相對于聚焦類型爬蟲而言,所需要的爬取數(shù)據(jù)具有很強(qiáng)的目的性,因此根據(jù)該特性,描述了常用的爬行策略,包括深度算法優(yōu)先、廣度算法優(yōu)先、大型網(wǎng)站優(yōu)先、OPIC策略等。選擇不同的爬取策略會(huì)大大影響爬取的結(jié)果和效率。基于高職院校的信息爬取采用了綜合爬取方法,該方法使用了深度優(yōu)先及反鏈優(yōu)先策略的結(jié)合技術(shù),開發(fā)了一個(gè)根據(jù)關(guān)鍵詞檢索高職教育教學(xué)信息的檢索系統(tǒng),系統(tǒng)仍處于試用階段,仍有爬取耗時(shí)多、爬取數(shù)據(jù)精準(zhǔn)度不夠等問題,仍需繼續(xù)進(jìn)一步完善。
[1]李連天.基于大數(shù)據(jù)技術(shù)的崗位信息爬取與分析[J].信息與電腦(理論版),2021,33(02):177-180.
[2]簡悅,汪心瀛,楊明昕.基于Python的豆瓣網(wǎng)站數(shù)據(jù)爬取與分析[J].電腦知識與技術(shù),2020,16(32):51-53.
[3]劉曉知.基于Python的招聘網(wǎng)站信息爬取與數(shù)據(jù)分析[J].電子測試,2020(12):75-76+110.
[4]傅駿,鄭丁元,張峻寧,莫成,高一心.Python爬蟲技術(shù)在文獻(xiàn)計(jì)量學(xué)中應(yīng)用實(shí)踐[J].計(jì)算機(jī)產(chǎn)品與流通,2019(07):133.
[5]仇明.一種教育輿情的爬蟲程序設(shè)計(jì)[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報(bào),2021,23(01):12-14+18.
大數(shù)據(jù)時(shí)代下基于Python的高職教育信息爬取與數(shù)據(jù)分析(項(xiàng)目類型:一般項(xiàng)目,項(xiàng)目編號:GJJ191677)