楊健
隨著移動(dòng)互聯(lián)網(wǎng)的日益普及和廣泛應(yīng)用,網(wǎng)絡(luò)上的資訊成為人們獲取信息的重要來(lái)源。人們通常根據(jù)需求使用百度等搜索引擎,輸入關(guān)鍵字,檢索所需的網(wǎng)頁(yè)內(nèi)容。在瀏覽網(wǎng)絡(luò)資訊信息的同時(shí),人們還希望能夠?qū)⑦@些信息保存下來(lái),選擇適當(dāng)?shù)姆椒ㄟM(jìn)行數(shù)據(jù)分析,得出有效結(jié)論,為日后相關(guān)決策提供可靠依據(jù)。
那么如何保存網(wǎng)頁(yè)上的信息呢?通常情況下,大家會(huì)選中網(wǎng)頁(yè)上需要的信息,然后通過(guò)“復(fù)制”和“粘貼”操作,保存在電腦的本地文件中。這種方法雖然簡(jiǎn)單直觀,但是操作繁復(fù),不適宜大批量數(shù)據(jù)信息的采集。為了準(zhǔn)確便捷地獲取網(wǎng)絡(luò)中的海量數(shù)據(jù),人們?cè)O(shè)計(jì)開(kāi)發(fā)了多種用于采集數(shù)據(jù)信息的專業(yè)工具,借助專業(yè)工具中網(wǎng)絡(luò)爬蟲(chóng)的強(qiáng)大功能,能夠更加準(zhǔn)確、方便、快速地獲取網(wǎng)頁(yè)信息。這樣的專業(yè)數(shù)據(jù)采集工具有很多種,本文以“八爪魚(yú)”數(shù)據(jù)采集工具為例,介紹專業(yè)數(shù)據(jù)采集工具的功能、原理及使用方法。
“八爪魚(yú)”數(shù)據(jù)采集工具的功能
“八爪魚(yú)”數(shù)據(jù)采集工具是一款通用的數(shù)據(jù)采集器,能夠采集98%的網(wǎng)頁(yè)上的文本信息。它可根據(jù)不同網(wǎng)站提供多種網(wǎng)頁(yè)采集策略,也可以自定義配置,以本地采集或云采集的方式對(duì)選中網(wǎng)站中的單個(gè)網(wǎng)頁(yè)或多個(gè)網(wǎng)頁(yè)的內(nèi)容信息進(jìn)行自動(dòng)提取,并將獲取結(jié)果保存在Excel、CSV、HTML、數(shù)據(jù)庫(kù)格式文件中,以方便后續(xù)的數(shù)據(jù)處理與分析。
“八爪魚(yú)”數(shù)據(jù)采集工具的原理
一般情況下,人們?yōu)g覽網(wǎng)頁(yè)時(shí),首先要輸入網(wǎng)站的網(wǎng)址;然后通過(guò)鼠標(biāo)單擊網(wǎng)頁(yè)上的按鈕或熱點(diǎn)等操作,找到所要獲取的相關(guān)信息;最后選中這些信息,提取出來(lái),保存到特定格式的文件中。“八爪魚(yú)”數(shù)據(jù)采集工具的核心原理是通過(guò)內(nèi)置Firefox內(nèi)核瀏覽器,模擬上述人為瀏覽網(wǎng)頁(yè)的行為,對(duì)網(wǎng)頁(yè)的信息進(jìn)行全自動(dòng)提取。這些功能由“八爪魚(yú)”采集器的三個(gè)程序完成:負(fù)責(zé)任務(wù)配置及管理的主程序;任務(wù)的云采集控制和云集成數(shù)據(jù)的管理程序;數(shù)據(jù)導(dǎo)出程序。
“八爪魚(yú)”數(shù)據(jù)采集工具的操作
使用“八爪魚(yú)”采集器之前,我們要進(jìn)入其官方網(wǎng)站https://www.bazhuayu.com/,下載并安裝“八爪魚(yú)”采集器客戶端(本文以“八爪魚(yú)”8.0版軟件為例)。打開(kāi)客戶端軟件,注冊(cè)登錄后即可使用。
1.使用模板采集數(shù)據(jù)
“八爪魚(yú)”客戶端中內(nèi)置了很多網(wǎng)站的采集模板,我們可以根據(jù)需求使用這些模板,如圖1所示,按照提示步驟簡(jiǎn)單快捷地全自動(dòng)獲取網(wǎng)站信息。操作過(guò)程分三步:第一,選擇目標(biāo)網(wǎng)站的模板;第二,配置數(shù)據(jù)采集參數(shù)(采集的關(guān)鍵字、采集的頁(yè)數(shù)等),選擇采集模式(本地采集或云采集)自動(dòng)提取數(shù)據(jù);第三,選擇輸出的文件格式,導(dǎo)出數(shù)據(jù)。
圖1? 客戶端中內(nèi)置的網(wǎng)站采集模板
上述操作完成后,“八爪魚(yú)”客戶端會(huì)將整個(gè)操作過(guò)程及提取的數(shù)據(jù)以任務(wù)的形式進(jìn)行保存。通過(guò)客戶端“我的任務(wù)”項(xiàng),可以隨時(shí)查看已提取的數(shù)據(jù),也可以重復(fù)執(zhí)行或修改當(dāng)前任務(wù)。
2.自定義采集數(shù)據(jù)
當(dāng)我們希望按照自己的要求獲取網(wǎng)頁(yè)上的個(gè)性化數(shù)據(jù)時(shí),就需要使用自定義數(shù)據(jù)采集模式。首先要確定目標(biāo)網(wǎng)站和采集需求;然后打開(kāi)網(wǎng)頁(yè),配置采集選項(xiàng),提取數(shù)據(jù);最后導(dǎo)出數(shù)據(jù)到指定格式的文件中。
不管使用“八爪魚(yú)”客戶端的哪種模式采集網(wǎng)頁(yè)數(shù)據(jù)信息,整個(gè)流程都可統(tǒng)一為配置任務(wù)、采集數(shù)據(jù)和導(dǎo)出數(shù)據(jù)三個(gè)步驟。其中,配置采集選項(xiàng)參數(shù)是準(zhǔn)確獲取網(wǎng)頁(yè)數(shù)據(jù)的關(guān)鍵。
“八爪魚(yú)”數(shù)據(jù)采集工具的應(yīng)用案例
“八爪魚(yú)”數(shù)據(jù)采集工具能夠采集大多數(shù)網(wǎng)站上的網(wǎng)頁(yè)信息,而非只針對(duì)某類專業(yè)網(wǎng)站數(shù)據(jù)進(jìn)行采集。下面以獲取豆瓣電影Top 250(https://movie.douban.com/top 250)網(wǎng)頁(yè)數(shù)據(jù)為例,介紹“八爪魚(yú)”數(shù)據(jù)采集工具的具體使用方法。
豆瓣網(wǎng)站是根據(jù)每部影片看過(guò)的人數(shù)以及該影片所得的評(píng)價(jià)等綜合數(shù)據(jù),通過(guò)算法分析產(chǎn)生豆瓣電影Top 250榜單。豆瓣電影前250名的數(shù)據(jù)信息分10個(gè)連續(xù)網(wǎng)頁(yè)顯示,每個(gè)網(wǎng)頁(yè)呈現(xiàn)25部電影,每部電影都包括電影排名、電影海報(bào)、電影中英文名稱、電影導(dǎo)演及主演、參評(píng)人數(shù)、豆瓣得分等相關(guān)信息。我們可以根據(jù)實(shí)際需求,使用“八爪魚(yú)”數(shù)據(jù)采集工具獲取豆瓣電影Top 250的詳細(xì)數(shù)據(jù),具體方法如下。
1.獲取榜單中某一部電影的信息
首先,查看豆瓣電影網(wǎng)頁(yè)中關(guān)于某部電影的信息,如《霸王別姬》,確定要獲取的信息內(nèi)容:電影排名、電影名、導(dǎo)演、主要演員和劇情簡(jiǎn)介五項(xiàng)。其次,在“八爪魚(yú)”客戶端的首頁(yè)中,輸入該部電影網(wǎng)頁(yè)的網(wǎng)址,鼠標(biāo)單擊“開(kāi)始采集”按鈕,打開(kāi)該網(wǎng)頁(yè);在顯示網(wǎng)頁(yè)的窗口中,鼠標(biāo)單擊“NO2 豆瓣電影Top 250”標(biāo)簽;在彈出的“操作提示”窗口中選擇“采集該元素文本”,在“配置采集字段”窗口中顯示出“ NO2 豆瓣電影Top 250 ”選項(xiàng)。重復(fù)上述操作,分別選中網(wǎng)頁(yè)中“霸王別姬(1993)”“導(dǎo)演:陳凱歌”等其他標(biāo)簽完成采集字段的配置,并修改字段名稱。再次,在“操作提示”窗口中執(zhí)行“保存并開(kāi)始采集”命令,在“運(yùn)行任務(wù)”窗口中啟動(dòng)“本地采集”選項(xiàng)收集數(shù)據(jù)信息。最后,將采集到的數(shù)據(jù)保存到特定格式的文件中。
數(shù)據(jù)信息采集完畢后,除了通過(guò)打開(kāi)數(shù)據(jù)文件查看采集的信息外,還可以從“八爪魚(yú)”客戶端首頁(yè)的“我的任務(wù)”項(xiàng)中查看采集好的數(shù)據(jù)。
2.獲取某個(gè)網(wǎng)頁(yè)的全部電影信息
豆瓣電影榜單中每頁(yè)都會(huì)顯示25部電影的相關(guān)信息,每部電影展示了相同的信息項(xiàng),如電影排名、海報(bào)、電影中文名稱、導(dǎo)演及主演等。那么,“八爪魚(yú)”客戶端提取每部電影數(shù)據(jù)的操作都是相同的。因此,我們只需完成一部電影的數(shù)據(jù)采集配置,其余電影使用循環(huán)重復(fù)操作即可。
首先要確定需求,在“八爪魚(yú)”客戶端的首頁(yè)輸入要獲取信息的網(wǎng)址并打開(kāi)網(wǎng)頁(yè)。其次,單擊鼠標(biāo)選中一部電影相關(guān)數(shù)據(jù)區(qū)域。在彈出的“操作提示”窗口中選擇“選中子元素”選項(xiàng),選中該電影的電影排名、海報(bào)、電影中文名稱、導(dǎo)演及主演等字段;然后再單擊鼠標(biāo)選擇“選中全部”,建立循環(huán)列表,選中該網(wǎng)頁(yè)中25部電影的相關(guān)數(shù)據(jù)項(xiàng);再單擊“采集數(shù)據(jù)”選項(xiàng),在預(yù)覽窗口中,查看修改要采集的數(shù)據(jù)字段名。最后啟動(dòng)“本地采集”,獲取數(shù)據(jù)信息,生成數(shù)據(jù)文件。
3.獲取榜單中全部電影信息
除了上述手動(dòng)選擇數(shù)據(jù)采集字段外,由于豆瓣電影Top 250榜單中每部電影顯示的信息都是相同的,在獲取全部250部電影數(shù)據(jù)時(shí),我們可以通過(guò)“操作提示”窗口中的提示信息,自動(dòng)配置要提取的數(shù)據(jù)項(xiàng),來(lái)完成電影信息的獲取。
首先明確獲取信息需求,確定網(wǎng)址https://movie.douban. com/top 250,在“八爪魚(yú)”客戶端打開(kāi)網(wǎng)頁(yè);在“操作提示”窗口中選擇“自動(dòng)識(shí)別網(wǎng)頁(yè)”。經(jīng)過(guò)“八爪魚(yú)”算法的識(shí)別,自動(dòng)完成采集字段配置,如圖2所示。在“數(shù)據(jù)預(yù)覽”窗口中,可以看到即將采集的字段及數(shù)據(jù),通過(guò)“修改”和“刪除”操作可以調(diào)整字段相關(guān)信息。然后選擇“生成采集設(shè)置”,保存并開(kāi)始采集數(shù)據(jù)。數(shù)據(jù)提取完成后,保存到特定格式的文件中。
圖2 自動(dòng)完成采集字段配置
除了以上這些應(yīng)用之外,“八爪魚(yú)”數(shù)據(jù)采集工具還可以針對(duì)很多采集需求和不同結(jié)構(gòu)的網(wǎng)頁(yè)進(jìn)行數(shù)據(jù)采集,如獲取特定網(wǎng)頁(yè)數(shù)目的數(shù)據(jù)、使用云采集等。這些都是大家可以進(jìn)一步學(xué)習(xí)研究的內(nèi)容。
專業(yè)數(shù)據(jù)采集工具及網(wǎng)絡(luò)爬蟲(chóng)技術(shù)逐漸成為獲取網(wǎng)絡(luò)信息的重要手段,但是在現(xiàn)實(shí)社會(huì)中,并不是所有數(shù)據(jù)都可以任意提取和使用。在數(shù)據(jù)采集時(shí),我們要遵守有關(guān)的法律法規(guī),負(fù)責(zé)任地、合理地使用網(wǎng)絡(luò)技術(shù)和網(wǎng)絡(luò)信息。
基金項(xiàng)目:北京市教育科學(xué)“十三五”規(guī)劃2018年度一般課題“高中信息技術(shù)教學(xué)中計(jì)算思維培養(yǎng)的教學(xué)案例研究”,立項(xiàng)編號(hào):CDDB18183。作者系北京教育學(xué)院“北京市中小學(xué)人工智能教學(xué)實(shí)踐研究”特級(jí)教師工作室成員
參考文獻(xiàn)
[1]祝智庭,樊磊. 普通高中教科書(shū)·信息技術(shù)必修 [M]. 北京:人民教育出版社、中國(guó)地圖出版社,2019.