新聞聚合服務(wù)設(shè)計思索

時間:2022-06-01 05:45:00

導語:新聞聚合服務(wù)設(shè)計思索一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

新聞聚合服務(wù)設(shè)計思索

1引言

Web是網(wǎng)絡(luò)時代的新聞傳媒,人們開始習慣每天在Web上去瀏覽新聞等信息,人們常常訪問如搜狐、新浪等主要門戶網(wǎng)站,頁面停留也只限于首頁及感興趣的新聞條目。近年來“博客”、微博和SNS等逐漸火爆,RSS也開始被越來越多的注意,很多門戶網(wǎng)站支持RSS,例如Yahoo!公布了其RSS提要的地址,了國內(nèi)、國際和政治新聞版面的不同提要,訂閱后可以得到了一張最新新聞標題的列表,并提供了新聞報道的導語段落。另外,通過GoogleNews上的搜索結(jié)果轉(zhuǎn)換而來的RSS源,來自全球上千個英文媒體上的某個關(guān)鍵詞內(nèi)的訊息,也都隨手可得。聚合工具收集和組織這些定制的新聞來源,按照你希望的格式、地點、時間和方式,直接傳送到你的計算機上,并且可以根據(jù)需要來修改它的格式。對于用戶來說,RSS是一種在他們需要的地方、時間并以他們希望的方式獲得信息的工具。有了RSS后,內(nèi)容消費者不用再花費大量的時間沖浪和從新聞網(wǎng)站下載。但同時,更多的站點不支持RSS等技術(shù),此外,RSS僅對標題搜索,無法實現(xiàn)對內(nèi)容的全文搜索。如何實現(xiàn)對更廣泛應用的站點實現(xiàn)新聞聚合,這就可以利用頁面跟蹤技術(shù)。頁面跟蹤系統(tǒng)是一種專門關(guān)注于頁面動態(tài)更新的信息服務(wù)系統(tǒng)。頁面跟蹤系統(tǒng)實現(xiàn)“定向”、“主動”跟蹤。這種新型服務(wù)的最大特點是強調(diào)變化的反映要及時,時間敏感度很高。頁面跟蹤需要從用戶選定的多個頁面中提取信息,從本質(zhì)而言是一種“聚合”工具。因此,很容易將其與RSS技術(shù)結(jié)合起來,實現(xiàn)真正有用的新聞聚合服務(wù)。

2關(guān)鍵技術(shù)

2.1頁面跟蹤系統(tǒng)

Web頁面跟蹤系統(tǒng)一般由需求描述(profile)、信息搜集、更新檢測、變更通告與展示這幾部分組成。首先由用戶給出一定的跟蹤目標,然后系統(tǒng)自動針對這些跟蹤目標進行反復的狀態(tài)查詢和內(nèi)容檢查,如果系統(tǒng)判定目標發(fā)生了變化,則向用戶發(fā)出相應更新信息通告。頁面跟蹤系統(tǒng)的輸入是用戶需要跟蹤的目標網(wǎng)頁集合,這里引入頻道(Channel)的概念來表述,和RSS中頻道的概念是一致的。Channel頻道是一組用戶需要跟蹤的網(wǎng)頁的總稱,頻道代表了用戶的個性化需求。一個用戶可以設(shè)置多個跟蹤頻道,對于每個頻道,用戶可以指定一些跟蹤的參數(shù),如服務(wù)器,超時設(shè)置、下載文件類型等。我們利用一個頁面跟蹤系統(tǒng)-“ChangeSpider”,它主要有三個模塊:信息搜集器Crawler:負責搜集指定網(wǎng)頁集,以及檢查頁面文件狀態(tài)。專門針對頁面跟蹤進行優(yōu)化,內(nèi)部實現(xiàn)一個線程池。更新檢測模塊ChangeDetector:負責檢測頁面不同版本間的變更。通過簡化更新檢測的功能來提高效率;任務(wù)調(diào)度與控制模塊TaskManager:負責發(fā)動和控制其他模塊,并實現(xiàn)更新調(diào)度策略。

2.2RDF/RSS格式介紹

RSS是一種XML格式,用于為內(nèi)容整合客戶端提供選擇性的、匯總過的Web內(nèi)容。把新聞標題、摘要(Feed)、內(nèi)容按照用戶的要求,“送”到用戶的桌面就是RSS的目的。RSS是一種“輕量級、多用途、可擴展的元數(shù)據(jù)描述及聯(lián)合推廣格式”,它遵循W3C的RDF規(guī)范。RSS有RSS0.9x/2.0和RSS1.0兩個主要版本系列,此外,Google也推出了自己類似的格式Atom。RSS和Atom機理是一致的,目的都在于為Weblog、新聞或是其他Web內(nèi)容創(chuàng)建聚合的XML文本,以便其他站點引用。下面主要基于RSS1.0。RSS規(guī)范描述了XML風格的元素的一個簡單子集,這些元素可用于為網(wǎng)站內(nèi)容創(chuàng)建匯總。匯總可能包括一個網(wǎng)站徽標、一個網(wǎng)站鏈接、一個輸入框以及多個“新項目”。這個(或者多個匯總)稱為一個RSSfeed。RSSfeed由內(nèi)容提供者的網(wǎng)站與推廣,再由內(nèi)容整合者的網(wǎng)站(也稱為“門戶”)使用,或者由獨立的桌面工具使用。RSSfeed可人工生成,方法是創(chuàng)建并向網(wǎng)站一個RSS文件(例如latest_news.rss)。RSSfeed作為一個有效的XML文檔,可從一個可選的XML聲明“<?xmlversion="1.0"?>”開始。遵循RDF規(guī)范,構(gòu)成一個RSSfeed的剩余的RSS元素必須用<rdf:RDF>和</rdf:RDF>標記封裝在根元素內(nèi),將rdf命名空間前綴與RDF語法架構(gòu)關(guān)聯(lián)到一起,并使其成為文檔的默認命名空間。除根元素外,RSSfeed通常由4個主要元素構(gòu)成:<channel>,<image>,<item>和<textinput>。<channel>元素是必需的,<item>元素至少要出現(xiàn)一次。<textinput>和<image>元素是可選的。

1)<channel><channel>元素包含Channel(RSSfeed的來源)的一個簡單描述。屬性rdf:about="resource_URL",(resource_URL可能是一個不重復的URL,指向feed提供者的主頁;也可能是RSSfeed自己的URL)。<channel>元素包含以下子元素:<title>是頻道的名稱/標題。<link>是與頻道內(nèi)容對應的包含了完整內(nèi)容的那個網(wǎng)頁的URL。<description>是與<channel>的內(nèi)容有關(guān)的簡單描述。<image>只當存在一個外層<image>元素時用到。它有屬性rdf:resource="image_url",其中的image_url是與頻道對應的一幅圖像(通常是頻道徽標)的URL。<textinput>只當存在一個外層<textinput>元素時用到。它有屬性rdf:resource="textinput_url",其中的textinput_url是用戶輸入表單的目標URL。<items>是包含在feed中的內(nèi)容項的列表。

2)<image><image>元素指定了與一個頻道對應的圖像,最好選擇88x31像素大小。它有一個rdf:about屬性,該屬性的值與<channel>中的<image>的rdf:resource屬性值相同。<image>元素支持以下子元素:<title>是圖像的備用文本(HTML標記<img>的alt屬性)。<link>是圖像源的URL,通常是頻道提供者的主頁。<url>是頻道提供者網(wǎng)站上的一幅圖像的URL。

3)<item><item>元素指定一個項目,比如新聞文章的大標題,它的超鏈接指向頻道提供者網(wǎng)站上的完整內(nèi)容,并后跟一段簡短的描述。該元素構(gòu)成了RSSfeed的動態(tài)部分。每個feed都允許使用1~15個item。<item>有一個rdf:about屬性,其值與<channel>中的<items>的相應列表項的rdf:resource屬性值相同。<item>元素支持以下子元素,<title>是一個項的名稱/標題。<link>是與一個項對應的完整內(nèi)容URL。其值與rdf:about屬性的值完全相同。<description>是可選的對一個項的簡短描述,它出現(xiàn)在超鏈接的itemtitle之后。每個item最多可以使用一個description。

4)<textinput><textinput>元素用于呈現(xiàn)一個HTML表單字段,以便提供用戶的輸入。它有一個rdf:about屬性,其值與<channel>中的<textinput>的rdf:resource屬性值相同。<textinput>元素支持以下子元素:<title>是輸入字段的標題,例如Submit或Search。<description>是簡短的輸入字段用途說明,例如:Submityourfeedback。<name>是輸入字段的名稱。<link>是提交輸入字段的目標URL。其值與rdf:about的值相同。利用這些元素,你可以創(chuàng)建一個RSSfeed,并將其保存到一個.rss文件中。一些站點有標記為“XML”或“RSS”橙色圖標,表示支持RSS聚合。

3應用系統(tǒng)設(shè)計

本文在頁面跟蹤技術(shù)的基礎(chǔ)上進行擴展,對不支持RSS的網(wǎng)站自動生成RSS數(shù)據(jù),并設(shè)計新的一套用戶服務(wù)支持新聞聚合。在標準的訂閱模型中,有出版者、發(fā)行者和訂閱者三種角色。對于出版者來說,RSS是一種提供結(jié)構(gòu)化信息的方法。以新聞的應用為例,新聞的站點每小時一個包含最新新聞列表以及相應鏈接的文檔,而這一文檔可以被其它站點收集并顯示在其索引頁面上,并且這個站點自動同步更新,以獲取最新的新聞。其實就是把索引頁面與新聞源站點的動態(tài)內(nèi)容相連接而已,RSS則為此提供了一種組織單個信息和集合信息的有效結(jié)構(gòu)。系統(tǒng)架構(gòu)如圖1,在原頁面跟蹤系統(tǒng)的Web客戶端擴充支持RSS,同時可以訪問頁面跟蹤的用戶服務(wù)接口。每個頻道對應個RssFeed文件。每日(可配置)生成一個Feed,當日更新增量方式添加,blog如何(何時)更新自己的feed,ChangeSpider也同樣方式處理。本系統(tǒng)可以對已有RSS再聚合,在Intranet環(huán)境下,頁面跟蹤服務(wù)還可下載RssFeed中的URL,甚至全文索引,從而提高緩存效果。應用實例-新樓盤信息查詢系統(tǒng)基于上述架構(gòu),本文設(shè)計了一個“新樓盤信息查詢”系統(tǒng),應用ChangeSpider的檢索功能,設(shè)置了一個跟蹤13個房地產(chǎn)信息URL的頻道,由ChangeSpider自動的搜集新聞并作全文索引,系統(tǒng)提供一個檢索界面,客戶可以輸入關(guān)鍵詞對這些樓盤新聞進行檢索。例如,要從采集的新聞中檢索有關(guān)武漢新開盤樓盤的新聞,設(shè)置檢索關(guān)鍵詞為“武漢樓盤開盤”。

4小結(jié)

目前RSS已經(jīng)得到廣泛應用,“MyYahoo!”和iGoogle[等個性化服務(wù)中添加的RSS聚合器可以整合來自雅虎或者Google的內(nèi)容,如新聞、天氣、體育和股票信息等等,還可以自動連接反饋第三方的網(wǎng)站內(nèi)容,并同步更新。RSS作為一種簡單而強大的web信息集成技術(shù),將衍生非常豐富的應用,如內(nèi)容整合、討論主題、職位列表、Top10列表、多列表服務(wù)、比賽分數(shù)以及文檔編錄等等。