获取 Feedsky 的文本订阅数字
Xiaorsz 问过我这个问题,当时手边在忙事情,就没有太放在心上。今天又有某位同学问我,然后我不太忙,就弄了一下给他。应该还有人需要,所以发出来。Feedsky 的订阅数字是图片形式,个性化不足,下面这几句代码能帮助你获取纯文本的订阅数字,接下来就看你怎么用了。
<?php
$xml = simplexml_load_file('http://www.feedsky.com/rpc/feed_statistic_xml.php?u=leehow');
$node = $xml->xpath('/month/day[last()]');
foreach($node as $n){echo $n['subcount'];}
?>
我建议使用的同学 cache 一下这个部分,免得 Feedsky 的服务器受不了。
怎么用?
首先修改红色部分为你的 Feedsky 用户名,之后把代码放到需要的位置。例如:
<?php
$xml = simplexml_load_file('http://www.feedsky.com/rpc/feed_statistic_xml.php?u=leehow');
$node = $xml->xpath('/month/day[last()]');
foreach($node as $n){echo $n['subcount'];}
?>人已订阅
得到:
43人已订阅
UPDATE: 之前把 Feedsky 的那个 XML 看成倒序了,以为最新的排在最前面,后来 Yinheli 同学提醒才发现是反的,所以更改了原本的代码,现已能获取最新一天的订阅数。

毕竟使用图片的另一个意义,是表明数字不是自己杜撰的,哈哈
@fisio: 反正我不用 Feedsky
用图片也可以 PS 嘛。。。
很好。。。那个图片的太没个性了。。。这样可以通过CSS更改的更符合自己的要求。。。。
真要作假太容易了,不是经常有用别人的icon href自己的链接么...
不用这玩意儿...
再说个小问题,不知道 FF 有没有这情况
就是你那个载入页面的进度条,如果我在标签页打开后,再回来这个页面那个进度条会一直显示,没不了了..
比如: 我看见右侧相关文章里有 "leehow 生日快乐" 于是我就中键点了一下(在标签页打开),于是本页面的进度条就一直在那进度了...什么原因?
@Geedr.com: 呵呵,所以,这是给坦荡的人用的,不坦荡的人直接写订阅数:10k,谁也没办法。。。
很好,以后有得用~
@iColor: 谢谢,你不说我都没考虑到这种情况,因为 Firefox 的中键点击不会出现这个问题。现在好了,你可以试试。
那两个代码框一样的吧,看了半天没看出区别。
@睡到自然醒blog: 区别是第二个代码框我加了几个字,"人已订阅"。
我的博客订阅量还不是很大,估计这个以后才能用到。。
我还一直以为Feedsky不可以直接获取数字呢。。
@Stephen: 确实不可以,不过 Feedsky 有提供一个 XML 文件,所以可以稍稍 Hack 一下。
@Shawn: OK 了,没问题了,简单说说这是怎么回事吧...
还有,为什么我的 Favicon 不显示了???
另外改我链接名为 iColor's Blog 或 iColor
@iColor: 改了,我看着是显示的啊。那个没怎么回事,因为滚动条以为是自体载入,可实际上 Safari 已经在新窗口打开了,所以那边就一直以为自己载入,滚动条就一直滚。
还有这两个参数, &y=2008&m=11 ,如果 hack 下,写个程序就可以在 WordPress 后台看到自己的订阅增长。
额?这么几行就搞定了,当初还以为很复杂的呢!!
feedsky没开放API,呵呵,这样人家会不会有意见啊!?!
@Denis: 谢谢提供,确实很方便,不过我没在用 Feedsky。
@xiaorsz: 所以让你 cache 一下,理论上 Feedsky 不会那么小气,毕竟它自己也要用,而且只调用当月数据。
那不知 feedburber 能不能这样做?我是用 feedburner 的。
不用Feed烧录商的飘过了~~
现在暂时用自带的Feed地址,Feedsky太不好用了
现在对feed的关注少了.
@welee: Feedburner 应该有提供 API 可以直接这么做,你在选项里找找看吧。
@Elton Disney: 嘿嘿,我也不用。
@fqch: 嗯,本来就是附加服务,而且实际看来除了插入广告有些价值其它的都没有太大意义。
@Shawn: 好的,我去找找看。
确实可以搞的个性化一点.真厉害啊.
我问mg12他说这是个秘密...我把feedsky反编译.得到上面的xml地址.帖在他的评论里.哈哈.果然是那个个地址.就是不知道怎么用php来处理这个xml
你说要cache一下.不知道具体要怎么处理.如果使用的人太多.也不知道feedsky会不会真的把这个关闭.那就玩不了了....
哈哈 我和icolor一样也注意到了侧栏的生日贴。
翻旧账翻的很先进。
@yinheli: 这个地址是 Feedsky 在后台提供的 Flash 订阅里面找到的。Feedsky 不可能关闭,因为它自己也需要这个东西,所以最多改动一下XML的结构。我说的 cache 理论上你只要启用了静态化或者 wp-supercache 一类的插件便可以了。
貌似又是楼上做了小白鼠。
又来了.貌似不准确?他只是获得第一项的值.后面的就不管了.不知道是要综合呢.还是平均数.
以前看着挺好,现在不怎么想用了。PS,还是记录一下
订阅才几十,暂时用不到~
Shawan的博客很清爽,也很强大。传说已久,今天终于一睹芳容,不错!
@yinheli: 已经更新代码,之前把那个 xml 看反了,以为第一条是最新的数据。。。
@蓝天博客: 谢谢,欢迎:)
@Shawn:
哈哈 不错.
唔?用户名难道不是email嘛?
哦耶~找到了~原来是feed的burl~呵呵~
哦哦 这个不错哦
俺的订阅也不多。在显示也无所谓。
在ASP和HTML页面如何调用呢~
为了这个把全站静态化,代价不小吧……
@爱月:
不是的...是自己以前设定的.
@老时: 老时你终于换掉头像了!
@长河: 抱歉我不懂 ASP,不过你可以试试用 js。
@浮黑: 也可以部分 cache 的,不过缓存其实换来的整体代价是好的,能明显降低每次页面请求时带来的数据查询。
onlinecount 这个是不是一定程度上表明了真实订阅数呢
@任平生: 我没搞懂那个东西是什么,它怎么 count 到的?
@Shawn: 这阅读器里真正被阅读的数目?
干脆自己PS一张吧~
以前想知道,现在又不太需要了!
晕倒,我原来一直以为FeedSky没提供,骂死他了。。也不写一个文档说明一下。。难道Shawn是FeedSky的?
@neekey:
我不是 Feedsky 的,这个地址是 Hack 它后台的那个 Flash 柱状图得到的。
哈哈,不错,谢了。
加到了自己的博客http://www.yanjiecao.com中~
哇噻,这个,这个啥..那地址你也能发现..- -..
我就想这个功能,谢谢你哦。那个图片我真的不喜欢,还不如输出一个数字好了。
@Jinwen: 太客气了
我怎么样让feedsky托管我的原始feed阿~~
就是他帮我管理但是用的feed地址是我的~
不要申请他的feedsky地址
@nooidea: 在 Feedsky 后台管理,Feed 优化里有一项域名绑定
谢谢你提供这个方法,现在我已经可以成功的获取了Feedsky和FeedBurner的文本订阅数,请问如何缓存这两个数字呢?缓存后能不能设置自己每天更新??
@stephen: 有关 Cache 可以参考官方 Codex 的详细内容。把 $expire 的时间调整为每日的描述就可以了。
@Shawn: OK,我明天好好看看那些代码先,这方面我还不是很懂呢。。谢谢了。
好东西 哈哈
我添加到文件sidebar.php 为什么不管呢?
现在还能用吗,怎么测试时不行呢?
BTW,我是本地测试的。
视乎得到的订阅结果是错误的!~ 真正的结果不在最后一句