引用豆瓣最近读过的书和看过的电影

前几天在捣鼓我的PageCookery主题的时候想引用豆瓣上我最近看过的电影和书,当时只是手工自己写上去的而已。我度过的书到还是好说,一年也难得有一本,但是电影就多了,手写也不是办法。于是开始研究起豆瓣的API了。发现豆瓣输出的是Atom和Json的结果,恩,我用的是Atom的,想要Json版的请看传送门

效果预览请见传送门,详细代码如下:

function Douban($username, $subject, $apikey)
{   
if ($apikey == "")
{
  $apikey='064e10081295144112ea301837bf3cc3';
}
$douban='http://api.douban.com/people/' . $username . '/collection?cat=' . $subject . '&apikey=' . $apikey ;
$feed =  simplexml_load_file($douban);
$children =  $feed->children('http://www.w3.org/2005/Atom');
$a = $children-> entry->children('http://www.w3.org/2005/Atom')->xpath('//db:subject');
echo '
    '; foreach ($a as $d) echo '
  • ' . $d -> title . '
  • '; echo '
'; }

我把它定义成了一个函数Douban,WP就放到主题的function.php下,PageCookery就放到/lib/function_microblog.php里,其它的自己看着办咯。引用的时候只要如下形式即可

< ?php Douban('lizheming', 'movie' , '');//形式是昵称|收藏类型|API_KEY ?>
收藏类型有movie|book|music三种类型可以选择,API_KEY我设置了如果为空则默认一个,但是我还是希望大家可以自己去申请一个,因为豆瓣的api有引用频率的限制,如果一个api_key很多人同时用,可能会出问题。如果使用上有什么问题,大家可以留言。

参考资料:PHP中的SimpleXML处理//对SimpleXML的描述很详细,推荐!

引用豆瓣最近读过的书和看过的电影》上有一条评论

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注