飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

为博客添加RSS订阅代码(ASP)

Author:Flymorn Source:飘易博客
Categories:Asp编程 PostTime:2008-2-21 15:29:09
正 文:
    如今越来越多的人开始写起了博客,博客应该是个性张扬的,应该反应博客主人对生活的某种认知,要以原创的内容为主。只有写出了个性,写出有价值的内容的博客才是可看的博客。在发表了一篇文章后,如何让别人第一时间知道呢?RSS订阅功能就可以实现了。

    比如国内知名的博客,新浪博客、搜狐博客、网易博客、BLOGBUS、MSN、WordPress等博客系统均有RSS订阅功能。RSS订阅是构成良好的博客、用户互动的一个体现。这些博客自身都带有RSS订阅功能,只要在后台简单的设置一下就可以让用户订阅RSS内容了。

    而对于一些还没有RSS功能的博客,或者是自己写出来的博客程序,如飘易博客就是flymorn采用asp语言写的一个博客程序。之前飘易博客并没有增加RSS订阅功能。虽然说,咱的博客刚开张没多久,也不确定有多少人会订阅本博客,但我相信,只要是用心写的博客,就会有用户来订阅你的博客。

    所以我便开始为飘易博客增加RSS订阅功能,演示地址为:http://www.piaoyi.org/rss.asp,ASP代码如下:


<%
''连接数据库
On Error Resume Next '防暴库
dim db,conn,connstr
db="数据库路径"
set conn= Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(""&db&"")
conn.Open connstr

strURL = "http://" & request.servervariables("server_name") & _   
left(request.servervariables("script_name"),len(request.servervariables("SCRIPT_NAME"))-len("/rss.asp"))
''获取当前域名,其中rss.asp为你的文件名
sql="select top 10 * from [数据表名] order by id desc"
''根据自己实际修改
set rs=server.createobject("adodb.recordset")   
rs.open sql,conn,1,1   
 response.contenttype="text/xml"   
 response.write "<?xml version=""1.0"" encoding=""gb2312"" ?>" & vbcrlf   
 ''response.write "<?xml-stylesheet type=""text/xsl"" href=""rss.xsl"" version=""1.0"" ?>" & vbcrlf   ''此句即增加xml的样式表
 response.write "<rss version=""2.0"">" & vbcrlf   
 response.write "<channel>" & vbcrlf   
 response.write "<title>飘易博客 RSS feed</title>" & vbcrlf   
 response.write "<link>" & strURL & "</link>" & vbcrlf   
 response.write "<language>zh-cn</language>" & vbcrlf   
 response.write "<copyright>An RSS feed for 飘易博客(Www.Piaoyi.Org)</copyright>" & vbcrlf    
while not rs.eof   
 response.write "<item>" & vbcrlf   
 response.write "<title><![CDATA[" & rs("标题") & "]]></title>" & vbcrlf   
 response.write "<link>"&strURL& rs("路径") &"</link>" & vbcrlf    
 response.write "<description><![CDATA[" & rs("摘要或内容") & "<br /><br />[<a href="""&strURL& rs("评论URL") &""">对“"& rs("标题") &"”发表评论</a>]<br /><br />]]></description>" & vbcrlf   
 response.write "<pubDate>" & return_RFC822_Date(rs("时间"),"GMT") & "</pubDate>" & vbcrlf   
 response.write "</item>" & vbcrlf   
rs.movenext   
wend   
 response.write "</channel>" & vbcrlf   
 response.write "</rss>" & vbcrlf   
rs.close   
set rs=nothing   

''关闭数据库
conn.close
set conn=nothing

''时间转换函数
Function return_RFC822_Date(byVal myDate, byVal TimeZone)   
Dim myDay, myDays, myMonth, myYear   
Dim myHours, myMinutes, mySeconds   
myDate = CDate(myDate)   
myDay = EnWeekDayName(myDate)   
myDays = Right("00" & Day(myDate),2)   
myMonth = EnMonthName(myDate)   
myYear = Year(myDate)   
myHours = Right("00" & Hour(myDate),2)   
myMinutes = Right("00" & Minute(myDate),2)   
mySeconds = Right("00" & Second(myDate),2)     
return_RFC822_Date = myDay&", "& _   
myDays&" "& _   
myMonth&" "& _    
myYear&" "& _   
myHours&":"& _   
myMinutes&":"& _   
mySeconds&" "& _    
" " & TimeZone   
End Function

''星期转换函数
Function EnWeekDayName(InputDate)   
Dim Result   
Select Case WeekDay(InputDate,1)   
Case 1:Result="Sun"   
Case 2:Result="Mon"   
Case 3:Result="Tue"   
Case 4:Result="Wed"   
Case 5:Result="Thu"   
Case 6:Result="Fri"   
Case 7:Result="Sat"   
End Select   
EnWeekDayName = Result   
End Function

''月份转换函数
Function EnMonthName(InputDate)   
Dim Result   
Select Case Month(InputDate)   
Case 1:Result="Jan"   
Case 2:Result="Feb"   
Case 3:Result="Mar"   
Case 4:Result="Apr"   
Case 5:Result="May"   
Case 6:Result="Jun"   
Case 7:Result="Jul"   
Case 8:Result="Aug"   
Case 9:Result="Sep"   
Case 10:Result="Oct"   
Case 11:Result="Nov"   
Case 12:Result="Dec"   
End Select   
EnMonthName = Result   
End Function   
%>

    把以上代码保存为rss.asp文件,修改其中相应的数据库表字段后,即可成功输出RSS格式的XML文档。现在你可以预览以下你做好的rss文件了,是不是效果出来了,纯代码亦可参考这里。当然,仅仅到这里,别人还是无法订阅你的博客RSS,你必须发布出去,别人才可以订阅。

    这里,我推荐大家使用Feedsky。Feedsky是一家Feed管理服务商,我们提供给Blogger(博客)、网站(Website)和商业出版等内容出版者在线的服务平台,帮助他们加强Feed的优化和传播管理。我们提供跟踪系统来追踪Feed被传播的渠道,例如阅读器、网站、新闻组、博客、Email和手机等,并最终帮助内容提供者通过这些传播渠道获取收益。Feedsky会处理您的Feed格式,使您的Feed能够自动适应各种RSS格式以及各种阅读器,同时我们会帮助您建立一个面向您读者的订阅引导页面,我们还会帮您统计每天、每周和每月的读者数量、他们使用的阅读器种类及文章点击数。

    目前,很多博客都采用了Feedsky作为他们的Feed管理服务提供者,如飘易博客:http://feed.piaoyi.org/,月光博客:http://feed.williamlong.info/,SEO网站优化推广-David Yin:http://feed.feedsky.com/seoseo等等都使用了Feedsky提供的Feed服务。有兴趣的朋友可以尝试尝试。
作者:Flymorn
来源:飘易博客
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:“艳/照门”逼陈冠希永久退出香港娱乐圈
下一篇:SEO术语、名词解释,普及SEO知识
15条评论 “为博客添加RSS订阅代码(ASP)”
2008-2-22 9:29:12
代码很强,Flymorn很N
2 Flymorn
2008-2-22 20:28:01
呵呵。过奖了,重在交流展示~~
3 richard
2008-3-30 18:33:14
不知道博主的博客是自己开发的吗?感觉不错
4 Flymorn
2008-3-30 18:59:24
呵呵。飘易博客是Flymorn个人开发的。to: richard ^_^
2008-4-14 11:57:36
用Z-Blog啊,自带有RSS的,不用自己写代码
6 Flymorn
2008-4-14 15:03:42
我比较喜欢刨根问底,自己写的可以随心所欲:)
2008-4-14 22:04:50
能不能弄个博客圈的代码?就是想将相关内容的博客聚合在一起,将圈内的最新文章展现在网页中。
这几天在网上找了N久,只看见Feedsky好像有博客圈,但是没开放权限;还有个火啦在线,介绍的挺不错,可就是加不了博客,估计其实力有限,毕竟是个人弄的。
后来发现了GG的阅读器,可以将不同的博客订阅在一起,但是需要手动操作文章共享才能在网页上展示,比较麻烦;
我的首页就放了一个Feedsky订阅信息和一个GG阅读器订阅共享的信息。不过都不太满意。
2008-10-28 9:18:56
在我的博客有wordpress的手工添加RSS能力的文章。少用插件好。。
2009-5-6 13:36:00
又一个代码强人。
牛!

10 Eva
2009-7-7 11:08:41
请问你的测试链接在firefox中使用,添加feed,为什么只能添加博客的标题列表的链接。如果博客有任何更新的话,在firefox中是看不到的,为什么?
还是说firefox中的rss feed就只能看到订阅的那些文章,不能够自动更新。。。
期待解答。急!!
11 FLYMORN
2009-7-7 18:00:33
TO:Eva,你好。订阅了feed后,feed内容会自动更新的。
2010-4-11 17:52:44
你好~  请问如果我的数据库是ASPX格式的话要改哪里噢?
还有啊,运行RSS。ASP的时候他出现这个,为什么噢?
有一个字符串文字, 但找不到左引号。处理资源 'http://wefeeling.net/rss.asp' 时出错。第 12694 行,位置: 23 
 
 <font face="宋体" size=2>
----------------------^
13 Flymorn
2010-4-12 19:09:17
12 小白:
本文提供的代码仅允许在asp平台运行,并不能直接在aspx上使用。
2010-5-21 1:05:56
你好啊,请问我现在换了MBD的数据库了,怎么他运行RSS.ASP的时候还是出这个~?
晕噢
http://ttyyy99.free.8p6.com/rss.asp
“一个字符串文字, 但找不到左引号。处理资源 'http://ttyyy99.free.8p6.com/rss.asp' 时出错。第 16983 行,位置: 23 ”
帮忙解决一下噢,谢谢咯~
15 是的
2011-6-25 0:07:35
学习一下 欢迎回访http://krrj.tk

http://yibiyi.tk
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号