新聞聚合服務設計思索

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

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

新聞聚合服務設計思索

1引言

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

2關鍵技術

2.1頁面跟蹤系統

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

2.2RDF/RSS格式介紹

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

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

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

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

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

3應用系統設計

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

4小結

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