玩WordPress » 技巧方法 » 2008 » 10 » 25 » 用snoopy快捷地提取饭否最新消息

用snoopy快捷地提取饭否最新消息

WordPress最近更新到2.6.3版本,修正的正是Snoopy刚发现的漏洞问题。

那么Snoopy是干什么的呢?官方的介绍是这样的:

Snoopy is a PHP class that simulates a web browser. It automates the task of retrieving web page content and posting forms, for example.

中文意思就是:Snoopy是一个模拟网页浏览器的PHP库。例如,它能用于取得网页的内容和提交表格。

饭否提供了图片、Flash和javascript的方式用于在blog或其他地方显示饭否最新的消息,不过这些方式冰古都不是太喜欢,因为它们都不是搜索友好的方式,如果用文本的方式显示出来就更加搜索友好和快捷了。
Snoopy就能利用饭否提供的API提取最新消息,并打印出来。

这里以获得冰古的饭否最新消息为例,代码如下:

<?php
require_once(ABSPATH . 'wp-includes/class-snoopy.php');
$snoopy = new Snoopy;
$snoopy->fetch("http://api.fanfou.com/statuses/user_timeline/bingu.json?count=1");
$fanfoudata = json_decode($snoopy->results,true);
echo "<p style='font-style: italic;'>\"".$fanfoudata[0]["text"]."\"</p>";
?>

代码原理:
第一行,载入snoopy文件;
第二行,创建Snoopy对象,并赋值给$snoopy;
第三行,获取http://api.fanfou.com/statuses/user_timeline/bingu.json?count=1的内容。该链接的内容就是你在饭否的最新一条消息的相关内容。这里你只需用你的饭否名(http://fanfou.com/bingu,加重部分就是饭否名)替换bingu就能用于提取你的最新消息了;
第四行,对获得的内容进行编译;
第五行,打印最新消息的内容。可选参数有:
$fanfoudata[0][‘created_at’],得到内容类似于Fri Oct 24 11:49:31 +0000 2008
$fanfoudata[0][‘id’],该消息在饭否上的id,得到内容类似于YEDrXFTVtKI。应用是这样http://fanfou.com/statuses/YEDrXFTVtKI
$fanfoudata[0][‘text’],消息的内容,得到的内容类似于玩WordPress: WordPress 2.6.3 – http://wanwp.com/news/wordpress-263/。注意这里的链接不会以可点击的链接出现,它是文本格式;

2 Responses to “用snoopy快捷地提取饭否最新消息”

  1. 许三品 says:

    用同样的方法我应用到了嘀咕上!

  2. aso says:

    snoopy用起来比较方便,这几天正在使用