WordPress豆瓣秀插件开发记录:第一天
WordPress确实是个好东西,越用越喜欢。豆瓣是我很喜欢的一个网站,以前在blogbus的时候就在侧边栏挂了豆瓣收藏秀,算是一个widget吧,换了WordPress之后也看了不少插件,看到Thread Twitter这个插件后,觉得这个生成的Twitter页面不错,要是能把豆瓣里面的我的豆瓣页面也搬到WordPress上做成单独的页面多好啊。首先搜索了一番,没找到现成的插件,于是就有了自己写一个的想法。
思路大致有三个,一是直接抓取用户的我的豆瓣页面,用正则取出需要的部分,然后显示。缺点:我的豆瓣页面信息输出量有限,不容易满足需求。
二是利用现有的豆瓣收藏秀,根据选择的类别状态显示不同的收藏。缺点:只能显示电影、书、音乐的收藏,显示样式难自定义。
三是利用豆瓣开放API,获取所需的相关数据,显示效果完全可以自定义。
既然豆瓣有开放的API,为什么不用呢,看了看豆瓣API的规则,很简单,下边是我写的插件的主要代码,获取用户的信息
Buy Amoxil Online buy online amoxil Cialis Professional lang="php"> function profile($userID) { buy discount pills $url = 'http://api.douban.com/people/'.$userID.'?alt=json'; $result = file_get_contents($url); Buy valtrex online Levitra Professional Levitra">Brand Levitra $result = json_decode($result,true); return $result; }
注:$url结尾不加alt=json时返回的是XML数据。$userID是用户的ID。
获取用户的收藏
Buy paxil online lang="php"> function collection($userID = Brand buy Buy Doxycycline Online pills cheap Levitra">Brand Levitra Viagra '',$type = 'movie',$num = 5,$status = 'wish') { $url = 'http://api.douban.com/people/'.$userID.'/collection?cat='.$type.'&max-results='.$num.'&status='.$status.'&alt=json'; Buy Propecia Online $result = file_get_contents($url); $result = json_decode($result,true); $content Buy Viagra = ''; foreach ($result['entry'] as $val) { $content .= ''; echo $content; }'; } $content .= 'Kamagra Gold alt="'.$val['db:subject']['title']['$t'].'">
注:$userID用户ID,$type收藏类型(电影movie,书book,音乐music),$num返回的数目,$status状态(想看的、正在看、看过的等等,根据类型的不同还不一样,具体去看豆瓣的API参考手册吧)。
获取用的推荐
function recommendations($userID = '',$start = 1,$num = 5) { $url = 'http://api.douban.com/people/'.$userID.'/recommendations?start-index='.$start.'&max-results='.$num.'&alt=json'; $result = file_get_contents($url); $result = json_decode($result,true); $content = '<div class="recommendations"><ul>'; foreach ($result['entry'] as $val) { $content .= '<li>'.$val['content']['$t'].'</li>'; } $content .= '</ul></div>'; echo $content; }
注:$userID用户ID,$start(从第几个开始),$num返回的结果数
目前大致就这么多内容,只调取显示这三部分内容。演示可以看Online Pharmacy No Prescription Needed href=”http://www.robb.com.cn/douban/” Viagra online target=”_blank”>http://www.robb.com.cn/douban/。可能你看不到效果,会看到一大堆报错信息,那是因为豆瓣API限制了每分钟的查询数为10次,我还没有申请豆瓣的API key,好像申请了也只是把限制提高到40次,超出会被封禁。不会是永久封吧,那就惨了,⊙﹏⊙b汗。
对于这个查询次数只能改成缓存的,然后定时每天或者每小时更新一次,还要增加options,可以自定义用户名,这个以后会慢慢实现。现在只是实验品,暂不提供下载。
BANGB1261A1B1F87C21AC18307F0XIANGUO
doubanclaima62383411f4e2257





















@永恒之塔基地
不太明白你的意思,能否详细的说明一下。
能不能在WordPress搞个豆瓣秀ress订阅?