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