+ -
当前位置:首页 → 问答吧 → Zend_Feed打造Feed Reader

Zend_Feed打造Feed Reader

时间:2008-07-15

来源:互联网

相信对于很多人来说,通过Bloglines,Google Reader这些阅读器订阅和浏览Blog已经是网络生活的一部份。如果你打算自己打造一个好用的Feed Reader,不妨试试Zend_Feed这个好用的类库。

首先大概的原理是读取Blog的RSS或Atom Feed,得到XML文件,解析该文件得到数据。为了加快浏览速度,我们通常需要把得到数据保存到本地数据库中。

以上目的分解成技术步骤有以下三步:
1。读取RSS。 你可以使用现成的函数或者专业的RSS类库(这种类库一般还提供更多丰富的功能),也可以自己模拟HTTP来抓取;

在PHP中,使用简单的比如file_get_contents()函数就可以方便而且高效地抓取文件,但有时候可能RSS文件是不能直接获取的,比如获取你的Bloglines帐号中订阅的RSS,那么可能你还需要提交一些参数或者通过HTTP认证之类,这时可用模拟HTTP的方法,比如下面代码使用了PEAR::Http_Request:

function getRSS($username,$password,$s,$n=0){

$url = "http://rpc.bloglines.com/getitems?s=".$s."&n=".$n;

$req = & new HTTP_Request($url);
$req->setBasicAuth($username,$password);
$req->sendRequest();

$blogContent = $req->getResp****eBody();
return $blogContent;

}

填入你的Bloglines帐号和密码,利用这个函数你就可以得到RSS文件。

2。解析XML RSS文件遵循一定规范,你可以自己写个函数来解析,没什么难度,但有点繁琐。
3。将解析得到的数据入库。

好了,大概知道了要做的工作,你会发现虽然都不难,但是自己一个个实现比较麻烦,呵呵。这就是本文要介绍Zend_Feed的原因。

Zend_Feed是Zend Framework中的一个类库,我们完全可以把它单独拿出来使用。Zend_Feed高度封装,使用非常方便,例如读取一个RSS Feed:

$channel = new Zend_Feed_Rss('http://rss.example.com/channelName');
echo $channel->title();

//遍历记录
foreach ($channel as $item) {
echo $item->title() . "\n";
}

是不是非常简单? 读取和解析总共5行代码。

好,下面我们开始完成一个真正的Feed Reader:

FeedReader.php

作者: java   发布时间: 2008-07-15

楼主,顶起来

作者: 网中浪子   发布时间: 2008-08-28

联系人:郑先生
咨询 QQ:768742811
咨询热线:13726501933
网 站:http://www.jinhaidian.com/
地 址:广东省揭阳市榕城区电脑城《金海数码》
联想 IdeaPad Y450A-TSI(D)(白) ¥4409
联想 IdeaPad Y450A-TFO(D)(灰) ¥3465
联想 IdeaPad Y450A-TFO(D)(白) ¥3465
联想 IdeaPad Y450A-TSI(NBA) ¥4165
联想 IdeaPad Y450A-TSI(白) ¥3989
联想 IdeaPad Y450A-PSE(白) ¥5040
联想 IdeaPad Y450A-TSI(灰) ¥4200
联想 IdeaPad V450A-TSI(D) ¥3990
联想 IdeaPad Y550A-TSI ¥4830
联想 IdeaPad Y550A-PEI ¥5740
联想 IdeaPad Y550A-PSE ¥4620
联想 IdeaPad U350-STW(魅惑黑) ¥3500
联想 IdeaPad U350-STW ¥3500
联想 3000 G430L-TON(H)(固黑版) ¥2100
联想 3000 G430MST3000 ¥2589
联想 3000 G430A-PSE ¥4074
联想 3000 G430L-TON ¥2100
联想 3000 G430L-IFI ¥2030
联想 3000 G450A-TFO ¥2975
联想 3000 G450A-TSI ¥3639
联想 L3000 G430AS-T6400 ¥3360
联想 L3000G430LT1600 ¥2100
联想 L3000G430AT4200 ¥3360
联想 昭阳E43L(T3400/1G/160G) ¥2730
联想 Y330AS-TFO(T4200/2G/320G) ¥3500
联想ThinkPad SL400 2743P9C ¥3500
联想ThinkPad T400 2765MD1 ¥8749
联想ThinkPad SL400 2743AWC ¥3849
联想ThinkPad X200 7454HT1 ¥4760
联想ThinkPad R400 2784A47 ¥3920
联想ThinkPad X200 74574AC ¥4690
联想ThinkPad R400 2784A34 ¥4200
联想ThinkPad T400s 28152CC ¥11059
联想ThinkPad R400 2784A42 ¥4900
联想ThinkPad SL400 2743NCC ¥2975
联想ThinkPad X200 74574UC ¥4970
联想ThinkPad SL400 2743PPC ¥4200
联想ThinkPad SL400 2743CD1 ¥3670
联想ThinkPad SL300 27386QC ¥3360
联想ThinkPad SL500 2746CA2 ¥2590
联想ThinkPad R400 2784A36 ¥4760
联想ThinkPad X200 7459P57 ¥5810
联想ThinkPad SL500 2746LQC ¥2589
联想ThinkPad X200s 74624UC ¥4130
联想ThinkPad SL400 2743CN1 ¥3681
联想ThinkPad SL400 2743NSC ¥3300
联想ThinkPad SL400 2743CD2 ¥4388
联想ThinkPad SL400 2743BC5 ¥3815
索尼 VGN-CS25H ¥4541
索尼 VGN-SR26 ¥4200
索尼 VGN-NW18H/W ¥4130
索尼 VGN-CS36H/P ¥4725
索尼 VGN-SR45H/N ¥5600
索尼 VAIO P VGN-P17H ¥4900
索尼 VGN-SR48J/J ¥6720
索尼 VGN NW18H/T ¥4200
索尼 VGN-CS33H/Z ¥4060
索尼 VGN-CS36H/W ¥4900
索尼 VGN-CS23H ¥3500
索尼 VGN-CS3S1 ¥3500
索尼 VGN-P70H ¥3920
索尼 VGN-SR45H/B ¥5600
索尼 VGN-CS39/I ¥6300
索尼 VGN-CS33H/B ¥4095
索尼 VGN-FW48J/B ¥12100
索尼 VGN-CS36H/Q ¥4900
索尼 VGN-P27H/R ¥4900
索尼 VGN-FW35F ¥6300
索尼 VGN-TT17N ¥15381
索尼 VGN-SR49D/Q ¥8000
索尼 VGN-CS36H/R ¥4900
索尼 VGN-CS27 ¥5381
索尼 VGN-CR322H ¥4200
咨询 QQ:768742811咨询热线:13726501933 网 站:http://www.jinhaidian.com/

作者: 裕懿歌   发布时间: 2009-08-03

相关阅读 更多