" />

好紧好涨好大,国产亚洲精品999,在线激情视品,草av在线观看,制服av五区,香蕉伊人小说网,国产99热久久99,久久涩涩久久,日韩入B视频

首頁資訊商務會員鋼材特鋼不銹爐料鐵礦煤焦鐵合金有色化工水泥財經指數人才會展鋼廠海外研究統計數據手機期貨論壇百科搜索導航短信English
鋼鐵博客  博客公告
鋼之家社區(qū)
鋼之家 | 鋼鐵博客 | 鋼鐵論壇 | 鋼鐵百科
您現在的位置: 鋼鐵博客 > 博客公告
歡迎登陸博客    administrator的辯論
日歷
<< < 2026年5月 > >>
     1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31       
熱門文章TOP10   更多
最新日志
總人數2538
會員數0
游客數2538
 【轉貼】Lilina:RSS聚合器構建個人門戶(Write once, publish anywhere)
字體: 發(fā)表日期:2005-11-10 09:13 評論:0 點擊:3450
最近搜集RSS解析工具中找到了MagPieRSS 和基于其設計的Lilina;Lilina的主要功能: 1 基于WEB界面的RSS管理:添加,刪除,OPML導出,RSS后臺緩存機制(避免對數據源服務器產生過大壓力),ScriptLet: 類似于Del.icio.us it的收藏夾即時訂閱JS腳本; 2 前臺發(fā)布:將自己的首頁改成了用Lilina發(fā)布我常看的幾個朋友的網志,也省去了很多更新自己網頁的工作,需要php 4.3 + mbstring iconv 開源軟件對i18n的支持越來越好了,php 4.3.x,'--enable-mbstring' '--with-iconv'后比較好的同時處理了UTF-8和其他中文字符集發(fā)布的RSS。 。 記得年初趨勢吧,比如利用Add to My Yahoo!功能,用戶可以輕松的實現自己從更多數據源進行新聞訂閱。想象一下把你自己的del.icio.us書簽收藏 / flickr圖片收藏 / Yahoo!新聞都通過這樣一個RSS聚合器聚合/發(fā)布起來。其傳播效率將有多快。 好比軟件開發(fā)通過中間平臺/虛擬機實現:一次寫成,隨處運行(Write once, run anywhere),通過RSS/XML這個中間層,信息發(fā)布也實現了:一次寫成,隨處發(fā)布(Write once, publish anywhere...) 安裝Lilina需要PHP 4.3 以上,并帶有iconv mbstring等函數的支持,請確認一下:'--enable-mbstring' '--with-iconv' 另外就是一個需要能通過服務器端向外部服務器發(fā)送RPC請求,這點51.NET不支持。感覺很不錯,很多缺省的包都安裝好了: iconv iconv support enabled iconv implementation unknown iconv library version unknown Directive Local Value Master Value iconv.input_encoding ISO-8859-1 ISO-8859-1 iconv.internal_encoding ISO-8859-1 ISO-8859-1 iconv.output_encoding ISO-8859-1 ISO-8859-1 mbstring Multibyte Support enabled Japanese support enabled Simplified chinese support enabled Traditional chinese support enabled Korean support enabled Russian support enabled Multibyte (japanese) regex support enabled 將安裝包解包(下載文件擴展名是.gz 其實是.tgz,需要重命名一下):上傳到服務器相應目錄下,注意:相應cache目錄和當前目錄的可寫入屬性設置,然后配置一下conf.php中的參數即可開始使用。 何東給我的建議: 1)右邊的一欄,第一項的sources最好跟hobby、友情鏈接一樣,加個圖片。 2)一堆檢索框在那兒,有些亂,建議只有一個,其它的放到一個二級頁面上。 3)把聯系方式及cc,分別做成一條或一個圖片,放在右邊一欄中,具體的內容可以放到二級頁面上,因為我覺得好象沒有多少人會細讀這些文字。 4)如果可能,把lilina的頭部鏈接漢化一下吧? 一些改進計劃: 1 刪除過長的摘要,可以通過尋找第2個" " 實現; 2 分組功能:將RSS進行組輸出; 修改默認顯示實現:Lilina缺省顯示最近1天發(fā)表的文章,如果需要改成其他時間周期可以找到: $TIMERANGE = ( $_REQUEST['hours'] ? $_REQUEST['hours']*3600 : 3600*24 ) ; 進行改動。 RSS是一個能將自己的所有資源:WIKI / BLOG / 郵件聚合起來的輕量級協議,以后無論你在何處書寫,只要有RSS接口就都可以通過一定方式進行再次的匯聚和發(fā)布起來,從而大大提高了個人知識管理和發(fā)布/傳播效率。 以前對RSS理解非常淺:不就是一個DTD嘛,真了解起解析器來,才知道namespace的重要性,一個好的協議也應該是這樣的:并非沒有什么可加的,但肯定是沒有什么可“減”的了,而真的要做到這個其實很難很難……。 我會再嘗試一下JAVA的相關解析器,將其擴展到WebLucene項目中,更多Java相關Open Source RSS解析器資源。 另外找到的2個使用Perl進行RSS解析的包: 使用解析RSS XML::RSS::Parser::Lite的代碼樣例如下: #!/usr/bin/perl -w # $Id$ # XML::RSS::Parser::Lite sample use strict; use XML::RSS::Parser::Lite; use LWP::Simple; my $xml = get(""); my $rp = new XML::RSS::Parser::Lite; $rp->parse($xml); # print blog header print "get('url')."\">" . $rp->get('title') . " - " . $rp->get('description') . "\n"; # convert item to
  • print ""; 安裝: 需要SOAP-Lite 優(yōu)點: 方法簡單,支持遠程抓取; 缺點: 只支持title, url, description這3個字段,不支持時間字段, 計劃用于簡單的抓取RSS同步服務設計:每個人都可以出版自己訂閱的RSS。 XML::RSS::Parser代碼樣例如下: #!/usr/bin/perl -w # $Id$ # XML::RSS::Parser sample with Iconv charset convert use strict; use XML::RSS::Parser; use Text::Iconv; my $converter = Text::Iconv->new("utf-8", "gbk"); my $p = new XML::RSS::Parser; my $feed = $p->parsefile('index.xml'); # output some values my $title = XML::RSS::Parser->ns_qualify('title',$feed->rss_namespace_uri); # may cause error this line: print $feed->channel->children($title)->value."\n"; print "item count: ".$feed->item_count()."\n\n"; foreach my $i ( $feed->items ) { map { print $_->name.": ".$converter->convert($_->value)."\n" } $i->children; print "\n"; } 優(yōu)點: 能夠直接將數據按字段輸出,提供更底層的界面; 缺點: 不能直接解析遠程RSS,需要下載后再解析; 2004-12-14: 從cnblog的Trackback中了解到了 Planet的安裝:解包后,直接在目錄下運行:python planet.py examples/config.ini 就可以在output目錄中看到缺省樣例FEED中的輸出了index.html,另外還有opml.xml和rss.xml等輸出(這點比較好) 我用幾個RSS試了一下,UTF-8的沒有問題,但是GBK的全部都亂碼了,planetlib.py中和XML字符集處理的只有以下代碼:看來所有的非UTF-8都被當作iso8859_1處理了: try: data = unicode(data, "utf8").encode("utf8") logging.debug("Encoding: UTF-8") except UnicodeError: try: data = unicode(data, "iso8859_1").encode("utf8") logging.debug("Encoding: ISO-8859-1") except UnicodeError: data = unicode(data, "ascii", "replace").encode("utf8") logging.warn("Feed wasn't in UTF-8 or ISO-8859-1, replaced " + "all non-ASCII characters.") 近期學習一下Python的unicode處理,感覺是一個很簡潔的語言,有比較好的try ... catch 機制和logging 關于MagPieRSS性能問題的疑慮: 對于Planet和MagPieRSS性能的主要差異在是緩存機制上,關于使用緩存機制加速WEB服務可以參考:。 可以看到:Lilina的緩存機制是每次請求的時候遍歷緩存目錄下的RSS文件,如果緩存文件過期,還要動態(tài)向RSS數據源進行請求。因此不能支持后臺太多的RSS訂閱和前端大量的并發(fā)訪問(會造成很多的I/O操作)。 Planet是一個后臺腳本,通過腳本將訂閱的RSS定期匯聚成一個文件輸出成靜態(tài)文件。 其實只要在MagPieRSS前端增加一個wget腳本定期將index.php的數據輸出成index.html,然后要求每次訪問先訪問index.html緩存,這樣不就和Planet的每小時生成index.html靜態(tài)緩存一樣了嗎。 所以在不允許自己配置服務器腳本的虛擬主機來說Planet根本是無法運行的。 更多關于PHP中處理GBK的XML解析問題請參考: 2004-12-19 正如在SocialBrain 2005年的討論會中,Isaac Mao所說:Blog is a 'Window', also could be a 'Bridge',Blog是個人/組織對外的“窗口”,而RSS更方便你將這些窗口組合起來,成為其間的“橋梁”,有了這樣的中間發(fā)布層,Blog不僅從單點發(fā)布,更到P2P自助傳播,越來越看到了RSS在網絡傳播上的重要性。
  • ※ ※ ※ 本文純屬【administrator】個人意見,與【鋼之家鋼鐵博客】立場無關.※ ※ ※

    該日志尚無評論!


    您希望聯系哪位客服?(單擊選擇)

    剑川县| 南开区| 武山县| 缙云县| 凤翔县| 彭水| 秦皇岛市| 德化县| 长兴县| 铁岭市| 徐汇区| 甘德县| 平舆县| 黑龙江省| 读书| 大埔县| 霍邱县| 新闻| 紫金县| 东光县| 青铜峡市| 广安市| 临猗县| 罗甸县| 诸暨市| 金阳县| 科技| 聊城市| 沾益县| 屏东市| 揭阳市| 兴文县| 麟游县| 昌江| 定州市| 耒阳市| 峨眉山市| 崇文区| 仙游县| 阜阳市| 青岛市|