获取 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 同学提醒才发现是反的,所以更改了原本的代码,现已能获取最新一天的订阅数。

Tag(s):
  • QQ书签
  • Del.icio.us
  • 百度收藏
  • Google
  • 饭否
  • FriendFeed
Shawn Published@17:34 / 2008-12-12 / Trackback / Skip
47 Comments Contributed by Visitors
  1. rebuttonfisio / 17:45@2008-12-12 1
    fisio

    毕竟使用图片的另一个意义,是表明数字不是自己杜撰的,哈哈

  2. rebuttonShawn / 17:47@2008-12-12 2
    Shawn

    @fisio: 反正我不用 Feedsky :shock: 用图片也可以 PS 嘛。。。

  3. rebutton恬玮儿 / 17:48@2008-12-12 3
    恬玮儿

    很好。。。那个图片的太没个性了。。。这样可以通过CSS更改的更符合自己的要求。。。。

  4. rebuttonGeedr.com / 18:18@2008-12-12 4
    Geedr.com

    真要作假太容易了,不是经常有用别人的icon href自己的链接么...

  5. rebuttoniColor / 18:38@2008-12-12 5
    iColor

    不用这玩意儿...
    再说个小问题,不知道 FF 有没有这情况
    就是你那个载入页面的进度条,如果我在标签页打开后,再回来这个页面那个进度条会一直显示,没不了了..
    比如: 我看见右侧相关文章里有 "leehow 生日快乐" 于是我就中键点了一下(在标签页打开),于是本页面的进度条就一直在那进度了...什么原因?

  6. rebuttonShawn / 18:41@2008-12-12 6
    Shawn

    @Geedr.com: 呵呵,所以,这是给坦荡的人用的,不坦荡的人直接写订阅数:10k,谁也没办法。。。

  7. rebuttonZH CEXO / 18:47@2008-12-12 7
    ZH CEXO

    很好,以后有得用~

  8. rebuttonShawn / 18:56@2008-12-12 8
    Shawn

    @iColor: 谢谢,你不说我都没考虑到这种情况,因为 Firefox 的中键点击不会出现这个问题。现在好了,你可以试试。

  9. rebutton睡到自然醒blog / 18:58@2008-12-12 9
    睡到自然醒blog

    那两个代码框一样的吧,看了半天没看出区别。 :lol:

  10. rebuttonShawn / 18:59@2008-12-12 10
    Shawn

    @睡到自然醒blog: 区别是第二个代码框我加了几个字,"人已订阅"。

  11. rebuttonStephen / 19:07@2008-12-12 11
    Stephen

    我的博客订阅量还不是很大,估计这个以后才能用到。。
    我还一直以为Feedsky不可以直接获取数字呢。。

  12. rebuttonShawn / 19:08@2008-12-12 12
    Shawn

    @Stephen: 确实不可以,不过 Feedsky 有提供一个 XML 文件,所以可以稍稍 Hack 一下。

  13. rebuttoniColor / 19:15@2008-12-12 13
    iColor

    @Shawn:  OK 了,没问题了,简单说说这是怎么回事吧...
    还有,为什么我的 Favicon 不显示了???
    另外改我链接名为 iColor's Blog 或 iColor

  14. rebuttonShawn / 19:23@2008-12-12 14
    Shawn

    @iColor: 改了,我看着是显示的啊。那个没怎么回事,因为滚动条以为是自体载入,可实际上 Safari 已经在新窗口打开了,所以那边就一直以为自己载入,滚动条就一直滚。

  15. rebuttonDenis / 20:23@2008-12-12 15
    Denis

    还有这两个参数, &y=2008&m=11 ,如果 hack 下,写个程序就可以在 WordPress 后台看到自己的订阅增长。

  16. rebuttonxiaorsz / 20:25@2008-12-12 16
    xiaorsz

    额?这么几行就搞定了,当初还以为很复杂的呢!! :cry:
    feedsky没开放API,呵呵,这样人家会不会有意见啊!?!

  17. rebuttonShawn / 20:30@2008-12-12 17
    Shawn

    @Denis: 谢谢提供,确实很方便,不过我没在用 Feedsky。

  18. rebuttonShawn / 20:31@2008-12-12 18
    Shawn

    @xiaorsz: 所以让你 cache 一下,理论上 Feedsky 不会那么小气,毕竟它自己也要用,而且只调用当月数据。

  19. rebuttonwelee / 20:43@2008-12-12 19
    welee

    那不知 feedburber 能不能这样做?我是用 feedburner 的。

  20. rebuttonElton Disney / 20:44@2008-12-12 20
    Elton Disney

    不用Feed烧录商的飘过了~~
    现在暂时用自带的Feed地址,Feedsky太不好用了

  21. rebuttonfqch / 20:52@2008-12-12 21
    fqch

    现在对feed的关注少了.

  22. rebuttonShawn / 20:53@2008-12-12 22
    Shawn

    @welee: Feedburner 应该有提供 API 可以直接这么做,你在选项里找找看吧。

  23. rebuttonShawn / 20:54@2008-12-12 23
    Shawn

    @Elton Disney: 嘿嘿,我也不用。

    @fqch: 嗯,本来就是附加服务,而且实际看来除了插入广告有些价值其它的都没有太大意义。

  24. rebuttonwelee / 21:11@2008-12-12 24
    welee

    @Shawn: 好的,我去找找看。

  25. rebuttongeuro / 21:59@2008-12-12 25
    geuro

    确实可以搞的个性化一点.真厉害啊.

  26. rebuttonyinheli / 22:13@2008-12-12 26
    yinheli

    我问mg12他说这是个秘密...我把feedsky反编译.得到上面的xml地址.帖在他的评论里.哈哈.果然是那个个地址.就是不知道怎么用php来处理这个xml
    你说要cache一下.不知道具体要怎么处理.如果使用的人太多.也不知道feedsky会不会真的把这个关闭.那就玩不了了....

  27. rebutton火星基地 / 22:18@2008-12-12 27
    火星基地

    哈哈 我和icolor一样也注意到了侧栏的生日贴。

  28. rebuttonleehow / 22:23@2008-12-12 28
    leehow

    翻旧账翻的很先进。

  29. rebuttonShawn / 22:28@2008-12-12 29
    Shawn

    @yinheli: 这个地址是 Feedsky 在后台提供的 Flash 订阅里面找到的。Feedsky 不可能关闭,因为它自己也需要这个东西,所以最多改动一下XML的结构。我说的 cache 理论上你只要启用了静态化或者 wp-supercache 一类的插件便可以了。

  30. rebuttonBoBoSkY / 22:31@2008-12-12 30
    BoBoSkY

    貌似又是楼上做了小白鼠。 :smile:

  31. rebuttonyinheli / 22:35@2008-12-12 31
    yinheli

    又来了.貌似不准确?他只是获得第一项的值.后面的就不管了.不知道是要综合呢.还是平均数.

  32. rebuttonAlan / 23:27@2008-12-12 32
    Alan

    以前看着挺好,现在不怎么想用了。PS,还是记录一下

  33. rebutton大学生乱弹琴 / 23:58@2008-12-12 33
    大学生乱弹琴

    订阅才几十,暂时用不到~ :sad:

  34. rebutton蓝天博客 / 23:59@2008-12-12 34
    蓝天博客

    Shawan的博客很清爽,也很强大。传说已久,今天终于一睹芳容,不错!

  35. rebuttonShawn / 0:10@2008-12-13 35
    Shawn

    @yinheli: 已经更新代码,之前把那个 xml 看反了,以为第一条是最新的数据。。。

  36. rebuttonShawn / 0:10@2008-12-13 36
    Shawn

    @蓝天博客: 谢谢,欢迎:)

  37. rebuttonyinheli / 0:18@2008-12-13 37
    yinheli

    @Shawn: 
    哈哈 不错.

  38. rebutton爱月 / 8:25@2008-12-13 38
    爱月

    唔?用户名难道不是email嘛?

  39. rebutton爱月 / 8:28@2008-12-13 39
    爱月

    哦耶~找到了~原来是feed的burl~呵呵~

  40. rebuttondisinfeqt / 11:52@2008-12-13 40
    disinfeqt

    哦哦 这个不错哦

  41. rebutton老时 / 14:03@2008-12-13 41
    老时

    俺的订阅也不多。在显示也无所谓。

  42. rebutton长河 / 15:35@2008-12-13 42
    长河

    在ASP和HTML页面如何调用呢~

  43. rebutton浮黑 / 18:13@2008-12-13 43
    浮黑

    为了这个把全站静态化,代价不小吧……

  44. rebuttonyinheli / 18:38@2008-12-13 44
    yinheli

    @爱月: 
    不是的...是自己以前设定的.

  45. rebuttonShawn / 19:16@2008-12-13 45
    Shawn

    @老时: 老时你终于换掉头像了!

    @长河: 抱歉我不懂 ASP,不过你可以试试用 js。

    @浮黑: 也可以部分 cache 的,不过缓存其实换来的整体代价是好的,能明显降低每次页面请求时带来的数据查询。

  46. rebutton任平生 / 19:51@2008-12-13 46
    任平生

    onlinecount 这个是不是一定程度上表明了真实订阅数呢 :smile:

  47. rebuttonShawn / 19:52@2008-12-13 47
    Shawn

    @任平生: 我没搞懂那个东西是什么,它怎么 count 到的?

  48. rebutton任平生 / 20:51@2008-12-13 48
    任平生

    @Shawn: 这阅读器里真正被阅读的数目?

  49. rebuttonJoBru / 22:52@2008-12-13 49
    JoBru

    干脆自己PS一张吧~ :grin:

  50. rebutton花果山寨 / 2:30@2008-12-14 50
    花果山寨

    以前想知道,现在又不太需要了!

  51. rebuttonneekey / 13:14@2008-12-14 51
    neekey

    晕倒,我原来一直以为FeedSky没提供,骂死他了。。也不写一个文档说明一下。。难道Shawn是FeedSky的?

  52. rebuttonShawn / 15:40@2008-12-14 52
    Shawn

    @neekey:  :grin: 我不是 Feedsky 的,这个地址是 Hack 它后台的那个 Flash 柱状图得到的。

  53. rebutton沿阶草 / 20:16@2008-12-14 53
    沿阶草

    哈哈,不错,谢了。
    加到了自己的博客http://www.yanjiecao.com中~

  54. rebuttonNetPuter / 13:03@2008-12-17 54
    NetPuter

    哇噻,这个,这个啥..那地址你也能发现..- -.. :grin:

  55. rebuttonJinwen / 2:03@2008-12-18 55
    Jinwen

    我就想这个功能,谢谢你哦。那个图片我真的不喜欢,还不如输出一个数字好了。

  56. rebuttonShawn / 11:33@2008-12-18 56
    Shawn

    @Jinwen: 太客气了 :smile:

  57. rebuttonnooidea / 14:08@2008-12-19 57
    nooidea

    我怎么样让feedsky托管我的原始feed阿~~

    就是他帮我管理但是用的feed地址是我的~

    不要申请他的feedsky地址

  58. rebuttonLu Da / 18:08@2008-12-19 58
    Lu Da

    @nooidea: 在 Feedsky 后台管理,Feed 优化里有一项域名绑定

  59. rebuttonstephen / 22:24@2008-12-25 59
    stephen

    谢谢你提供这个方法,现在我已经可以成功的获取了Feedsky和FeedBurner的文本订阅数,请问如何缓存这两个数字呢?缓存后能不能设置自己每天更新??

  60. rebuttonShawn / 22:35@2008-12-25 60
    Shawn

    @stephen: 有关 Cache 可以参考官方 Codex 的详细内容。把 $expire 的时间调整为每日的描述就可以了。

  61. rebuttonstephen / 22:59@2008-12-25 61
    stephen

    @Shawn: OK,我明天好好看看那些代码先,这方面我还不是很懂呢。。谢谢了。

  62. rebutton醉倚西风 / 11:02@2008-12-28 62
    醉倚西风

    好东西 哈哈

  63. rebuttonHui / 12:24@2009-01-06 63
    Hui

    我添加到文件sidebar.php 为什么不管呢? :cry:  

  64. rebutton龙子 / 22:01@2009-10-15 64
    龙子

    现在还能用吗,怎么测试时不行呢?
    BTW,我是本地测试的。

  65. rebutton虫虫 / 12:46@2009-12-31 65
    虫虫

    视乎得到的订阅结果是错误的!~ 真正的结果不在最后一句

Leave Comments Here...

必填

必填&保密

随您

支持Ctrl+Enter快捷提交

  • 已部署"白忙活" Anti-Spam 系统,猪肉 Spammer 请注意查看源代码链接处。
  • 本站不会泄露您的邮件地址,敬请放心。
  • 支持常用 HTML 代码调用,插入 PHP 代码需注意:< = &lt;> = &gt;
  • 仅当某人针对您的评论做出回应时,您才会收到由本站发出的通知信件。
  • 如您希望以相同方式通知某位网友,请点击 Reply 按钮,或自行输入 @对方名字:
  • 鼠标移至评论列表中的 @someone: 区域即可自动显示 someone 的评论内容。
4 Trackbacks/Pingbacks

Shawn Blog

Shawn的个人博客(Blog),分享Wordpress技巧和Firefox浏览器心得,关注Web 2.0应用发展,记录对虚拟主机的使用评价。