新聞聚合服務(wù)設(shè)計(jì)思索
時(shí)間:2022-06-01 05:45:00
導(dǎo)語(yǔ):新聞聚合服務(wù)設(shè)計(jì)思索一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
1引言
Web是網(wǎng)絡(luò)時(shí)代的新聞傳媒,人們開(kāi)始習(xí)慣每天在Web上去瀏覽新聞等信息,人們常常訪問(wèn)如搜狐、新浪等主要門(mén)戶網(wǎng)站,頁(yè)面停留也只限于首頁(yè)及感興趣的新聞條目。近年來(lái)“博客”、微博和SNS等逐漸火爆,RSS也開(kāi)始被越來(lái)越多的注意,很多門(mén)戶網(wǎng)站支持RSS,例如Yahoo!公布了其RSS提要的地址,了國(guó)內(nèi)、國(guó)際和政治新聞版面的不同提要,訂閱后可以得到了一張最新新聞標(biāo)題的列表,并提供了新聞報(bào)道的導(dǎo)語(yǔ)段落。另外,通過(guò)GoogleNews上的搜索結(jié)果轉(zhuǎn)換而來(lái)的RSS源,來(lái)自全球上千個(gè)英文媒體上的某個(gè)關(guān)鍵詞內(nèi)的訊息,也都隨手可得。聚合工具收集和組織這些定制的新聞來(lái)源,按照你希望的格式、地點(diǎn)、時(shí)間和方式,直接傳送到你的計(jì)算機(jī)上,并且可以根據(jù)需要來(lái)修改它的格式。對(duì)于用戶來(lái)說(shuō),RSS是一種在他們需要的地方、時(shí)間并以他們希望的方式獲得信息的工具。有了RSS后,內(nèi)容消費(fèi)者不用再花費(fèi)大量的時(shí)間沖浪和從新聞網(wǎng)站下載。但同時(shí),更多的站點(diǎn)不支持RSS等技術(shù),此外,RSS僅對(duì)標(biāo)題搜索,無(wú)法實(shí)現(xiàn)對(duì)內(nèi)容的全文搜索。如何實(shí)現(xiàn)對(duì)更廣泛應(yīng)用的站點(diǎn)實(shí)現(xiàn)新聞聚合,這就可以利用頁(yè)面跟蹤技術(shù)。頁(yè)面跟蹤系統(tǒng)是一種專門(mén)關(guān)注于頁(yè)面動(dòng)態(tài)更新的信息服務(wù)系統(tǒng)。頁(yè)面跟蹤系統(tǒng)實(shí)現(xiàn)“定向”、“主動(dòng)”跟蹤。這種新型服務(wù)的最大特點(diǎn)是強(qiáng)調(diào)變化的反映要及時(shí),時(shí)間敏感度很高。頁(yè)面跟蹤需要從用戶選定的多個(gè)頁(yè)面中提取信息,從本質(zhì)而言是一種“聚合”工具。因此,很容易將其與RSS技術(shù)結(jié)合起來(lái),實(shí)現(xiàn)真正有用的新聞聚合服務(wù)。
2關(guān)鍵技術(shù)
2.1頁(yè)面跟蹤系統(tǒng)
Web頁(yè)面跟蹤系統(tǒng)一般由需求描述(profile)、信息搜集、更新檢測(cè)、變更通告與展示這幾部分組成。首先由用戶給出一定的跟蹤目標(biāo),然后系統(tǒng)自動(dòng)針對(duì)這些跟蹤目標(biāo)進(jìn)行反復(fù)的狀態(tài)查詢和內(nèi)容檢查,如果系統(tǒng)判定目標(biāo)發(fā)生了變化,則向用戶發(fā)出相應(yīng)更新信息通告。頁(yè)面跟蹤系統(tǒng)的輸入是用戶需要跟蹤的目標(biāo)網(wǎng)頁(yè)集合,這里引入頻道(Channel)的概念來(lái)表述,和RSS中頻道的概念是一致的。Channel頻道是一組用戶需要跟蹤的網(wǎng)頁(yè)的總稱,頻道代表了用戶的個(gè)性化需求。一個(gè)用戶可以設(shè)置多個(gè)跟蹤頻道,對(duì)于每個(gè)頻道,用戶可以指定一些跟蹤的參數(shù),如服務(wù)器,超時(shí)設(shè)置、下載文件類型等。我們利用一個(gè)頁(yè)面跟蹤系統(tǒng)-“ChangeSpider”,它主要有三個(gè)模塊:信息搜集器Crawler:負(fù)責(zé)搜集指定網(wǎng)頁(yè)集,以及檢查頁(yè)面文件狀態(tài)。專門(mén)針對(duì)頁(yè)面跟蹤進(jìn)行優(yōu)化,內(nèi)部實(shí)現(xiàn)一個(gè)線程池。更新檢測(cè)模塊ChangeDetector:負(fù)責(zé)檢測(cè)頁(yè)面不同版本間的變更。通過(guò)簡(jiǎn)化更新檢測(cè)的功能來(lái)提高效率;任務(wù)調(diào)度與控制模塊TaskManager:負(fù)責(zé)發(fā)動(dòng)和控制其他模塊,并實(shí)現(xiàn)更新調(diào)度策略。
2.2RDF/RSS格式介紹
RSS是一種XML格式,用于為內(nèi)容整合客戶端提供選擇性的、匯總過(guò)的Web內(nèi)容。把新聞標(biāo)題、摘要(Feed)、內(nèi)容按照用戶的要求,“送”到用戶的桌面就是RSS的目的。RSS是一種“輕量級(jí)、多用途、可擴(kuò)展的元數(shù)據(jù)描述及聯(lián)合推廣格式”,它遵循W3C的RDF規(guī)范。RSS有RSS0.9x/2.0和RSS1.0兩個(gè)主要版本系列,此外,Google也推出了自己類似的格式Atom。RSS和Atom機(jī)理是一致的,目的都在于為Weblog、新聞或是其他Web內(nèi)容創(chuàng)建聚合的XML文本,以便其他站點(diǎn)引用。下面主要基于RSS1.0。RSS規(guī)范描述了XML風(fēng)格的元素的一個(gè)簡(jiǎn)單子集,這些元素可用于為網(wǎng)站內(nèi)容創(chuàng)建匯總。匯總可能包括一個(gè)網(wǎng)站徽標(biāo)、一個(gè)網(wǎng)站鏈接、一個(gè)輸入框以及多個(gè)“新項(xiàng)目”。這個(gè)(或者多個(gè)匯總)稱為一個(gè)RSSfeed。RSSfeed由內(nèi)容提供者的網(wǎng)站與推廣,再由內(nèi)容整合者的網(wǎng)站(也稱為“門(mén)戶”)使用,或者由獨(dú)立的桌面工具使用。RSSfeed可人工生成,方法是創(chuàng)建并向網(wǎng)站一個(gè)RSS文件(例如latest_news.rss)。RSSfeed作為一個(gè)有效的XML文檔,可從一個(gè)可選的XML聲明“<?xmlversion="1.0"?>”開(kāi)始。遵循RDF規(guī)范,構(gòu)成一個(gè)RSSfeed的剩余的RSS元素必須用<rdf:RDF>和</rdf:RDF>標(biāo)記封裝在根元素內(nèi),將rdf命名空間前綴與RDF語(yǔ)法架構(gòu)關(guān)聯(lián)到一起,并使其成為文檔的默認(rèn)命名空間。除根元素外,RSSfeed通常由4個(gè)主要元素構(gòu)成:<channel>,<image>,<item>和<textinput>。<channel>元素是必需的,<item>元素至少要出現(xiàn)一次。<textinput>和<image>元素是可選的。
1)<channel><channel>元素包含Channel(RSSfeed的來(lái)源)的一個(gè)簡(jiǎn)單描述。屬性rdf:about="resource_URL",(resource_URL可能是一個(gè)不重復(fù)的URL,指向feed提供者的主頁(yè);也可能是RSSfeed自己的URL)。<channel>元素包含以下子元素:<title>是頻道的名稱/標(biāo)題。<link>是與頻道內(nèi)容對(duì)應(yīng)的包含了完整內(nèi)容的那個(gè)網(wǎng)頁(yè)的URL。<description>是與<channel>的內(nèi)容有關(guān)的簡(jiǎn)單描述。<image>只當(dāng)存在一個(gè)外層<image>元素時(shí)用到。它有屬性rdf:resource="image_url",其中的image_url是與頻道對(duì)應(yīng)的一幅圖像(通常是頻道徽標(biāo))的URL。<textinput>只當(dāng)存在一個(gè)外層<textinput>元素時(shí)用到。它有屬性rdf:resource="textinput_url",其中的textinput_url是用戶輸入表單的目標(biāo)URL。<items>是包含在feed中的內(nèi)容項(xiàng)的列表。
2)<image><image>元素指定了與一個(gè)頻道對(duì)應(yīng)的圖像,最好選擇88x31像素大小。它有一個(gè)rdf:about屬性,該屬性的值與<channel>中的<image>的rdf:resource屬性值相同。<image>元素支持以下子元素:<title>是圖像的備用文本(HTML標(biāo)記<img>的alt屬性)。<link>是圖像源的URL,通常是頻道提供者的主頁(yè)。<url>是頻道提供者網(wǎng)站上的一幅圖像的URL。
3)<item><item>元素指定一個(gè)項(xiàng)目,比如新聞文章的大標(biāo)題,它的超鏈接指向頻道提供者網(wǎng)站上的完整內(nèi)容,并后跟一段簡(jiǎn)短的描述。該元素構(gòu)成了RSSfeed的動(dòng)態(tài)部分。每個(gè)feed都允許使用1~15個(gè)item。<item>有一個(gè)rdf:about屬性,其值與<channel>中的<items>的相應(yīng)列表項(xiàng)的rdf:resource屬性值相同。<item>元素支持以下子元素,<title>是一個(gè)項(xiàng)的名稱/標(biāo)題。<link>是與一個(gè)項(xiàng)對(duì)應(yīng)的完整內(nèi)容URL。其值與rdf:about屬性的值完全相同。<description>是可選的對(duì)一個(gè)項(xiàng)的簡(jiǎn)短描述,它出現(xiàn)在超鏈接的itemtitle之后。每個(gè)item最多可以使用一個(gè)description。
4)<textinput><textinput>元素用于呈現(xiàn)一個(gè)HTML表單字段,以便提供用戶的輸入。它有一個(gè)rdf:about屬性,其值與<channel>中的<textinput>的rdf:resource屬性值相同。<textinput>元素支持以下子元素:<title>是輸入字段的標(biāo)題,例如Submit或Search。<description>是簡(jiǎn)短的輸入字段用途說(shuō)明,例如:Submityourfeedback。<name>是輸入字段的名稱。<link>是提交輸入字段的目標(biāo)URL。其值與rdf:about的值相同。利用這些元素,你可以創(chuàng)建一個(gè)RSSfeed,并將其保存到一個(gè).rss文件中。一些站點(diǎn)有標(biāo)記為“XML”或“RSS”橙色圖標(biāo),表示支持RSS聚合。
3應(yīng)用系統(tǒng)設(shè)計(jì)
本文在頁(yè)面跟蹤技術(shù)的基礎(chǔ)上進(jìn)行擴(kuò)展,對(duì)不支持RSS的網(wǎng)站自動(dòng)生成RSS數(shù)據(jù),并設(shè)計(jì)新的一套用戶服務(wù)支持新聞聚合。在標(biāo)準(zhǔn)的訂閱模型中,有出版者、發(fā)行者和訂閱者三種角色。對(duì)于出版者來(lái)說(shuō),RSS是一種提供結(jié)構(gòu)化信息的方法。以新聞的應(yīng)用為例,新聞的站點(diǎn)每小時(shí)一個(gè)包含最新新聞列表以及相應(yīng)鏈接的文檔,而這一文檔可以被其它站點(diǎn)收集并顯示在其索引頁(yè)面上,并且這個(gè)站點(diǎn)自動(dòng)同步更新,以獲取最新的新聞。其實(shí)就是把索引頁(yè)面與新聞源站點(diǎn)的動(dòng)態(tài)內(nèi)容相連接而已,RSS則為此提供了一種組織單個(gè)信息和集合信息的有效結(jié)構(gòu)。系統(tǒng)架構(gòu)如圖1,在原頁(yè)面跟蹤系統(tǒng)的Web客戶端擴(kuò)充支持RSS,同時(shí)可以訪問(wèn)頁(yè)面跟蹤的用戶服務(wù)接口。每個(gè)頻道對(duì)應(yīng)個(gè)RssFeed文件。每日(可配置)生成一個(gè)Feed,當(dāng)日更新增量方式添加,blog如何(何時(shí))更新自己的feed,ChangeSpider也同樣方式處理。本系統(tǒng)可以對(duì)已有RSS再聚合,在Intranet環(huán)境下,頁(yè)面跟蹤服務(wù)還可下載RssFeed中的URL,甚至全文索引,從而提高緩存效果。應(yīng)用實(shí)例-新樓盤(pán)信息查詢系統(tǒng)基于上述架構(gòu),本文設(shè)計(jì)了一個(gè)“新樓盤(pán)信息查詢”系統(tǒng),應(yīng)用ChangeSpider的檢索功能,設(shè)置了一個(gè)跟蹤13個(gè)房地產(chǎn)信息URL的頻道,由ChangeSpider自動(dòng)的搜集新聞并作全文索引,系統(tǒng)提供一個(gè)檢索界面,客戶可以輸入關(guān)鍵詞對(duì)這些樓盤(pán)新聞進(jìn)行檢索。例如,要從采集的新聞中檢索有關(guān)武漢新開(kāi)盤(pán)樓盤(pán)的新聞,設(shè)置檢索關(guān)鍵詞為“武漢樓盤(pán)開(kāi)盤(pán)”。
4小結(jié)
目前RSS已經(jīng)得到廣泛應(yīng)用,“MyYahoo!”和iGoogle[等個(gè)性化服務(wù)中添加的RSS聚合器可以整合來(lái)自雅虎或者Google的內(nèi)容,如新聞、天氣、體育和股票信息等等,還可以自動(dòng)連接反饋第三方的網(wǎng)站內(nèi)容,并同步更新。RSS作為一種簡(jiǎn)單而強(qiáng)大的web信息集成技術(shù),將衍生非常豐富的應(yīng)用,如內(nèi)容整合、討論主題、職位列表、Top10列表、多列表服務(wù)、比賽分?jǐn)?shù)以及文檔編錄等等。
熱門(mén)標(biāo)簽
新聞評(píng)論 新聞導(dǎo)語(yǔ) 新聞稿 新聞采訪 新聞 新聞標(biāo)題 新聞訪談 新聞寫(xiě)作 新聞稿件 新聞報(bào)道 心理培訓(xùn) 人文科學(xué)概論