第2章 網(wǎng)絡(luò)信息內(nèi)容的獲取
在以萬維網(wǎng)(WWW)為主要承載平臺的國際互聯(lián)網(wǎng)成為與報紙傳媒、電臺廣播及電視媒體并重的第4大信息傳播媒體之前,歷史文稿、最新材料等向計算機的手動錄入是信息分析系統(tǒng)最為主要的數(shù)據(jù)來源。在網(wǎng)絡(luò)媒體信息與網(wǎng)絡(luò)通信信息遍布世界各個角落的今天,面向海量互聯(lián)網(wǎng)信息實現(xiàn)全面或有針對性的內(nèi)容獲取,已經(jīng)成為一個嶄新的課題呈現(xiàn)在網(wǎng)絡(luò)內(nèi)容分析人員面前。
鑒于此,本章著重探討互聯(lián)網(wǎng)傳播信息的獲取問題。在把互聯(lián)網(wǎng)傳播信息劃分成網(wǎng)絡(luò)媒體信息與網(wǎng)絡(luò)通信信息的基礎(chǔ)上,本章重點介紹網(wǎng)絡(luò)媒體信息的獲取原理與獲取方法,同時簡要講解網(wǎng)絡(luò)通信信息獲取方案。
2.1 互聯(lián)網(wǎng)信息類型
受益于國際互聯(lián)網(wǎng)基礎(chǔ)設(shè)施建設(shè)的長足發(fā)展,當(dāng)前基于互聯(lián)網(wǎng)實現(xiàn)信息傳播這一網(wǎng)絡(luò)應(yīng)用已經(jīng)相當(dāng)普及。美國因特網(wǎng)監(jiān)測公司調(diào)查數(shù)據(jù)指出,截止到2009年3月世界范圍內(nèi)網(wǎng)站的總數(shù)是224749695個。2009年1月的《中國互聯(lián)網(wǎng)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》顯示,到2008年底域名注冊者在中國境內(nèi)注冊的網(wǎng)站數(shù)(包括在境內(nèi)接入和境外接入)達(dá)到287.8萬個,網(wǎng)頁總數(shù)達(dá)到16086370233個,平均每個網(wǎng)站的網(wǎng)頁數(shù)是5588個,平均每個網(wǎng)頁的字節(jié)數(shù)是28.6KB。
容納著數(shù)以萬TB的信息總量,并且正處于內(nèi)容爆炸性增長的國際互聯(lián)網(wǎng),包含了各式各樣、內(nèi)容迥異的信息,但從宏觀角度上來講,互聯(lián)網(wǎng)公開傳播信息可以分為網(wǎng)絡(luò)媒體信息與網(wǎng)絡(luò)通信信息兩大類型。
2.1.1 網(wǎng)絡(luò)媒體信息
網(wǎng)絡(luò)媒體信息是指傳統(tǒng)意義上的互聯(lián)網(wǎng)網(wǎng)站的公開發(fā)布信息,網(wǎng)絡(luò)用戶通常可以基于通用網(wǎng)絡(luò)瀏覽器(例如,Microsoft公司的Internet Explorer,Netscape公司的Navigator,Mozilla公司的Mozilla Firefox)獲得互聯(lián)網(wǎng)公開發(fā)布的信息。由于本書針對這類信息擁有統(tǒng)一的信息獲取方法,因此將其統(tǒng)稱為網(wǎng)絡(luò)媒體信息。宏觀意義上的網(wǎng)絡(luò)媒體信息涉及面較廣,可以通過網(wǎng)絡(luò)媒體形態(tài)、發(fā)布信息類型、媒體發(fā)布方式、網(wǎng)頁具體形態(tài)與信息交互協(xié)議等多種劃分方法進一步細(xì)分與區(qū)別網(wǎng)絡(luò)媒體信息的組成。
1.網(wǎng)絡(luò)媒體形態(tài)
根據(jù)網(wǎng)絡(luò)媒體具體形態(tài)的不同,網(wǎng)絡(luò)媒體可以分為廣播式媒體與交互式媒體兩類。其中,傳統(tǒng)的廣播式媒體主要包含新聞網(wǎng)站、論壇(BBS)、博客(Blog)等形態(tài);新興的交互式媒體涵蓋搜索引擎、多媒體(視/音頻)點播、網(wǎng)上交友、網(wǎng)上招聘與電子商務(wù)(網(wǎng)絡(luò)購物)等形態(tài)。并且,每種形態(tài)的網(wǎng)絡(luò)媒體都以各自的方式向互聯(lián)網(wǎng)用戶推送其公開發(fā)布信息。
2.發(fā)布信息類型
從公開發(fā)布信息的具體類型上看,網(wǎng)絡(luò)媒體信息可以細(xì)分為文本信息、圖像信息、音頻信息與視頻信息4種類型,其中,網(wǎng)絡(luò)文本信息始終是網(wǎng)絡(luò)媒體信息中占比最大的信息類型。
3.媒體發(fā)布方式
按照網(wǎng)絡(luò)媒體所選擇信息發(fā)布方式的不同,網(wǎng)絡(luò)媒體信息還可以分成可直接匿名瀏覽的公開發(fā)布信息,以及需實現(xiàn)身份認(rèn)證才可進一步點擊閱讀的網(wǎng)絡(luò)媒體發(fā)布信息。
4.網(wǎng)頁具體形態(tài)
《中國互聯(lián)網(wǎng)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》根據(jù)超鏈接網(wǎng)絡(luò)地址(統(tǒng)一資源定位符,URL)的組成,將網(wǎng)頁分成URL中不含“?”或輸入?yún)?shù)的靜態(tài)網(wǎng)頁,以及URL中含“?”或輸入?yún)?shù)的動態(tài)網(wǎng)頁兩類。針對網(wǎng)頁內(nèi)容的具體構(gòu)成形態(tài),還可以對網(wǎng)絡(luò)媒體信息中的靜態(tài)網(wǎng)頁與動態(tài)網(wǎng)頁進行更加明確地區(qū)分。
網(wǎng)頁主體內(nèi)容以文本形式,而網(wǎng)頁內(nèi)嵌鏈接信息以超鏈接網(wǎng)絡(luò)地址格式存在于網(wǎng)頁源文件中的網(wǎng)頁屬于靜態(tài)網(wǎng)頁,如圖2-1所示。網(wǎng)頁主體內(nèi)容或網(wǎng)頁內(nèi)嵌鏈接信息完全封裝于網(wǎng)頁源文件中的腳本語言片段內(nèi)的網(wǎng)頁屬于動態(tài)網(wǎng)頁,如圖2-2所示。
圖2-1 靜態(tài)網(wǎng)頁實例
圖2-2 動態(tài)網(wǎng)頁實例
從網(wǎng)頁內(nèi)容的構(gòu)成形態(tài)不難發(fā)現(xiàn),動態(tài)網(wǎng)頁與靜態(tài)網(wǎng)頁不同,它是使用傳統(tǒng)的基于HTML標(biāo)記匹配的網(wǎng)頁解析方法提取網(wǎng)頁主體內(nèi)容,以及網(wǎng)頁內(nèi)嵌鏈接所對應(yīng)的網(wǎng)絡(luò)超鏈接地址。
5.信息交互協(xié)議
按照所使用的信息交互協(xié)議的不同,網(wǎng)絡(luò)媒體信息可以分為HTTP(S)信息、FTP信息、MMS信息、RTSP信息與已經(jīng)不多見的Gopher信息等。其中,MMS信息與RTSP信息屬于視/音頻點播協(xié)議。當(dāng)互聯(lián)網(wǎng)用戶通過網(wǎng)絡(luò)瀏覽器點擊MMS或RTSP協(xié)議信息時,瀏覽器會通過操作系統(tǒng)調(diào)用該協(xié)議解析所對應(yīng)的默認(rèn)應(yīng)用程序,實現(xiàn)互聯(lián)網(wǎng)用戶請求的視/音頻片段播放。
2.1.2 網(wǎng)絡(luò)通信信息
互聯(lián)網(wǎng)用戶使用除網(wǎng)絡(luò)瀏覽器以外的專用客戶端軟件,實現(xiàn)與特定點的通信或進行點對點通信時所交互的信息屬于網(wǎng)絡(luò)通信信息。常見的網(wǎng)絡(luò)通信信息包括使用電子郵件客戶端收發(fā)信件時通過網(wǎng)絡(luò)傳輸?shù)男畔ⅲ约笆褂眉磿r聊天工具進行點對點交流時所傳輸?shù)木W(wǎng)絡(luò)信息。鑒于網(wǎng)絡(luò)通信信息在一定程度上并不屬于網(wǎng)絡(luò)公開發(fā)布信息,本章將只對這類信息的獲取原理與獲取方法進行簡要探討。
2.2 網(wǎng)絡(luò)媒體信息獲取原理
與面向特定點的網(wǎng)絡(luò)通信信息的獲取范圍不同,網(wǎng)絡(luò)媒體信息的獲取范圍在理論上可以是整個國際互聯(lián)網(wǎng)。傳統(tǒng)的網(wǎng)絡(luò)媒體信息的獲取從預(yù)先設(shè)定的、包含一定數(shù)量URL的初始網(wǎng)絡(luò)地址集合出發(fā),獲取初始集合中每個網(wǎng)絡(luò)地址所對應(yīng)的發(fā)布內(nèi)容。而網(wǎng)絡(luò)媒體信息的獲取,一方面將初始網(wǎng)絡(luò)地址發(fā)布信息的主體內(nèi)容按照系列內(nèi)容判重機制,有選擇地存入互聯(lián)網(wǎng)信息庫。另一方面,進一步提取已獲取信息內(nèi)嵌的超鏈接網(wǎng)絡(luò)地址,并將所有超鏈接網(wǎng)絡(luò)地址置入待獲取地址隊列,以“先入先出”方式逐一提取隊列中的每一個網(wǎng)絡(luò)地址發(fā)布的信息。網(wǎng)絡(luò)媒體信息獲取環(huán)節(jié)循環(huán)開展待獲取隊列中的網(wǎng)絡(luò)地址發(fā)布信息獲取、已獲取信息主體內(nèi)容提取、判重與信息存儲,以及已獲取信息內(nèi)嵌網(wǎng)絡(luò)地址提取并存入待獲取地址隊列操作,直至遍布所需的互連網(wǎng)絡(luò)范圍。
2.2.1 網(wǎng)絡(luò)媒體信息獲取理想流程
理想的網(wǎng)絡(luò)媒體信息獲取流程主要由初始URL集合——信息“種子”集合、等待獲取的URL隊列、信息獲取模塊、信息解析模塊、信息判重模塊與互聯(lián)網(wǎng)信息庫共同組成,如圖2-3所示。
圖2-3 網(wǎng)絡(luò)媒體信息獲取理想流程
1.初始URL集合
初始URL集合概念最初由搜索引擎研究人員提出,商用搜索引擎為了使自身擁有的信息充分覆蓋整個國際互聯(lián)網(wǎng),需要維護包含相當(dāng)數(shù)量網(wǎng)絡(luò)地址的初始URL集合。搜索引擎跟隨初始URL集合發(fā)布頁面上的網(wǎng)絡(luò)鏈接進入第一級網(wǎng)頁,并進一步跟隨第一級網(wǎng)頁內(nèi)嵌鏈接進入第二級網(wǎng)頁,最終形成周而復(fù)始的跟隨網(wǎng)頁內(nèi)嵌地址的遞歸操作,從而完成所有網(wǎng)頁發(fā)布信息的獲取工作。因此,初始URL集合通常被形象地稱為信息“種子”集合,如圖2-4所示。
圖2-4 跟隨網(wǎng)頁內(nèi)嵌鏈接逐級遞歸遍歷互聯(lián)網(wǎng)絡(luò)
從理論上講,只要維護包含足夠數(shù)量網(wǎng)絡(luò)地址的初始URL集合,搜索引擎即可遍歷整個國際互聯(lián)網(wǎng)(通常還需要網(wǎng)站主動向搜索引擎提供網(wǎng)站地圖Sitemap)。源于搜索引擎應(yīng)用研究的網(wǎng)絡(luò)媒體信息獲取環(huán)節(jié),同樣需要根據(jù)后續(xù)網(wǎng)絡(luò)媒體信息分析環(huán)節(jié)所關(guān)注的互聯(lián)網(wǎng)絡(luò)范圍,事先維護包含一定數(shù)量網(wǎng)絡(luò)地址的初始URL集合,作為信息獲取操作的起點。
2.信息獲取
信息獲取模塊先根據(jù)來自初始網(wǎng)絡(luò)地址集合或URL隊列中的每條網(wǎng)絡(luò)地址信息,確定待獲取內(nèi)容所采用的信息發(fā)布協(xié)議。在完成待獲取內(nèi)容協(xié)議解析操作后,信息獲取模塊將基于特定通信協(xié)議所定義的網(wǎng)絡(luò)交互機制,向信息發(fā)布網(wǎng)站請求所需內(nèi)容,并接收來自網(wǎng)站的響應(yīng)信息,將它們傳遞給后續(xù)的信息解析模塊。基于HTTP協(xié)議發(fā)布的文本信息獲取范例如圖2-5所示,對于HTTP信息網(wǎng)絡(luò)交互過程細(xì)節(jié)可查閱協(xié)議規(guī)范——Hypertext Transfer Protocol-HTTP/1.1,RFC 2616,June1999。
圖2-5 HTTP文本信息獲取范例
在理論原理層面上,立足于開放系統(tǒng)互連參考模型(OSI/RM)的傳輸層,可以通過重構(gòu)各類通信協(xié)議(例如HTTP和FTP等)所定義的網(wǎng)絡(luò)交互過程,實現(xiàn)基于不同通信協(xié)議的發(fā)布內(nèi)容獲取。隨著互聯(lián)網(wǎng)中文本、圖像信息發(fā)布形態(tài)的不斷推陳出新(人機交互式信息發(fā)布形態(tài)的出現(xiàn)直接導(dǎo)致文本、圖像信息請求網(wǎng)絡(luò)通信過程愈加復(fù)雜),視/音頻發(fā)布內(nèi)容的層出不窮(視/音頻信息網(wǎng)絡(luò)交互過程重構(gòu)困難,部分視/音頻網(wǎng)絡(luò)通信協(xié)議交互細(xì)節(jié)并未公開),純粹依賴于各類協(xié)議的網(wǎng)絡(luò)通信交互過程重構(gòu),實現(xiàn)信息內(nèi)容獲取的操作復(fù)雜度和網(wǎng)絡(luò)交互重構(gòu)難度呈指數(shù)級增長。
因此,當(dāng)前關(guān)于信息獲取的研究正在逐步轉(zhuǎn)向在應(yīng)用層利用開源瀏覽器部分組件,甚至整個開源瀏覽器實現(xiàn)網(wǎng)絡(luò)媒體信息內(nèi)容的主動獲取,其相關(guān)內(nèi)容將在本章“網(wǎng)絡(luò)媒體信息獲取方法”一節(jié)中做進一步講解。
3.信息解析
在信息獲取模塊獲得網(wǎng)絡(luò)媒體響應(yīng)信息后,信息解析模塊的核心工作是根據(jù)不同通信協(xié)議的具體定義,從網(wǎng)絡(luò)響應(yīng)信息相應(yīng)位置提取發(fā)布信息的主體內(nèi)容。為了便于開展信息采集與否判斷,信息解析模塊通常還將按照信息判重的要求,進一步維護與網(wǎng)絡(luò)內(nèi)容發(fā)布緊密相關(guān)的關(guān)鍵信息字段,例如信息來源、信息標(biāo)題,以及在網(wǎng)絡(luò)響應(yīng)信息頭部可能存在的信息失效時間(Expires)或信息最近修改時間(Last-Modified)等。信息解析模塊會把提取到的內(nèi)容直接交給信息判重模塊,在通過必要的重復(fù)內(nèi)容檢查后,網(wǎng)絡(luò)媒體發(fā)布信息的主體內(nèi)容及其對應(yīng)的關(guān)鍵字段將被存入互聯(lián)網(wǎng)信息庫。
為了實現(xiàn)跟隨網(wǎng)頁內(nèi)嵌鏈接遞歸遍歷所關(guān)注的網(wǎng)絡(luò)范圍這一技術(shù)需求,對于響應(yīng)信息類型(Content-Type)是text/*的HTTP文本信息,信息解析模塊在完成響應(yīng)信息主體內(nèi)容及關(guān)鍵信息字段提取的同時,還需要進一步開展HTTP文本信息內(nèi)嵌URL的提取操作。信息解析模塊實現(xiàn)HTTP文本信息內(nèi)嵌URL提取的理論依據(jù),是HTML語言關(guān)于網(wǎng)絡(luò)超文本鏈接(Hyper Text Link)標(biāo)記的系列定義。信息解析模塊一般通過遍歷HTTP文本信息全文,查找網(wǎng)絡(luò)超文本鏈接標(biāo)記的方法,實現(xiàn)HTTP文本信息內(nèi)嵌URL的提取。當(dāng)前信息解析模塊還可以先面向HTTP文本信息構(gòu)建文檔對象模型(Document Object Module,DOM)樹,并從HTML DOM樹的相應(yīng)結(jié)點獲取HTTP文本內(nèi)嵌URL信息,本章隨后一節(jié)將進行關(guān)于HTML DOM樹的詳細(xì)介紹。
4.信息判重
在網(wǎng)絡(luò)媒體信息獲取環(huán)節(jié),信息判重模塊主要基于網(wǎng)絡(luò)媒體信息URL與內(nèi)容摘要兩大元素,實現(xiàn)信息采集/存儲的與否判斷。其中,URL判重通常是在信息采集操作啟動前進行,而內(nèi)容摘要判重則是在采集信息存儲時發(fā)揮作用。
來自HTTP文本信息的內(nèi)嵌URL信息,首先通過URL判重操作確定每個內(nèi)嵌URL是否已經(jīng)實現(xiàn)信息獲取。對于尚未實現(xiàn)發(fā)布內(nèi)容采集的全新URL,信息獲取模塊將會啟動完整的信息采集流程。對于已經(jīng)實現(xiàn)內(nèi)容采集,同時注明信息失效時間及最近修改時間的URL(URL信息失效時間及最近修改時間已由信息解析模塊從網(wǎng)絡(luò)響應(yīng)信息中提取得到,并存于互聯(lián)網(wǎng)信息庫中),信息采集模塊將會向?qū)?yīng)的網(wǎng)絡(luò)內(nèi)容發(fā)布媒體發(fā)起信息查新獲取操作。此時,信息采集模塊只會對于已經(jīng)失效或者已被重新修改的網(wǎng)絡(luò)內(nèi)容重新啟動完整的信息采集操作。信息采集模塊通常被要求重新采集已經(jīng)實現(xiàn)信息獲取,但未注明信息失效時間及最近修改時間的URL所對應(yīng)的發(fā)布內(nèi)容。
在面向沒有提供發(fā)布信息失效時間及最近修改時間的網(wǎng)絡(luò)媒體(網(wǎng)絡(luò)通信協(xié)議并未強制要求響應(yīng)信息必須提供信息失效時間及最近修改時間)時,僅依靠URL判重機制,是無法避免同一內(nèi)容被重復(fù)獲取的。因此在獲取信息存儲前,需要進一步引入內(nèi)容摘要判重機制。網(wǎng)絡(luò)媒體信息獲取環(huán)節(jié)可以基于MD5算法,逐一維護已采集信息的內(nèi)容摘要,杜絕相同內(nèi)容重復(fù)存儲的現(xiàn)象。
2.2.2 網(wǎng)絡(luò)媒體信息獲取的分類
按照信息獲取行為所涉及的網(wǎng)絡(luò)范圍劃分,網(wǎng)絡(luò)媒體信息獲取可以分為面向整個國際互聯(lián)網(wǎng)的全網(wǎng)信息獲取,以及針對某些具體網(wǎng)絡(luò)區(qū)域的定點信息獲取。按照信息獲取行為在工作范圍內(nèi)所關(guān)注的對象劃分,網(wǎng)絡(luò)媒體信息獲取還可以分為針對工作范圍內(nèi)所有發(fā)布信息的面向全部內(nèi)容的信息獲取,以及僅關(guān)注工作網(wǎng)絡(luò)范圍內(nèi)某些熱門話題的基于具體主題的信息獲取。本節(jié)重點介紹全網(wǎng)信息獲取與定點信息獲取在技術(shù)要求與實現(xiàn)方法方面的區(qū)別,并進一步講解基于主題的信息獲取方法,以及該領(lǐng)域代表性技術(shù)——元搜索。
1.全網(wǎng)信息獲取
全網(wǎng)信息獲取工作范圍涉及整個國際互聯(lián)網(wǎng)內(nèi)所有網(wǎng)絡(luò)媒體發(fā)布信息,主要應(yīng)用于搜索引擎(Search Engine),例如Google、Baidu或Yahoo等,和大型內(nèi)容服務(wù)提供商(Content Service Provider)的信息獲取。隨著網(wǎng)絡(luò)新型媒體的不斷出現(xiàn)、網(wǎng)絡(luò)信息發(fā)布形式的更新?lián)Q代,純粹通過跟隨網(wǎng)絡(luò)鏈接已經(jīng)很難達(dá)到遍歷整個互聯(lián)網(wǎng)的效果。因此,全網(wǎng)信息獲取發(fā)起方在不斷更新、擴展用于信息獲取的初始URL集合的同時,還建議新接入互聯(lián)網(wǎng)的網(wǎng)絡(luò)媒體主動向信息獲取方提交自身網(wǎng)站地圖(SiteMap)。這有利于全網(wǎng)信息獲取機制面向新網(wǎng)絡(luò)媒體實現(xiàn)發(fā)布內(nèi)容采集,從而保證其盡可能全面地覆蓋整個國際互聯(lián)網(wǎng)。
正如前文所述,整個國際互聯(lián)網(wǎng)信息總量非常龐大,考慮到本地用于信息采集的存儲空間有限,全網(wǎng)信息獲取發(fā)起方實際上并沒有把所有網(wǎng)絡(luò)媒體信息都采集到本地。搜索引擎或大型內(nèi)容服務(wù)提供商在進行全網(wǎng)信息獲取時,通常基于特定的計算方法(例如Google的PageRank算法)對每條網(wǎng)絡(luò)信息進行評判,只是獲取或長時間保存在信息評判系統(tǒng)中排名靠前的網(wǎng)絡(luò)信息,例如鏈接引用率較高的網(wǎng)絡(luò)媒體發(fā)布內(nèi)容。另一方面,由于工作對象遍布整個國際互聯(lián)網(wǎng),單次全網(wǎng)信息獲取一般需要數(shù)周乃至數(shù)月的時間。因此在面對信息更新相對頻繁的網(wǎng)絡(luò)媒體(如論壇或博客)時,全網(wǎng)信息獲取機制的內(nèi)容失效率相對較高,其對于每個網(wǎng)絡(luò)媒體發(fā)布內(nèi)容獲取的時效性無法實現(xiàn)統(tǒng)一保證。盡管如此,全網(wǎng)信息獲取作為搜索引擎與內(nèi)容服務(wù)提供商不可或缺的信息獲取機制,依然在網(wǎng)絡(luò)信息應(yīng)用中起到極為關(guān)鍵的作用。
2.定點信息獲取
由于全網(wǎng)信息獲取不僅對于內(nèi)容存儲空間要求過高,而且無法保證網(wǎng)絡(luò)媒體發(fā)布內(nèi)容獲取的時效性,因此在網(wǎng)絡(luò)媒體信息獲取只是重點關(guān)注某些特定的網(wǎng)絡(luò)區(qū)域,并且向信息獲取機制相對于媒體內(nèi)容發(fā)布的網(wǎng)絡(luò)時延提出較高要求時,定點信息獲取的概念應(yīng)運而生。
定點信息獲取的工作范圍限制在服務(wù)于信息獲取的初始URL集合中每個URL所屬的網(wǎng)絡(luò)目錄內(nèi),深入獲取每個初始URL所屬的網(wǎng)絡(luò)目錄及其下子目錄中包含的網(wǎng)絡(luò)發(fā)布內(nèi)容,不再向初始URL所屬網(wǎng)絡(luò)目錄的上級目錄,乃至整個互聯(lián)網(wǎng)擴散信息獲取行為。如果說全網(wǎng)信息獲取關(guān)注的是信息獲取操作的全面性,即信息獲取在整個互聯(lián)網(wǎng)中的覆蓋情況,定點信息獲取機制則更加重視在限定的網(wǎng)域范圍內(nèi),進行深入的網(wǎng)絡(luò)媒體發(fā)布內(nèi)容獲取,同時有效保證獲取信息的時效性。
定點信息獲取正是通過周期性地遍歷每個初始URL所屬的網(wǎng)絡(luò)目錄,達(dá)到在初始URL設(shè)定的網(wǎng)域范圍內(nèi)深入獲取網(wǎng)絡(luò)發(fā)布內(nèi)容的技術(shù)需求。與此同時,周期性遍歷初始URL所屬網(wǎng)絡(luò)目錄的時間間隔,是定點信息獲取用于確保內(nèi)容采集時效性的關(guān)鍵參數(shù)。合理設(shè)定周期輪詢、查新獲取初始URL所屬網(wǎng)絡(luò)目錄的時間間隔,可以確保定點信息獲取機制不至于錯失目標(biāo)網(wǎng)絡(luò)媒體不斷更新的發(fā)布內(nèi)容,并且防止信息獲取機制過分增加目標(biāo)媒體的工作負(fù)載。
3.基于主題的信息獲取與元搜索
由于在整個國際互聯(lián)網(wǎng)或限定的網(wǎng)域范圍內(nèi),全面獲取所有網(wǎng)絡(luò)媒體發(fā)布內(nèi)容可能造成本地存儲信息泛濫,因此在所關(guān)注的網(wǎng)絡(luò)范圍內(nèi)只面向某些特定話題進行基于主題的信息獲取,是在面向全部內(nèi)容的信息獲取以外另一個行之有效的信息獲取機制。顧名思義,基于主題的信息獲取只把與預(yù)設(shè)主題相符的內(nèi)容采集到本地,并在信息獲取過程中增加了內(nèi)容識別環(huán)節(jié),可以只是簡單的主題詞匯匹配,也可以面向發(fā)布內(nèi)容進行基于主題的模式識別,從而在關(guān)注的網(wǎng)絡(luò)范圍內(nèi)有選擇地獲取網(wǎng)絡(luò)媒體發(fā)布內(nèi)容。相對于面向全部內(nèi)容的信息獲取,基于主題的信息獲取機制正是通過有效減少需要采集的內(nèi)容總量,進一步降低已采集內(nèi)容的失效率,同時顯著減少服務(wù)于信息采集的內(nèi)容存儲空間。
伴隨搜索引擎應(yīng)用的不斷深入,在搜索引擎的協(xié)助下進行基于主題的信息獲取技術(shù)——元搜索技術(shù),得到了越來越多的應(yīng)用。元搜索屬于特殊的基于主題的信息獲取,它將主題描述詞傳遞給搜索引擎進行信息檢索,并把搜索引擎針對主題描述詞的信息檢索結(jié)果作為基于主題信息獲取的返回內(nèi)容。
元搜索技術(shù)得以實現(xiàn)的關(guān)鍵原因是,每個搜索引擎在為輸入詞目構(gòu)造信息檢索URL時是有規(guī)律可循的。以中/英文信息檢索詞目為例,常用搜索引擎是把英文詞目原本內(nèi)容,或中文詞目所對應(yīng)的漢字編碼作為信息檢索URL的參數(shù)輸入。例如,Baidu是選擇中文詞目的GB編碼作為信息檢索URL參數(shù)。除輸入?yún)?shù)不同以外,用于相同搜索引擎的信息檢索URL的其余部分完全相同,如圖2-6所示。
圖2-6 搜索引擎信息檢索URL構(gòu)造范例
元搜索技術(shù)正是通過在不同搜索引擎的網(wǎng)絡(luò)交互過程中,根據(jù)每個搜索引擎的具體要求構(gòu)造主題描述詞信息檢索URL,向搜索引擎發(fā)起信息檢索請求。元搜索技術(shù)利用搜索引擎進行基于主題的信息獲取操作,它把搜索引擎關(guān)于主題描述詞的信息檢索結(jié)果作為信息獲取對象,從而實現(xiàn)面向特定主題的網(wǎng)絡(luò)發(fā)布內(nèi)容獲取。
2.2.3 網(wǎng)絡(luò)媒體信息獲取的技術(shù)難點
在網(wǎng)絡(luò)媒體信息獲取功能實現(xiàn)過程中,無論是全網(wǎng)信息獲取,還是定點信息獲取,都存在相當(dāng)程度的技術(shù)應(yīng)用實現(xiàn)難度。另外,元搜索作為特殊的基于主題的信息獲取,其在信息獲取結(jié)果排序方面仍然存在尚未完全解決的技術(shù)難點。
首先,網(wǎng)絡(luò)媒體信息獲取的工作對象是信息形態(tài)各異、信息類型多樣的互聯(lián)網(wǎng)媒體。在信息總量迅速膨脹的互聯(lián)網(wǎng)信息面前,網(wǎng)絡(luò)媒體信息獲取機制通常需要在獲取內(nèi)容的全面性和時效性之間做出取舍。與此同時,在面對完全異構(gòu)的網(wǎng)絡(luò)媒體發(fā)布信息時,信息獲取技術(shù)需要在各類不同的網(wǎng)絡(luò)媒體間普遍適用,這又為網(wǎng)絡(luò)媒體信息獲取功能提出了更高的技術(shù)要求。當(dāng)前網(wǎng)絡(luò)媒體信息獲取機制在保留傳統(tǒng)的基于網(wǎng)絡(luò)交互過程重構(gòu)機制實現(xiàn)信息獲取的基礎(chǔ)上,逐步轉(zhuǎn)向在信息獲取過程中集成開源瀏覽器部分組件甚至整體,用于提高技術(shù)功能能級、降低技術(shù)實現(xiàn)難度,至于相關(guān)內(nèi)容將在本章后續(xù)部分予以詳細(xì)介紹。
其次,由于部分網(wǎng)絡(luò)媒體選擇屏蔽過于頻繁的、來自相同客戶端的信息獲取操作,因此定點信息獲取技術(shù)實現(xiàn)的難點還包括在周期性地遍歷設(shè)定網(wǎng)域發(fā)布內(nèi)容,確保定點信息獲取的深入性與時效性的基礎(chǔ)上,有效回避目標(biāo)媒體對于所謂“惡意”信息獲取行為的封禁。要解決這一技術(shù)難點,一方面可以通過適當(dāng)選擇周期遍歷時間間隔,防止信息獲取行為造成網(wǎng)絡(luò)媒體負(fù)載過重;另一方面則涉及定期修改用于內(nèi)容獲取的網(wǎng)絡(luò)客戶端信息請求內(nèi)容(內(nèi)容協(xié)商行為),以避免遭遇目標(biāo)網(wǎng)絡(luò)媒體的拒絕服務(wù)。
最后,元搜索在通過搜索引擎實現(xiàn)基于主題的信息獲取過程中,可以選擇向多個搜索引擎串/并行發(fā)送信息檢索請求,擴大元搜索技術(shù)的網(wǎng)絡(luò)覆蓋面。正是由于這一應(yīng)用需求,對不同主題選擇恰當(dāng)?shù)乃阉饕妫瑫r基于合適的主題相關(guān)度判斷法則,對來自不同搜索引擎的信息檢索結(jié)果實現(xiàn)基于主題的相關(guān)度排序,正是當(dāng)前元搜索技術(shù)研究的難點所在。
2.3 網(wǎng)絡(luò)媒體信息獲取方法
在完成關(guān)于網(wǎng)絡(luò)媒體信息獲取技術(shù)的一般性原理描述后,本節(jié)轉(zhuǎn)而介紹針對各類網(wǎng)絡(luò)媒體的發(fā)布信息獲取方法。按信息發(fā)布方式分類,網(wǎng)絡(luò)媒體信息可分成直接匿名瀏覽信息與需身份認(rèn)證網(wǎng)絡(luò)媒體發(fā)布信息兩類;按網(wǎng)頁具體形態(tài)分類,網(wǎng)絡(luò)媒體信息又可分成靜態(tài)網(wǎng)頁與動態(tài)網(wǎng)頁兩類,本節(jié)首先介紹采用網(wǎng)絡(luò)交互過程重構(gòu)機制,實現(xiàn)需要身份認(rèn)證的靜態(tài)網(wǎng)頁發(fā)布信息獲取方法。
在此基礎(chǔ)上,本節(jié)進一步介紹基于開源瀏覽器腳本解析組件,實現(xiàn)內(nèi)嵌腳本語言片段的動態(tài)網(wǎng)頁發(fā)布信息獲取方法。最后重點介紹基于瀏覽器模擬技術(shù),實現(xiàn)形態(tài)各異、類型各異的網(wǎng)絡(luò)媒體發(fā)布信息獲取。
2.3.1 需身份認(rèn)證靜態(tài)媒體發(fā)布信息獲取
隨著網(wǎng)絡(luò)社區(qū)概念及個性化信息概念的不斷普及,當(dāng)前多數(shù)網(wǎng)絡(luò)媒體首先需要身份認(rèn)證,才可進行正常的內(nèi)容訪問。對于正在進行網(wǎng)絡(luò)瀏覽的用戶而言,身份過程是相對簡單的。互聯(lián)網(wǎng)用戶只需要根據(jù)網(wǎng)絡(luò)內(nèi)容發(fā)布者的提示,在身份認(rèn)證網(wǎng)頁上填寫正確的用戶名、密碼信息,進行必要的圖靈測試(正確輸入以圖像信息顯示的身份認(rèn)證驗證碼內(nèi)容),并提交所有信息,就能成功完成身份認(rèn)證。盡管如此,對于通過網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)信息獲取的計算機而言,增加身份認(rèn)證過程將直接導(dǎo)致用于信息獲取的網(wǎng)絡(luò)通信過程模擬變得更加復(fù)雜。在此重點探討基于網(wǎng)絡(luò)交互重構(gòu)機制,面向需要身份認(rèn)證的對外發(fā)布的網(wǎng)頁形態(tài)(都屬于靜態(tài)網(wǎng)頁范疇的靜態(tài)網(wǎng)絡(luò)媒體),實現(xiàn)發(fā)布內(nèi)容提取的具體方法。
在基于網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)信息獲取的過程中,如果網(wǎng)絡(luò)媒體要求身份認(rèn)證,信息獲取環(huán)節(jié)就需要在原有的信息請求過程重構(gòu)前,首先模擬基于HTTP協(xié)議的網(wǎng)絡(luò)身份認(rèn)證過程,這是由于面向網(wǎng)絡(luò)媒體的身份認(rèn)證通常基于HTTP協(xié)議。基于網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)身份認(rèn)證信息獲取主要涉及用于表明身份認(rèn)證成功的Cookie信息獲得,以及攜帶相關(guān)Cookie信息進一步向網(wǎng)絡(luò)媒體請求發(fā)布內(nèi)容兩個獨立環(huán)節(jié)。
(1)基于Cookie機制實現(xiàn)身份認(rèn)證
Cookie機制用于同一互聯(lián)網(wǎng)客戶端在不同時刻訪問相同網(wǎng)絡(luò)媒體時,客戶端信息的恢復(fù)與繼承。HTTP/1.1針對Cookie機制定義了兩類報頭選項(Header Fields),分別是Set-Cookie選項和Cookie選項。其中,Cookie選項存在于互聯(lián)網(wǎng)客戶端發(fā)送的請求信息中,而Set-Cookie選項則出現(xiàn)在網(wǎng)絡(luò)媒體響應(yīng)信息的頭部。
在互聯(lián)網(wǎng)客戶端向網(wǎng)絡(luò)媒體發(fā)送信息請求,尤其是個性化(自定義)的信息請求時,網(wǎng)絡(luò)媒體響應(yīng)信息頭部通常會包含Set-Cookie選項,返回記錄在網(wǎng)絡(luò)媒體端的互聯(lián)網(wǎng)用戶身份信息。在獲得網(wǎng)絡(luò)媒體響應(yīng)信息后,互聯(lián)網(wǎng)客戶端在提取響應(yīng)信息主體內(nèi)容的同時,還會將響應(yīng)信息中的Set-Cookie選項內(nèi)容存入本地Cookie信息記錄文件。當(dāng)互聯(lián)網(wǎng)客戶端再次向相同的網(wǎng)絡(luò)媒體發(fā)送信息請求時,請求信息就會包含Cookie選項,若Cookie選項內(nèi)容與先前的Set-Cookie選項內(nèi)容一致,則互聯(lián)網(wǎng)客戶端在網(wǎng)絡(luò)媒體端保留的身份信息就會得以繼承,網(wǎng)絡(luò)媒體會自動根據(jù)先前的用戶自定義信息返回相應(yīng)的響應(yīng)內(nèi)容,如圖2-7所示。
圖2-7 基于Cookie機制的HTTP信息交互過程
利用Cookie機制實現(xiàn)身份認(rèn)證,就是在互聯(lián)網(wǎng)客戶端面向需身份認(rèn)證網(wǎng)絡(luò)媒體認(rèn)證成功后,網(wǎng)絡(luò)媒體向客戶端返回記錄在媒體端的用戶信息,即用于表明身份認(rèn)證成功的Cookie信息。只要客戶端在隨后的發(fā)布信息請求中攜帶表明認(rèn)證成功的Cookie信息,網(wǎng)絡(luò)媒體就會向客戶端返回需要身份認(rèn)證才可訪問的網(wǎng)絡(luò)發(fā)布內(nèi)容。對于沒有攜帶表明認(rèn)證成功Cookie的客戶端請求,網(wǎng)絡(luò)媒體則返回身份認(rèn)證失敗信息,并要求用戶進行身份認(rèn)證,如圖2-8所示。
圖2-8 基于Cookie機制實現(xiàn)需身份認(rèn)證才可訪問信息請求
(2)基于網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)信息獲取
基于網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)媒體信息獲取是指立足于真實的網(wǎng)絡(luò)通信過程,通過網(wǎng)絡(luò)編程順序模擬網(wǎng)絡(luò)媒體信息請求過程的各個環(huán)節(jié),最終實現(xiàn)網(wǎng)絡(luò)媒體發(fā)布信息獲取。在面對需身份認(rèn)證才可瀏覽的靜態(tài)媒體進行發(fā)布信息獲取時,網(wǎng)絡(luò)身份認(rèn)證過程與靜態(tài)媒體所含網(wǎng)頁及其內(nèi)嵌URL發(fā)布信息請求過程,都需要進行正確的網(wǎng)絡(luò)交互過程模擬,才能達(dá)到獲取靜態(tài)媒體發(fā)布信息的最終目標(biāo)。
在基于網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)媒體信息獲取過程中,媒體信息獲取環(huán)節(jié)是通過響應(yīng)信息返回碼判斷信息獲取請求是否成功的。一般而言,HTTP/1.X 20X(例如HTTP/1.1 200OK)標(biāo)志著信息請求成功,HTTP/1.X 40X標(biāo)志著信息請求失敗,而HTTP/1.X 401則標(biāo)志著在信息請求過程中身份認(rèn)證失敗,此時網(wǎng)絡(luò)媒體信息獲取環(huán)節(jié)需要智能地進行身份認(rèn)證過程模擬,如圖2-9所示。
當(dāng)針對首次信息請求的響應(yīng)返回碼是401時,媒體信息獲取環(huán)節(jié)首先判斷內(nèi)容發(fā)布媒體身份認(rèn)證過程是否需要圖靈檢測。所謂圖靈檢測是指目前在網(wǎng)絡(luò)媒體身份認(rèn)證過程中普遍使用的高噪聲數(shù)字/字母圖像,在互聯(lián)網(wǎng)客戶端填寫用戶名/密碼信息時,必須同時辨識數(shù)字/字母信息,并與用戶名/密碼信息一同提交,才可以通過身份認(rèn)證。用于網(wǎng)絡(luò)媒體信息獲取的用戶名/密碼信息,可以事先在目標(biāo)媒體上手動申請得到,并針對不同網(wǎng)絡(luò)媒體維護用戶名/密碼庫。關(guān)于圖靈檢測,即用于身份認(rèn)證的驗證碼機器識別相關(guān)內(nèi)容,讀者可以自行查閱本書關(guān)于圖像信息處理的相關(guān)章節(jié)。
需要特別說明的是,在基于網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)靜態(tài)媒體發(fā)布信息獲取過程中,網(wǎng)絡(luò)編程模擬信息請求過程,理論上可以通過充分了解相關(guān)通信協(xié)議的具體交互過程予以實現(xiàn)。但是考慮到每個網(wǎng)絡(luò)媒體身份認(rèn)證過程不盡相同,并且針對不同網(wǎng)絡(luò)媒體發(fā)布信息的請求數(shù)據(jù)包內(nèi)容組成各異,完全基于理論進行通信協(xié)議數(shù)據(jù)交互過程模擬在網(wǎng)絡(luò)交互數(shù)據(jù)包重組與分析環(huán)節(jié)存在諸多難點。
圖2-9 網(wǎng)絡(luò)媒體信息獲取身份認(rèn)證模擬
這時可以在常見的局域網(wǎng)偵聽工具協(xié)助下,手動完成身份認(rèn)證請求與靜態(tài)網(wǎng)頁信息瀏覽全過程,并從偵聽工具中獲得身份認(rèn)證請求數(shù)據(jù)包、網(wǎng)絡(luò)媒體響應(yīng)數(shù)據(jù)包,以及靜態(tài)網(wǎng)頁信息請求數(shù)據(jù)包的具體構(gòu)成,如圖2-10所示。
圖2-10 基于局域網(wǎng)偵聽工具了解網(wǎng)絡(luò)交互數(shù)據(jù)包組成
在此基礎(chǔ)上編程模擬網(wǎng)絡(luò)交互過程時,可以直接按照信息請求數(shù)據(jù)包的實際組成,構(gòu)造身份認(rèn)證及網(wǎng)頁信息請求數(shù)據(jù)包(攜帶表明認(rèn)證成功的Cookie),并在面向身份認(rèn)證請求的響應(yīng)數(shù)據(jù)包相應(yīng)位置提取表明身份認(rèn)證成功的Cookie信息,例如Set-Cookie選項內(nèi)容。在完全掌握真實網(wǎng)絡(luò)通信過程的前提下進行網(wǎng)絡(luò)交互重構(gòu),能夠有效降低網(wǎng)絡(luò)通信數(shù)據(jù)包的重組與分析,以及編程重構(gòu)網(wǎng)絡(luò)交互過程的工作復(fù)雜度。
通過網(wǎng)絡(luò)交互重構(gòu)獲取到靜態(tài)網(wǎng)絡(luò)媒體起始網(wǎng)頁發(fā)布信息后,可以采用傳統(tǒng)的基于HTML標(biāo)記匹配的網(wǎng)頁解析方法,提取網(wǎng)頁主體內(nèi)容及其內(nèi)嵌URL信息。例如,可以從“
與”標(biāo)記對中提取靜態(tài)網(wǎng)頁主體內(nèi)容,從“與”標(biāo)記對中提取網(wǎng)頁內(nèi)嵌URL信息。關(guān)于網(wǎng)頁解析方法可能涉及其他HTML標(biāo)記,讀者可以自行查閱文獻——HTML 4.01 Specification, W3C Recommendation, December 1999。之后,網(wǎng)絡(luò)媒體信息獲取環(huán)節(jié)將繼續(xù)為每個內(nèi)嵌URL構(gòu)建并發(fā)送信息請求包(內(nèi)含表明身份認(rèn)證成功的Cookie),以獲取其發(fā)布內(nèi)容,最終在所關(guān)注的互聯(lián)網(wǎng)范圍內(nèi),針對需要身份認(rèn)證的靜態(tài)網(wǎng)絡(luò)媒體事先發(fā)布信息提取工作。
2.3.2 內(nèi)嵌腳本語言片段的動態(tài)網(wǎng)頁信息獲取
動態(tài)網(wǎng)頁主體內(nèi)容及其內(nèi)嵌URL信息完全封裝于網(wǎng)頁源文件中的腳本語言片段內(nèi),如圖2-11所示。當(dāng)通過網(wǎng)絡(luò)交互重構(gòu)獲得動態(tài)網(wǎng)頁發(fā)布信息時,無法直接使用基于HTML標(biāo)記匹配方法提取網(wǎng)頁主體內(nèi)容及其內(nèi)嵌URL信息。在這種情況下,可以先把動態(tài)網(wǎng)頁中包含的所有腳本語言片段傳遞給Mozilla瀏覽器的腳本解釋組件——SpiderMonkey,或獨立腳本解釋引擎——Rhino,實現(xiàn)動態(tài)腳本解析并獲得腳本片段所對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,進而按照靜態(tài)網(wǎng)頁信息獲取方法完成動態(tài)網(wǎng)頁及其內(nèi)嵌URL發(fā)布內(nèi)容的獲取工作。
圖2-11 動態(tài)網(wǎng)頁主體內(nèi)容封裝于源文件腳本語言片段中
鑒于當(dāng)前JavaScript廣泛應(yīng)用于動態(tài)網(wǎng)頁的編寫,本節(jié)主要講解如何基于腳本解釋引擎Rhino,面向包含JavaScript的動態(tài)網(wǎng)頁實現(xiàn)發(fā)布信息獲取。不過在這以前,首先介紹利用文檔對象模型DOM樹,提取動態(tài)網(wǎng)頁所含腳本語言片段的具體方法。該方法同樣適用于提取靜態(tài)網(wǎng)頁主體內(nèi)容,以及網(wǎng)頁內(nèi)嵌URL信息。
(1)利用HTML DOM樹提取動態(tài)網(wǎng)頁內(nèi)的腳本語言片段
文檔對象模型DOM是以層次結(jié)構(gòu)組織的結(jié)點或信息片段集合,它提供跨平臺并且可應(yīng)用于不同編程語言的標(biāo)準(zhǔn)程序接口。DOM把文檔轉(zhuǎn)換成樹形結(jié)構(gòu),使文檔中的每個部分都成為DOM樹的結(jié)點。HTML DOM是專門應(yīng)用于HTML/XHTML的文檔對象模型,主要包含Window、Document、Location、Screen、Navigator與History等HTML DOM對象。HTML網(wǎng)頁與HTML DOM樹間的對應(yīng)關(guān)系如圖2-12所示。
圖2-12 HTML網(wǎng)頁對應(yīng)的HTML DOM樹
HTML網(wǎng)頁對應(yīng)的HTML DOM樹存儲于瀏覽器內(nèi)存對象中,該對象實現(xiàn)了包含若干方法的標(biāo)準(zhǔn)程序接口。網(wǎng)頁開發(fā)人員可以通過相應(yīng)接口,對HTML DOM樹上的每個結(jié)點進行遍歷、查詢、修改或刪除等操作,從而動態(tài)訪問和實時更新HTML網(wǎng)頁的內(nèi)容、結(jié)構(gòu)與樣式。
動態(tài)HTML網(wǎng)頁的腳本語言片段通常書寫于 “ < Script > 與 < / Script > ” 標(biāo)記對中,而特定的JavaScript腳本語言片段可以使用 “ JavaScript : ” 在片段開始處進行標(biāo)記。因此可以在HTML DOM樹中,通過遍歷標(biāo)記腳本片段的 “ Script ” 結(jié)點或 “ JavaScript :”結(jié)點,獲得動態(tài)HTML網(wǎng)頁內(nèi)包含的所有腳本語言片段。同理,可以通過查詢“Body”結(jié)點,獲得靜態(tài)網(wǎng)頁主體內(nèi)容。另外,由于靜態(tài)網(wǎng)頁內(nèi)嵌網(wǎng)絡(luò)超鏈接地址通常位于 “ < a href > 和 < / a > ” 標(biāo)記對中,可以通過遍歷“A”結(jié)點,獲得靜態(tài)網(wǎng)頁內(nèi)嵌URL信息。
(2)基于Rhino實現(xiàn)JavaScript動態(tài)網(wǎng)頁信息獲取
正如上節(jié)所述,遍歷HTML DOM樹可以得到JavaScript動態(tài)網(wǎng)頁所包含的腳本片段。為了實現(xiàn)JavaScript網(wǎng)頁發(fā)布信息的獲取,需要把提取到的JavaScript片段輸入獨立解釋引擎Rhino實現(xiàn)動態(tài)腳本解析,獲得腳本片段所對應(yīng)的靜態(tài)網(wǎng)頁形式,并最終完成JavaScript動態(tài)網(wǎng)頁發(fā)布信息獲取工作,如圖2-13所示。
圖2-13 基于Rhino實現(xiàn)JavaScript動態(tài)網(wǎng)頁發(fā)布信息獲取
在Rhino進行JavaScript網(wǎng)頁動態(tài)腳本解析過程中,需要首先完成腳本片段包含的所有對象初始化操作,然后按照動態(tài)網(wǎng)頁加載過程順序執(zhí)行JavaScript腳本片段。
1.對象初始化
作為腳本解釋引擎,Rhino雖然可以直接識別JavaScript語言內(nèi)置對象與動態(tài)網(wǎng)頁腳本片段自定義對象,并自動調(diào)用可識別對象定義的方法,但是它無法識別與調(diào)用某些特殊對象定義的方法。在腳本解釋引擎對象初始化階段,Rhino無法識別的特殊對象主要是指上文提到的Window、Document、Location、Screen、Navigator與History等HTML DOM對象。
因此,在啟動Rhino順序執(zhí)行JavaScript片段前,首先需要自定義腳本片段所含HTML DOM對象方法的具體功能,完成HTML DOM對象的本地創(chuàng)建工作,如圖2-14所示。隨著Ajax機制在Web 2.0應(yīng)用中的不斷普及,多數(shù)動態(tài)網(wǎng)頁還選擇Ajax技術(shù)調(diào)用靜態(tài)文本信息。對于包含Ajax機制的動態(tài)網(wǎng)頁,在對象初始化階段,還需要附加對Ajax機制中XmlHttpRequest對象方法的自定義。
圖2-14 腳本解釋引擎Rhino對象初始化
在對象初始化階段進行Rhino無法識別的特殊對象本地創(chuàng)建,就是在Rhino運行環(huán)境中定義特殊對象方法函數(shù)的具體功能。例如,HTML DOM對象Window方法函數(shù)Open的參數(shù)是動態(tài)頁面內(nèi)嵌URL信息,默認(rèn)功能是新建瀏覽器窗口顯示該URL發(fā)布內(nèi)容。在Window對象Open方法的本地創(chuàng)建過程中,可在Rhino運行環(huán)境中自定義該方法的功能,把對應(yīng)URL信息置入信息獲取環(huán)節(jié)的URL隊列,等待進行信息獲取操作。相應(yīng)地,HTML DOM對象Document方法函數(shù)Write的參數(shù)是靜態(tài)網(wǎng)頁信息,默認(rèn)功能是在當(dāng)前瀏覽器窗口中顯示靜態(tài)網(wǎng)頁發(fā)布內(nèi)容。可在Document對象Write方法功能自定義時說明該方法,用于把靜態(tài)網(wǎng)頁信息寫入位于信息采集端的特定文件中。
在Rhino進行JavaScript片段解析過程中,如果遇到無法直接識別的特殊對象,它會在運行環(huán)境中尋找該對象方法函數(shù)的具體定義,即調(diào)用特殊對象在本地創(chuàng)建時聲明的方法功能。
2.Rhino執(zhí)行JavaScript腳本片段
在按照動態(tài)網(wǎng)頁加載過程順序執(zhí)行JavaScript腳本片段過程中,腳本解釋引擎Rhino邏輯上可以分為前端環(huán)節(jié)和后端環(huán)節(jié)兩部分。前端環(huán)節(jié)順序進行詞法及語法分析,其中語法分析產(chǎn)生語法樹,前端環(huán)節(jié)正是基于語法樹生成中間代碼。前端環(huán)節(jié)產(chǎn)生的中間代碼就是后端環(huán)節(jié)需要解釋執(zhí)行的目標(biāo)代碼,后端環(huán)節(jié)對于中間代碼解釋執(zhí)行的最終輸出是JavaScript腳本片段對應(yīng)的靜態(tài)網(wǎng)頁信息。腳本片段變量信息統(tǒng)一存儲于記錄表模塊的符號表中,常量信息及對象屬性名信息存儲于記錄表模塊的常量表中,記錄表模塊貫穿腳本片段解釋全過程,如圖2-15所示。
圖2-15 JavaScript腳本片段在Rhino中的執(zhí)行過程
Rhino按照加載過程順序執(zhí)行JavaScript動態(tài)網(wǎng)頁腳本片段后的輸出,是腳本片段所對應(yīng)的靜態(tài)網(wǎng)頁形式。在此基礎(chǔ)上,可以利用傳統(tǒng)的HTML標(biāo)記匹配方法,也可以通過遍歷靜態(tài)網(wǎng)頁的HTML DOM樹,獲得靜態(tài)網(wǎng)頁主體內(nèi)容,提取網(wǎng)頁內(nèi)嵌URL信息并置入待獲取URL隊列,從而最終完成JavaScript動態(tài)網(wǎng)頁發(fā)布信息的獲取工作。
2.3.3 基于瀏覽器模擬實現(xiàn)網(wǎng)絡(luò)媒體信息獲取
之前介紹的網(wǎng)絡(luò)媒體信息獲取方法的技術(shù)實質(zhì),可以統(tǒng)一歸屬于采用網(wǎng)絡(luò)交互重構(gòu)機制實現(xiàn)網(wǎng)絡(luò)媒體信息獲取。一方面,在面向需要身份認(rèn)證的靜態(tài)網(wǎng)頁實現(xiàn)發(fā)布信息獲取過程中,網(wǎng)絡(luò)媒體信息獲取環(huán)節(jié)通過網(wǎng)絡(luò)交互重構(gòu)完整實現(xiàn)身份認(rèn)證過程與信息請求/響應(yīng)過程;另一方面,為了實現(xiàn)動態(tài)網(wǎng)頁發(fā)布信息的獲取,在通過網(wǎng)絡(luò)交互重構(gòu)取得動態(tài)網(wǎng)頁發(fā)布內(nèi)容后,首先需要基于獨立解釋引擎實現(xiàn)動態(tài)腳本片段解析,獲得動態(tài)網(wǎng)頁所對應(yīng)的靜態(tài)網(wǎng)頁形態(tài),進而繼續(xù)采用網(wǎng)絡(luò)交互重構(gòu)機制實現(xiàn)靜態(tài)網(wǎng)頁主體內(nèi)容與內(nèi)嵌URL發(fā)布信息的獲取。
網(wǎng)絡(luò)交互重構(gòu)機制是網(wǎng)絡(luò)媒體信息獲取的一般性方法,從理論上講,只要掌握網(wǎng)絡(luò)通信協(xié)議的信息交互過程,就可以通過網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)對應(yīng)協(xié)議發(fā)布信息獲取。但是,隨著網(wǎng)絡(luò)應(yīng)用的逐步深入、網(wǎng)絡(luò)媒體發(fā)布形態(tài)的不斷推陳出新,不同網(wǎng)絡(luò)媒體信息交互過程存在著極大差別。同時,新型網(wǎng)絡(luò)通信協(xié)議正在不斷得到應(yīng)用,而部分網(wǎng)絡(luò)通信協(xié)議,尤其是視/音頻信息的網(wǎng)絡(luò)交互過程并未對外公開發(fā)布。
因此,在通過網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)網(wǎng)絡(luò)媒體信息獲取過程中,需要對不同網(wǎng)絡(luò)媒體逐一進行網(wǎng)絡(luò)信息交互重構(gòu),其信息獲取技術(shù)實現(xiàn)的工作量異常龐大。與此同時,對于網(wǎng)絡(luò)交互過程尚處于保密階段的部分網(wǎng)絡(luò)通信協(xié)議而言,無法直接通過網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)對應(yīng)協(xié)議發(fā)布信息獲取。
正是由于通過網(wǎng)絡(luò)交互重構(gòu)機制實現(xiàn)媒體信息獲取存在相當(dāng)程度的技術(shù)局限性,在Web網(wǎng)站自動化功能/性能測試的啟發(fā)下,瀏覽器模擬技術(shù)在網(wǎng)絡(luò)媒體信息獲取環(huán)節(jié)正得到越來越廣泛的應(yīng)用。基于瀏覽器模擬實現(xiàn)網(wǎng)絡(luò)媒體發(fā)布信息獲取的技術(shù),實現(xiàn)過程是利用典型的JSSh客戶端向內(nèi)嵌JSSh服務(wù)器的網(wǎng)絡(luò)瀏覽器發(fā)送JavaScript指令,指示網(wǎng)絡(luò)瀏覽器開展網(wǎng)頁表單自動填寫、網(wǎng)頁按鈕/鏈接被點擊、網(wǎng)絡(luò)身份認(rèn)證交互、網(wǎng)發(fā)布頁信息瀏覽,以及視/音頻信息點播等系列操作。
在此基礎(chǔ)上,JSSh客戶端進一步要求網(wǎng)絡(luò)瀏覽器導(dǎo)出網(wǎng)頁文本內(nèi)容、存儲網(wǎng)頁圖像信息,或在用于信息獲取的計算機上對正在播放的視/音頻信息進行屏幕錄像,最終面向各種類型的網(wǎng)絡(luò)內(nèi)容、各種形態(tài)的網(wǎng)絡(luò)媒體實現(xiàn)發(fā)布信息獲取,如圖2-16所示。
圖2-16 基于瀏覽器模擬實現(xiàn)網(wǎng)絡(luò)媒體信息獲取
1.內(nèi)嵌JSSh服務(wù)器的Firefox瀏覽器
Mozilla Firefox屬于典型的內(nèi)嵌JSSh服務(wù)器的開源瀏覽器,它將JSSh服務(wù)器作為自身的附加組件。外部應(yīng)用程序——JSSh客戶端可與Firefox瀏覽器內(nèi)嵌的JSSh服務(wù)器(默認(rèn)偵聽9997端口)建立通信連接,并向其發(fā)送JavaScript指令,指示Firefox操作當(dāng)前網(wǎng)頁的文檔對象,如圖2-17所示。內(nèi)嵌JSSh服務(wù)器的Firefox順序執(zhí)行來自JSSh客戶端的JavaScript指令,其整體過程與Firefox解析動態(tài)網(wǎng)頁內(nèi)的JavaScript腳本片段類似。
圖2-17 JSSh服務(wù)器與客戶端間的JavaScript指令交互
2.典型JSSh客戶端——FireWatir
作為典型的JSSh客戶端,F(xiàn)ireWatir廣泛應(yīng)用于Web網(wǎng)站功能和性能自動化測試。FireWatir是基于腳本語言Ruby編寫的,可通過發(fā)送JavaScript指令,指示內(nèi)嵌JSSh 服務(wù)器的網(wǎng)絡(luò)瀏覽器(例如Mozilla Firefox)進行網(wǎng)頁表單填寫、按鈕/鏈接點擊,以及網(wǎng)頁內(nèi)容瀏覽等系列操作。另外,F(xiàn)ireWatir通過JavaScript指令還可以方便地操縱瀏覽器加載網(wǎng)頁的DOM對象,從而導(dǎo)出網(wǎng)頁主體內(nèi)容,實現(xiàn)網(wǎng)絡(luò)媒體信息的獲取。
(1)基于瀏覽器模擬實現(xiàn)身份認(rèn)證與網(wǎng)站信息采集
當(dāng)前Web網(wǎng)站主要通過填寫并提交HTTP網(wǎng)頁上的認(rèn)證表單,實現(xiàn)網(wǎng)絡(luò)客戶端身份認(rèn)證。因此,網(wǎng)絡(luò)媒體信息獲取環(huán)節(jié)可以通過JSSh客戶端向內(nèi)嵌JSSh服務(wù)器的Firefox瀏覽器發(fā)送JavaScript指令,指示瀏覽器自動填寫網(wǎng)頁上的身份認(rèn)證表單,并點擊相應(yīng)按鈕提交身份認(rèn)證請求。身份認(rèn)證協(xié)商過程即身份認(rèn)證網(wǎng)絡(luò)交互過程,是由瀏覽器自行處理的,整個過程如同正在瀏覽網(wǎng)絡(luò)的用戶與Web網(wǎng)站進行身份認(rèn)證網(wǎng)絡(luò)交互。
在身份認(rèn)證成功后,JSSh客戶端繼續(xù)向內(nèi)嵌JSSh服務(wù)器發(fā)送JavaScript指令,指示瀏覽器加載身份認(rèn)證網(wǎng)站發(fā)布信息。瀏覽器自行完成用于發(fā)布信息請求的網(wǎng)絡(luò)交互,并告知JSSh客戶端網(wǎng)站發(fā)布頁面加載完成。在此基礎(chǔ)上,JSSh客戶端指示瀏覽器導(dǎo)出當(dāng)前加載網(wǎng)頁主體內(nèi)容,并對網(wǎng)頁內(nèi)嵌URL逐一進行點擊瀏覽與內(nèi)容導(dǎo)出,最終完成對于身份認(rèn)證網(wǎng)站發(fā)布信息的獲取工作。
1)身份認(rèn)證表單自動填寫。在實現(xiàn)HTTP認(rèn)證網(wǎng)頁身份認(rèn)證表單的自動填寫前,首先需要識別身份認(rèn)證表單元素,即身份認(rèn)證表單所涉及的HTTP對象——用于用戶名、密碼信息輸入的文本框?qū)ο箢愋团c對象名稱。在此基礎(chǔ)上,可以使用已在目標(biāo)媒體上申請得到的用戶名、密碼信息,根據(jù)腳本語言Ruby的語法格式,構(gòu)建并向JSSh服務(wù)器發(fā)送用于身份認(rèn)證表單自動填寫的JavaScript指令,指示內(nèi)嵌JSSh服務(wù)器的網(wǎng)絡(luò)瀏覽器,從而完成身份認(rèn)證表單的自動填寫。
在基于瀏覽器模擬實現(xiàn)身份認(rèn)證表單自動填寫的技術(shù)實現(xiàn)過程中,只需根據(jù)不同網(wǎng)絡(luò)媒體認(rèn)證表單元素的區(qū)別,構(gòu)建用于認(rèn)證表單自動填寫的JavaScript指令即可。在指示網(wǎng)絡(luò)瀏覽器完成認(rèn)證表單自動填寫后,身份認(rèn)證網(wǎng)絡(luò)交互過程全部由瀏覽器自行完成。這與通過網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)身份認(rèn)證與網(wǎng)站發(fā)布信息獲取期間,需要針對不同網(wǎng)絡(luò)媒體重構(gòu)及不同網(wǎng)絡(luò)交互過程相比,功能實現(xiàn)的復(fù)雜度顯著降低,技術(shù)方案的普適性明顯提高。
2)身份認(rèn)證協(xié)商與發(fā)布信息獲取。在JSSh客戶端完成身份認(rèn)證表單自動填寫與提交后,網(wǎng)絡(luò)瀏覽器轉(zhuǎn)向與Web網(wǎng)站進行身份認(rèn)證協(xié)商,這期間不再需要JSSh客戶端繼續(xù)參與。在瀏覽器成功完成網(wǎng)絡(luò)身份認(rèn)證后,JSSh客戶端繼續(xù)指示JSSh服務(wù)器加載身份認(rèn)證與網(wǎng)站發(fā)布信息,并進一步通過JavaScript指令操作所加載網(wǎng)頁的文檔對象,提取網(wǎng)頁主體內(nèi)容與網(wǎng)頁內(nèi)嵌URL信息。內(nèi)嵌JSSh服務(wù)器的瀏覽器在JSSh客戶端的指示下,逐一瀏覽并導(dǎo)出當(dāng)前網(wǎng)頁內(nèi)嵌URL所對應(yīng)的網(wǎng)頁主體內(nèi)容,最終完成身份認(rèn)證網(wǎng)站發(fā)布信息獲取工作,如圖2-18所示。
(2)基于瀏覽器模擬實現(xiàn)動態(tài)網(wǎng)頁信息獲取
采用瀏覽器模擬技術(shù)進行動態(tài)網(wǎng)頁發(fā)布信息獲取,首先需要由JSSh客戶端通過JavaScript指令,指示內(nèi)嵌JSSh服務(wù)器的網(wǎng)絡(luò)瀏覽器加載動態(tài)網(wǎng)頁發(fā)布信息。在獲得網(wǎng)絡(luò)媒體關(guān)于動態(tài)網(wǎng)頁的響應(yīng)信息后,瀏覽器自動完成對于動態(tài)網(wǎng)頁內(nèi)各類腳本片段的解析工作,從而獲得動態(tài)網(wǎng)頁所對應(yīng)的靜態(tài)網(wǎng)頁形態(tài)。該階段不再只是針對具體的腳本語言(例如JavaScript)進行動態(tài)腳本片段解析。凡是能在通用瀏覽器中正常瀏覽的動態(tài)網(wǎng)頁,其包含的任何腳本片段都可以基于瀏覽器模擬技術(shù)實現(xiàn)動態(tài)腳本解析。
圖2-18 基于瀏覽器模擬實現(xiàn)身份認(rèn)證協(xié)商與發(fā)布信息獲取
在此基礎(chǔ)上,瀏覽器進一步通過自身包含的網(wǎng)頁排版引擎Gecko,生成靜態(tài)網(wǎng)頁的HTML DOM樹。然后JSSh客戶端可以通過JavaScript指令操作靜態(tài)網(wǎng)頁的HTML DOM樹,逐一導(dǎo)出靜態(tài)網(wǎng)頁及其內(nèi)嵌URL所對應(yīng)的發(fā)布內(nèi)容,最終完成動態(tài)網(wǎng)頁發(fā)布信息的獲取工作,如圖2-19所示。
圖2-19 基于瀏覽器模擬實現(xiàn)動態(tài)網(wǎng)頁發(fā)布信息的獲取
在通過Rhino實現(xiàn)JavaScript動態(tài)網(wǎng)頁發(fā)布信息的獲取時,首先需要基于網(wǎng)絡(luò)交互重構(gòu)獲取動態(tài)網(wǎng)頁發(fā)布內(nèi)容,并進一步遍歷動態(tài)網(wǎng)頁HTML DOM樹,提取網(wǎng)頁所含JavaScript腳本片段。在對JavaScript腳本片段中的HTML DOM對象實現(xiàn)本地創(chuàng)建后, Rhino按照動態(tài)網(wǎng)頁加載過程順序執(zhí)行JavaScript腳本片段,然后輸出動態(tài)網(wǎng)頁所對應(yīng)的靜態(tài)網(wǎng)頁形態(tài),最終實現(xiàn)動態(tài)腳本解析。
與其對應(yīng),在基于瀏覽器模擬實現(xiàn)動態(tài)網(wǎng)頁信息獲取過程中,動態(tài)網(wǎng)頁發(fā)布內(nèi)容獲取與動態(tài)網(wǎng)頁腳本片段解析工作全由瀏覽器自行完成。JSSh客戶端只是通過JavaScript指令指示網(wǎng)絡(luò)瀏覽器加載動態(tài)網(wǎng)頁,并在JSSh服務(wù)器告知與所請求的動態(tài)網(wǎng)頁對應(yīng)的靜態(tài)網(wǎng)頁形態(tài)加載成功后,繼續(xù)通過JavaScript指令操作當(dāng)前網(wǎng)頁HTML DOM樹獲取動態(tài)網(wǎng)頁發(fā)布信息。整體過程與JSSh客戶端指示瀏覽器加載靜態(tài)網(wǎng)頁,并無實質(zhì)區(qū)別。
(3)利用瀏覽器模擬進行網(wǎng)絡(luò)媒體信息獲取的技術(shù)優(yōu)勢
一方面,與通過網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)網(wǎng)絡(luò)媒體信息獲取不同,在基于瀏覽器模擬進行網(wǎng)絡(luò)媒體信息獲取過程中,與身份認(rèn)證、信息請求相關(guān)的網(wǎng)絡(luò)交互過程,與腳本解析、HTML DOM樹生成相關(guān)的網(wǎng)頁處理過程,全都是在JSSh客戶端的指示下,由內(nèi)嵌JSSh服務(wù)器的網(wǎng)絡(luò)瀏覽器自行完成。網(wǎng)絡(luò)媒體信息獲取環(huán)節(jié)不再需要針對不同網(wǎng)絡(luò)媒體,重復(fù)實現(xiàn)網(wǎng)絡(luò)交互重構(gòu)機制,從而有效降低了網(wǎng)絡(luò)媒體信息獲取工作的復(fù)雜度,顯著提高了網(wǎng)絡(luò)媒體信息獲取機制的普適性。
另一方面,在面對網(wǎng)絡(luò)交互過程極為復(fù)雜,甚至網(wǎng)絡(luò)交互方式并未對外公開的視/音頻信息時,可以基于瀏覽器模擬機制實現(xiàn)視/音頻內(nèi)容自動點播,并對正在播放的視/音頻流進行屏幕錄像,最終完成視/音頻信息的統(tǒng)一獲取。在這種情況下,所有能夠通過網(wǎng)絡(luò)瀏覽器得到的,各種形態(tài)、各個類型的互聯(lián)網(wǎng)信息,都可以采用瀏覽器模擬技術(shù)實現(xiàn)網(wǎng)絡(luò)媒體發(fā)布信息的獲取,這也是本書將這類互聯(lián)網(wǎng)公開傳播信息統(tǒng)稱為網(wǎng)絡(luò)媒體信息的根本原因。
2.4 網(wǎng)絡(luò)通信信息獲取方案
使用特定客戶端進行網(wǎng)絡(luò)通信時所傳輸?shù)幕ヂ?lián)網(wǎng)信息屬于網(wǎng)絡(luò)通信信息,這類信息包含使用客戶端軟件(例如,Microsoft Outlook、FoxMail等)收發(fā)電子郵件,基于即時通信軟件進行網(wǎng)上聊天,采用金融機構(gòu)發(fā)布的客戶端進行網(wǎng)上財經(jīng)交易等。與網(wǎng)絡(luò)媒體以廣播方式向互聯(lián)網(wǎng)客戶端傳播信息不同,多數(shù)網(wǎng)絡(luò)通信客戶端以對等的、點對點的方式進行互聯(lián)網(wǎng)通信交互。因此在面向網(wǎng)絡(luò)通信信息進行互聯(lián)網(wǎng)交互內(nèi)容獲取時,無法直接借鑒之前提到的網(wǎng)絡(luò)媒體信息獲取方法,進行網(wǎng)絡(luò)通信信息獲取。
當(dāng)前網(wǎng)絡(luò)通信信息獲取過程主要涉及網(wǎng)絡(luò)通信信息鏡像、網(wǎng)絡(luò)交互數(shù)據(jù)重組、通信協(xié)議數(shù)據(jù)恢復(fù)、網(wǎng)絡(luò)通信信息存儲等技術(shù)環(huán)節(jié)。網(wǎng)絡(luò)通信信息獲取主要通過局域網(wǎng)總線數(shù)據(jù)偵聽,城域網(wǎng)(例如數(shù)字社區(qū),擁有互聯(lián)網(wǎng)接入的公寓區(qū)等)三層交換機通信端口數(shù)據(jù)導(dǎo)出的方式,實現(xiàn)包含網(wǎng)絡(luò)通信信息在內(nèi)的互聯(lián)網(wǎng)交互數(shù)據(jù)鏡像。
在此基礎(chǔ)上,網(wǎng)絡(luò)通信信息獲取機制選擇在OSI/RM網(wǎng)絡(luò)層針對具體的互聯(lián)網(wǎng)客戶端,實現(xiàn)特定協(xié)議的網(wǎng)絡(luò)通信數(shù)據(jù)包重組。對于明文傳輸且公開發(fā)布協(xié)議交互過程的網(wǎng)絡(luò)通信協(xié)議,信息獲取機制通過協(xié)議數(shù)據(jù)恢復(fù)獲得通信交互內(nèi)容,并將其存入網(wǎng)絡(luò)通信信息庫,實現(xiàn)網(wǎng)絡(luò)通信信息獲取,如圖2-20所示。不過,在網(wǎng)絡(luò)通信信息通過密文傳輸?shù)那闆r下,或者部分網(wǎng)絡(luò)通信協(xié)議尚未公開協(xié)議交互過程時,網(wǎng)絡(luò)信息獲取環(huán)節(jié)無法通過協(xié)議數(shù)據(jù)恢復(fù)獲得網(wǎng)絡(luò)通信信息。
需要特別說明的是,在使用特定客戶端進行網(wǎng)絡(luò)通信交互時,所傳輸?shù)木W(wǎng)絡(luò)信息并不算是互聯(lián)網(wǎng)公開傳播信息。因此在沒有得到網(wǎng)絡(luò)通信當(dāng)事人或網(wǎng)絡(luò)監(jiān)管部門授權(quán)的情況下,本書并不建議面向?qū)儆趥人隱私范疇的網(wǎng)絡(luò)通信信息進行內(nèi)容鏡像與信息獲取嘗試。
圖2-20 網(wǎng)絡(luò)通信信息獲取流程
2.5 本章小結(jié)
隨著網(wǎng)絡(luò)基礎(chǔ)建設(shè)不斷深入、網(wǎng)絡(luò)通信應(yīng)用不斷普及,互聯(lián)網(wǎng)已經(jīng)成為繼報紙、廣播與電視媒體以后的第4大信息發(fā)布平臺。正是由于這一原因,本節(jié)在講解信息內(nèi)容的獲取時,選擇以互聯(lián)網(wǎng)傳播信息作為內(nèi)容獲取的工作對象。根據(jù)互聯(lián)網(wǎng)傳播信息是否可以使用通用網(wǎng)絡(luò)瀏覽器直接獲得,本章將互聯(lián)網(wǎng)信息分成網(wǎng)絡(luò)媒體信息與網(wǎng)絡(luò)通信信息兩大類型。
在此基礎(chǔ)上,本節(jié)主要針對網(wǎng)絡(luò)媒體信息進行內(nèi)容獲取的一般性原理介紹,并講解通過網(wǎng)絡(luò)交互重構(gòu)實現(xiàn)需要身份認(rèn)證的靜態(tài)網(wǎng)絡(luò)媒體信息獲取的方法;基于腳本解釋引擎實現(xiàn)動態(tài)網(wǎng)頁發(fā)布信息獲取的方法,以及利用瀏覽器模擬技術(shù)對各類網(wǎng)絡(luò)媒體信息統(tǒng)一,實現(xiàn)信息獲取的具體辦法。出于章節(jié)敘述內(nèi)容的全面性考慮,本章最后還對于并不屬于公開傳播范疇的網(wǎng)絡(luò)通信信息進行了簡要內(nèi)容獲取方案介紹。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.guhuozai8.cn/
本文標(biāo)題:信息內(nèi)容安全管理及應(yīng)用(二)
本文網(wǎng)址:http://www.guhuozai8.cn/html/support/1112155106.html