创建自定义RSS馈送汇集器 zz

上一篇 / 下一篇  2007-03-01 16:58:07 / 精华(1) / 个人分类:LAMP

CSDN 推荐tag:rss 表格 用户 组件 脚本 php 数据库 mysql web 浏览 
 丰 富站点摘要馈送,它的缩写RSS更有名,它是XML如何对信息消费的方式产生主要影响的伟大范例。这种 XML术语是用于总结信息的一种流行格式,这种信息即:典型地、但不是专门面向新闻的数据,它包括标题、摘要、作者和发布日期。建立和分配RSS馈送变得 日益流行,主要有几个原因:
I:U1?YVxod0
5LE+k2D1ZG] \0·竞争:随着为客源竞争的Web站点数的持续增长,使他们的信息到达消费者的选择性方案也总是在考虑之中。木铎校园 BBS 社区!TTUC @?#a{7~R
木铎校园 BBS 社区$F:e7RU5tv*Z
·信息超载:很明显,消费者发现他们越来越依赖于日益增长的Web 站点。那就是说,从一个站点到另一个站点的线性导航方式一点也没有削减他们的依赖性。浏览站点摘要而且不用常常转移图表、广告和附加的外来资料,是一个投资时间最少、迅速筛选所需信息的重要方法。木铎校园 BBS 社区1j\~mS f:aC0p(U1r
木铎校园 BBS 社区,X:?L;zN'z)\X
·普遍性: 基于XML的格式清楚的划分了数据和表达式,从而易于转换以广泛适应不同媒体分布出口(标准的Web浏览器、信元电话、纸张、电子邮件等等)的不同需求。
#g9r7lS!x._]`g6g0木铎校园 BBS 社区*X6xDqQ8k,P
尽管RSS馈送的使用曾经归入精英之手,但这些日子他们似乎到处出现。Yahoo!,Christian Science Monitor、CNET News.com、和 The BBC 只是近来提供RSS馈送给他们的读者的Web站点中的几个而已。
;F'g\B s{z$dz0
?v x"vx-g^p]x0注意:那 些对RSS完全陌生的读者,请用一分钟时间装载Yahoo的技术馈送(http: //rss.news.yahoo.com/rss/tech)到你的浏览器上。你可以迅速的认出组织良好的数据格式,它将自己借给了表达式的转换,这是 XML术语的典型之处。对于这个论题的完整论述来说,就是在你喜爱的搜索引擎上实现快速搜索;你会找到的指南比你键盘操作得到的指南更多。
Q;ZL rO'Of0木铎校园 BBS 社区}%gV*a8v7{YP
目录木铎校园 BBS 社区l3^Ci/e_%~2^
木铎校园 BBS 社区 I)Q]P| \`
Magpie RSS木铎校园 BBS 社区4A q0l v9Wty2T,iMW
RSS馈送木铎校园 BBS 社区2ot,}W8h3kjNgQL
MySQL数据库
v|:y+g+c&W4F0PHP 脚本木铎校园 BBS 社区u;o9LFJR
结论

B6l+j P2w*t0
u&_$nDai K{3vs0在 本文中,我将阐述如何使用PHP、MySQL 数据库服务器和 Magpie RSS parser来提供可自定义的RSS馈送服务给你的Web站点用户。尽管我希望你至少有使用PHP和MySQL 的基本经验,但对于初学者来说例子应该非常容易,以便于理解。因为你们中的大部分人可能不熟悉Magpie RSS Parser,我会就这个重要的工具提供一些额外的信息。木铎校园 BBS 社区y,D9I]3Kk%e1BG

nj4ETu0`qj+G0Magpie RSS
-so+E-A:}7A/^3})\0木铎校园 BBS 社区u0kOo2r#fY
Magpie RSS Parser是在2002年晚期由Kellan Elliott-McCrea创建的,以确保他感知到的东西没有真正的基于PHP的RSS 汇集解决方案。结果就出现了一个极佳的可行工具,它可提供一群有用特征,其中包括:
'}m8WS-pt0木铎校园 BBS 社区/o"C|_.I\ xG
·面向对象的设计:面向对象的、模块化的代码允许你毫不费力的将汇集特征集成到以前的应用上。
H_(ix S0
$~i+E%t6p1iQPk0·极高的可配置性:Magpie的汇集和缓存行为很容易通过一个良好贯穿的配置策略来修改。
L RP4a"n$L0t kX0木铎校园 BBS 社区G4[iafW Md l
·馈送缓存:这个非常酷的特征可以本地缓存RSS馈送(到服务器上),从而保存带宽并且增强应用的性能
m:_W$st6P? J0木铎校园 BBS 社区e!J+[:V#Q
因为它是在GPL license下发布的,所以你不用掏钱,只要你愿意,并且遵守许可证的条款和条件,就可以自由使用这个软件。它只需要使用XML(expat) 支持编译的PHP (4.0+)的新版本。.木铎校园 BBS 社区*gg8Nzm0u2`2z

c%M~&\9^ n B_!o0RSS馈送
{ F)L.^"o o0木铎校园 BBS 社区Zh:@gB"cF
让 我们从应用的内容开始讨论。你喜欢提供哪种类型的RSS馈送给你的用户?找到RSS馈送就好像细读你喜爱的搜索引擎一样容易:只要输入 "RSS" 和一些其他的选择主题如"technology," "science,"或者"sports."等等。对于一个偷懒的人来说(编程行业中没有不好的特性),通过Web. Feedster (http://www.feedster.com/)上弹出的许多RSS汇集器浏览也是我个人喜好之一。为了这篇指南,我将使用下列馈送:木铎校园 BBS 社区@&K+x(KC|^
木铎校园 BBS 社区:qD3D~D4Y
·Yahoo! Top Stories (http://rss.news.yahoo.com/rss/topstories)
XZ&f%]A {0
4v1I?.a#p/Y+X0·MSDN, Recent Technical Articles (http://msdn.microsoft.com/rss.xml)木铎校园 BBS 社区4K y8_RW N8e
木铎校园 BBS 社区eF!Z6b?z
·Infoworld Latest News (http://www.infoworld.com/rss/news.rdf)木铎校园 BBS 社区O1QF3BI"P Q+k%_
木铎校园 BBS 社区3xZ1I)Uc
·PCWorld Latest News (http://rss.pcworld.com/rss/latestnews.rss)
C2oiM+v/~H0木铎校园 BBS 社区acv(HCQ1l#J
·eWeek Technology News (http://rssnewsapps.ziffdavis.com/tech.xml)
`1{6`5?F}ye0木铎校园 BBS 社区{3CWpM7aaDK
你应该记住:有些RSS发布商需要许可后才允许你将它们的馈送用于商业用途。因此,在安装之前你永远要多看几遍任何使用条款。
o.X%tic5p0
"d Oz-HE d({0请记下馈送位置、标题、和URL,你愿意的话还可以记录描述。在下一部分,我们将创建收藏这些信息的数据库表格。木铎校园 BBS 社区 ]3C!js yk @%I

-`]ar4U6dj0MySQL数据库
5?;u'Y7S.FO)g0木铎校园 BBS 社区3p(mjM\oW'c
为了实现我们的自定义RSS服务,只需要三个数据库表格。这部分,我将介绍这三个表格。木铎校园 BBS 社区%B?.w J|%Zb-O
木铎校园 BBS 社区u I"l#B s
rssfeed木铎校园 BBS 社区8g l-y?-LIJ ^

*P#H \,ks7H-gG!_R"V*_0第一个表格rssfeed,将存储RSS馈送信息。为例子的简单起见,我们只存储三项:唯一的ID、标题和URL。在更为复杂的应用中,你可能存储其它细节,如描述、馈送添加到汇集器的日期、连续两次馈送检索之间的等待秒数、和其它相关信息。
b$X[Q%q+Y0木铎校园 BBS 社区&B~R[^G m%r
mysql>CREATE TABLE rssfeed (     >rowID tinyint unsigned not null auto_increment,     >title varchar(150) not null,     >url varchar(150) not null,     >primary key(rowID)     >);
木铎校园 BBS 社区9u C|$~a ?g9d/v

C`s kF6T${~k0Table 1-1显示了添加所选择的RSS馈送之后的表格内容:木铎校园 BBS 社区z@7q1if+C#Uc
木铎校园 BBS 社区"Ba7p;eJo

A,[){5pg6u a0木铎校园 BBS 社区%^x(t)ET;si?
user
e9i)BH8aru0
t+qZ#Mb'j6T%z5v0第 二个表格user 存储关于使用该RSS汇集器的用户的信息。每一个用户只能有一个唯一标志,这样我们才能提供自定义服务;如果这样,每个用户可用一个简单的整数值来标记。 在用户管理他自己首选的馈送并且浏览馈送之前需要登录,这样他的电子邮件和密码也会保存下来。为了安全起见,密码可作为一个由32个字符组成的不可取消的 散列表保存。另外,就像rss 表格一样,在真实的应用中,该用户表格可变得更加复杂;但是,实现我们汇集机制的必要部分仍可在我们的表格中找到。木铎校园 BBS 社区&qi{Xp}CQ P
木铎校园 BBS 社区n+UAl1^+\
mysql>CREATE TABLE user (     >rowID smallint unsigned not null auto_increment,     >email varchar(55) not null,     >pswd varchar(32) not null,     >primary key(rowID)     >);

N]+`?Uk8v~R&d0
!k_0n!{ h"r7Y h0为了例子的简单起见,Table 1-2展示了存储在该表格内的用户信息示例:木铎校园 BBS 社区$|+Z(`A lM_m
木铎校园 BBS 社区s9B3K WQTz+{{vQ2yv
Table 1-2: 用户信息示例木铎校园 BBS 社区1b9V)}-I'I h
木铎校园 BBS 社区q2]:a)[&m ?4AgK+D

e Vy-j7A yGxa0
;kf y i$~L |X0user_to_rss_feed
'v'G"D#o5q G L0木铎校园 BBS 社区 b:yxu0~ Yc"i k%{
第三个表格user_to_rss_feed,将用户和他们选择的RSS馈送联系在一起。这个表格有两列组成:userid 和rssid。userid 标记用户;rssid标记RSS 馈送。木铎校园 BBS 社区o:_+z3jDT3wA
木铎校园 BBS 社区[#e%Y;uhm9I
mysql>CREATE TABLE user_to_rss_feed (     >userid smallint unsigned not null auto_increment,     >rssid tinyint unsigned not null     >);
木铎校园 BBS 社区r oe-y,y6G#P
木铎校园 BBS 社区-J/F.yZ.h3gcN
Table 1-3在我们的用户选择了他们喜爱的馈送之后提供了该表格内容的模拟。木铎校园 BBS 社区4E9nI9x/i@

8fdp&uj9v#rp7\0Table 1-3: User/RSS 馈送映射木铎校园 BBS 社区I[]"?TQ q#bT
木铎校园 BBS 社区f|)RJ9Jp$~'E

FcP(?j6~|0木铎校园 BBS 社区c ]An3l;Rp
PHP 脚本木铎校园 BBS 社区+x+g cg'dF0~W

k@H7o'm0最后一个任务就是创建显示用户所选的RSS馈送的脚本。这个脚本的标题为myrss.php,他不可思议的简单,只包含两个主要组件:
c&z/hH!Y }6w"|T0
Sb8Ca{nmw4`0·Login: 用户需要登录才能浏览他的自定义的馈送。这可以通过使用一个简单的表格和一些确认提供的电子邮件地址与密码的逻辑就可以完成了。木铎校园 BBS 社区&c nZpn*Y

Jfq#ti EK hQ4^0·RSS Aggregation and Delivery: 如果出现有效登录(或者有效会话;见下一段),我们将使用Magpie RSS Parser 来显示用户所选的RSS馈送。木铎校园 BBS 社区q*L5A7b/]K,~

}/r8JdTX&v5F0要避免用户抱怨每次需要RSS "fix,"时都要重复登录,我使用了PHP的会话期处理特征。一旦成功的登录,用户的唯一标志符就作为会话期变量存储起来,以便于以后的检索。记住,存储期限完全取决于你如何配置你的PHP安装的会话期功能。
x:X5KV9K5s \3wG0
qqU _"\'m D#R:Y0Listings 1-1 和1-2为两个组件都提供了注释码。两个组件都装配好并可用于浏览,浏览功能可通过在Listing 1-2结尾部分设置链接来实现。
L(OOFP0木铎校园 BBS 社区d.{m&`S [#j`;W
Listing 1-1:登录组件
x.Jo@&bp"Oe0木铎校园 BBS 社区gP|k:]
// Start or continue a sessionsession_start();// Has the userif (! isset($_SESSION['userid'])){   if (! isset($_POST['email']))   {      echo "<form action='myrss.php' method='post'>";      echo "Email:<br />";      echo "<input type='text' name='email' size='20'      maxlength='55' value='' /><br />";      echo "Password:<br />";      echo "<input type='password' name='pswd' size='20'                   maxlength='20' value='' /><br />";      echo "<input type='submit' value='login'>";      echo "</form>";   } else {      mysql_connect("localhost","aggregator","secret");      mysql_select_db("rssfeeds");      $email = $_POST['email'];      $pswd = md5($_POST['pswd']);      $query = "SELECT rowID, email, pswd FROM user                 WHERE email='$email' AND '$pswd'";      $result = mysql_query($query);      if (mysql_numrows($result) != 1)      {         echo "<p>Could not login!</p>";      } else {         list($rowID, $email, $pswd) = mysql_fetch_row($result);         $_SESSION['userid'] = $rowID;      }      mysql_close();   } // end isset[email]}Listing 1-2. RSS汇集和呈送组件if (isset($_SESSION['userid'])) {   require_once("rss_fetch.inc");   mysql_connect("localhost","aggregator","secret");   mysql_select_db("rssfeeds");	   $userID = $_SESSION['userid'];   $query = "SELECT rss.title, rss.url             FROM rssfeed AS rss, user_to_rss_feed as userrss             WHERE userrss.userid='$userID'              AND rss.rowID=userrss.rssid";   $result = mysql_query($query);   while(list($title,$url) = mysql_fetch_row($result))    {      $url = "$url";      $rss = fetch_rss( $url );      echo "<strong>" . $rss->channel['title'] . "</strong><p>";      echo "<ul>";      foreach ($rss->items as $item)       {         $href = $item['link'];         $title = $item['title'];         echo "<li><a href=$href>$title</a></li>";      }      echo "</ul>";   }   mysql_close();}View the complete scrīpt here

BX!O H!U/Cs|'G0
:zLjW0Sa_.L V0Figure 1-1 显示了登录表格。
@8x|5}xG0
m:M\(D V-]0

d1Q"k.K+|B F4W0
+m ~/CLh0Figure 1-2 描述了请求的RSS馈送的一个典型显示。
kWlP Q[v0木铎校园 BBS 社区5bXYDr
木铎校园 BBS 社区5\_)R7nHc.vN
木铎校园 BBS 社区]dYq2F m+~G~,e
结论
dB+v5Dwg7bp0
D4Ko4GY U6]bA&^0欢迎提问和评论!电子邮件可发至: jason@wjgilmore.com。我也想听听你对RSS馈送、PHP和MySQL 之间的集成有何高见!【original text

q;U+l;k%Y$x5d:}m0
OR?w R$R0

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=255507

pW{#{z0
lKy$W ]g;P0
[收藏到我的网摘]   赵伟发表于 2005年01月16日 18:10:00

TAG: LAMP

引用 删除 Guest   /   2008-09-04 16:58:19
暨华教育服务中心联系方式13242851818电子邮件;jheduzx@126.com公司网站;http://www.jheduzx.cn 客服QQ;504875656本中心免试入学,电子注册,上网查询,快速取证、社会认可,学制短,提供全日制学籍档案。毕业证书对求职,应聘、出国留学移民、技能考核、晋级、资格评定、升职、涨薪等都具有效力。毕业证书可在学校官方网站永久查询,有档案,有学籍,有成绩单,有完整的手续。专业齐全,可以任意选报。真实、合法、快速、便捷、学费低!是您最理想的选择!



联系方式  13242851818
电子邮件; jheduzx@126.com
公司网站; ;http://www.jheduzx.cn
客服QQ;   504875656

网络推广

网址:http://www.aaaaa.cn
引用 删除 Guest   /   2008-08-28 12:02:37
比尔·盖茨:放弃密码时代来临 智能卡取而代之
作者:力维智能锁业  

据国外媒体报道,微软董事长比尔·盖茨日前再次呼吁计算机用户,要放弃使用密码。
据CNET网站报道,多年以来,盖茨一直称计算机密码是很薄弱的验证方式,并建议用户使用智能卡或其他验证技术。
盖茨呼吁:"密码的安全性不仅薄弱,而且会带来更多问题。密码越多,问题也就越多。"
盖茨称,现在是真正放弃使用密码的时候了。在新一代操作系统Vista中,微软针对个人用户引入了"CardSpace "技术,试图取代用户密码。
至于企业用户,盖茨表示,将于今年5月推出"Identity Lifecycle Manager 2007"和其他相关产品。盖茨说:"我们认为这是一个重要的里程碑,企业用户现在应该放弃密码,使用智能卡.


广东力维智能锁业

网址:http://www.levellock.com
引用 删除 Guest   /   2008-08-27 16:24:11
暴跌的行情如何获利? 2年50倍的奥秘是什么?!  免费股市培训进行中,请点击下面地址:
http://www.111518.com.cn/cn/jjzs.asp   免费股市培训进行中


网站:股市快线 www.111518.com.cn
www.chinarz.cn ,免费黑马赠送!免费黑马赠送!

明后天有望涨停的股票藏在哪里?! 哪些股票能够逆市飞扬?

    我站诚邀各路专家、高手为投资者提供免费股市投资培训课程,欢迎参加,请按照下文所述的步骤操作即可!

    备注:我站举行的免费股市投资培训课程UC使用新浪提供的UC软件,该软件是新浪提供的即时沟通工具,和QQ相似,目前使用UC即时沟通工具的人群呈现出快速上升势头。UC网络课堂能听能看,就象在教室里听课一样的现场感觉,使用非常方便。

    具体操作如下:
1、安装下载UC客户端,软件地址是:http://uc.sina.com.cn/ 的右上角下载最新版本(如您已下载,请直接登陆)
2、登陆UC系统。输入您的UC账号和密码。
3、登陆后点击客户端左下脚的聊天室,进入聊天室界面
4、点击聊天室上方的“查找”按钮,输入房间名称“股市加油站”
5、点击弹出框的“进入”按钮
6、房间密码为123456(或者无密码)
7、进入房间,享受无障碍视听交流




股市快线

网址:http://www.chinarz.cn
引用 删除 Guest   /   2008-08-08 15:24:28
深圳市巅峰视觉影视广告工作室拥有先进专业的制作设备以及一批高素质的专业工作人员,倾心致力于高品质数码影视制作。多年来所服务客户触及各个行业,并成功为国内外科技行业、电讯行业、医药行业、金融业、房地产业、娱乐行业等多种行业制作过电视广告及宣传片,现已建立一套从影视作品的前期策划、拍摄到后期制作高效完善的服务体系。
唐先生
13632503918(谢绝无关推销)
http://tanghao2435.zke360.com

深圳市巅峰视觉影视广告

网址:http://www.sutime.cn
引用 删除 PINKFIELD   /   2008-08-06 14:51:29
快门可以用电脑拨打国内、国际长途电话,接通快速、话音清晰、资费便宜  !
国内电话标准资费8分钱一分钟,国际长途0.2-0.3元每分钟,
想尽情的煲电话粥吗?现在就点此开始注册快门吧!http://shutter.cdream.com/register.php?linkid=122691
引用 删除 Guest   /   2008-08-05 21:54:10
拜访博主!!你是否因毕业后找不到合适的工作而发愁?你是否因打工压力大收入却很少,有时还得不到公正的待遇而愤恨?你是否想开创自己的事业却苦于没有资金和经验而无奈?......现在一个真正帮助渴望成功人士的机会出现在您的身边! 你不需要大量的资金、你不需琢磨该如何创业;更不需要承担市场风险。全新“互惠营销”的商业模式——“电子商务+网络行销”等待您的了解,敬请关注:http://www.quan168.com.cn

E时代在家创业

网址:http://www.quan168.com.cn
引用 删除 Guest   /   2008-07-28 06:52:07
◆QQ:512736261◆5.5铅弹,气枪子弹,气枪铅弹,4.5铅弹,南海铅弹,气枪子弹4.5 ,山峰铅弹,求购气枪子弹,气枪子弹模具,气枪子弹模具制造 ,气枪铅弹钳◆QQ:512736261◆4.5mm铅弹,铅弹枪,4.5铅弹 ,gamo 铅弹,4.5铅弹模具,铅弹制作,穿甲弹,4.5mm铅弹,气枪子弹怎么做,进口铅弹,帆船铅弹,环球铅弹◆QQ:512736261◆5.5mm铅弹,6mm铅弹,哪有气枪子弹卖,广州三箭气枪铅弹,尖头铅弹,
气枪铅弹销售,购买气枪铅弹,出售气枪铅弹

申江网络科技

网址:http://.com
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

关于作者