显示 FeedSky,FeedBurner,Google Feed 的文本统计数字的方法
By NetPuter on 2009-01-23 / * Internet / # Feed, FeedBurner, FeedSky, Google, Icon, RSS!有些时候,为了页面的样式,或许你需要显示 FeedSky,FeedBurner,Google Feed 的文本统计数字。如何实现呢?其实我们可以利用强大的 API 调用 RSS 托管商的文本统计数字。
FeedSky
Shawn 童鞋已经提供了显示 FeedSky 的文本统计数字的方法(原文地址),相关代码如下(把代码中的 feedsky-id 改为你的 Feed@FeedSky 的名称):
1 2 3 4 5 <?php $xml = simplexml_load_file('http://www.feedsky.com/rpc/feed_statistic_xml.php?u=feedsky-id'); $node = $xml->xpath('/month/day[last()]'); foreach($node as $n){echo $n['subcount'];} ?>位读者
FeedBurner
这个方法是 NetPuter 参考 Shawn 的方法实现的,算是准原创吧。其中 API 的地址是在这里发现的,相关代码如下(同样,把代码中的 feedburner-id 改为你的 Feed@FeedBurner 的名称):
1 2 3 4 5 <?php $xml = simplexml_load_file('http://api.feedburner.com/awareness/1.0/GetFeedData?uri=feedburner-id'); $node = $xml->xpath('/rsp/feed/entry'); foreach($node as $n){echo $n['circulation'];} ?> Readers
Google Feed
由于 FeedBurner 已被 Google 收购,因此调用方法也差不多,代码如下(还是,把代码中的 googlefeed-id 改为你的 Feed@FeedBurner 的名称):
1 2 3 4 5 <?php $xml = simplexml_load_file('https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=googlefeed-id'); $node = $xml->xpath('/rsp/feed/entry'); foreach($node as $n){echo $n['circulation'];} ?> Readers
最终效果以及相关注意
因为 OrzDream 是由 FeedSky 托管的,也有由 FeedBurner 托管的,但是几乎没有数字,所以借用一下 WPChina.org 和精品博客的订阅统计。
图像版:截止至昨天, OrzDream 已经有
,
WPChina.org 有,
精品博客有。
文本版:
截止至昨天, OrzDream 已经有xpath('/month/day[last()]');foreach($node as $n){echo $n['subcount'];} ?>位读者, WPChina.org 有 $xml = simplexml_load_file('http://api.feedburner.com/awareness/1.0/GetFeedData?uri=wordpresschina');$node = $xml->xpath('/rsp/feed/entry');foreach($node as $n){echo $n['circulation'];} ?> Readers ,精品博客有xpath('/rsp/feed/entry');foreach($node as $n){echo $n['circulation'];} ?> Readers 。
几点注意:
- 建议大家在使用代码的时候 Cache 一下,帮助 RSS 托管商和地球节省资源。有关 Cache 可以参考 WordPress 官方 Codex 的详细内容。
- 关于显示 FeedBurner,Google Feed 的文本统计数字的方法中,用到 SimpleXMLElements 这个玩意儿,它生存在 PHP5 环境中。如果你的 Blog 还是生存在 PHP4 环境的话,就无法使用以上显示 FeedBurner,Google Feed 的文本统计数字了。
- 不知道为什么,精品博客的订阅统计图标和文本有很大出入。此外, FeedSky 和 FeedBurner 也是图标和文本有出入(但是不大),我想应该是因为图标是一天更新一次,而 API 是即时更新的吧(可以看看它们的 API 的内容),你觉得呢?
PS1:一开始我是用 HONGKIAT.COM 的方法显示 FeedBurner,Google Feed 的文本统计数字的,但发现不可行。后来在和 Leeiio 的扯淡过程中突发灵感,其结果也就是上文的内容啦。折腾成功的感觉真爽!
PS2:参考资料:《PHP 中的 SimpleXML 处理》



其實我搶沙發是有技術的,就是先在文本裡面打好字然後複製粘貼...NetPuter是個愛折騰的好孩子。用api或許文本比圖片生成的及時多了。獎勵小紅花一朵,積滿五朵將贏得我樓下的獻吻一個~
@Leeiio, 真的非常3Q你陪我扯淡!
提供的参考资料很不错 :P
@任平生, 我觉得"IBM developerWorks 中国"有很多超有价值的东西,值得订阅!
题外话:春节快乐~,作业写完了没?
恩恩,这样看起来舒服多了...
很好,学到东西了!春节快乐啊!
很有用的调用!
我是来恭祝你新入黑莓的~~呵呵
你丫比我牛X
蛮有用的
总结的不错,呵呵!!话说前几天我也搞写下的,就是太冷了!!呵呵!!
@老N, 谢谢,正折腾着呢~
@wangyh, 当然是!没啦..
新年快乐!
@HuangJ.in, You,too..
啊`这个不错 学习
新年快乐 :razz: !
新年快乐哇!Happy 牛 Year~~!
牛年好,所以还是要好好统计你做了多少寒假作业...
@Dianso, 谢谢,你是 OrzDream 在鼠年最后一条留言哦,Happy 牛 Year。
@闫小彬, 谢谢,你是 OrzDream 在牛年第一条留言哦,Happy 牛 Year。
@leehow, - -,几乎没动。。
@NetPuter, 完全没关系,想当年我也是假日结束前两天“做”完的。
新年好啊 新年好啊
祝福西风新年好
@醉倚西风, 嗯哈,You TOO。
不错..技术文章..收藏了
过年了!
祝博主牛年心想事成,吉祥如意,合家欢乐!
@Sayisee, THX,You TOO。
博主,中国新年好!
P/S:我换米了,请将“和意博客”更新下:
名称:和谐山寨
玉米:GFWed.com
谢谢!^_^
@KOM, 貌似原来都米有你的链接的说。。
我一直调用的是图片, 懒得去研究代码..
哇,回家了几天,今天才跟上大众的步伐!
[...] via 显示 FeedSky,FeedBurner,Google Feed 的文本统计数字的方法 | OrzDream. [...]
目前还不好意思让订阅人数显示出来……
不错的应用。无论是xpath的方式,还是正则表达式的方式,都是以特定的格式析取关键内容。
@rex, 谢谢。自从发现了这个,感觉做一个 feed.php?f= Feed 地址 的页面很简单。
那个feedsky的统计数图标比官方的好看