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

作者:公子 发布时间:January 16, 2011 分类:附庸风雅

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function Douban($username, $subject, $apikey)
{<br />
if ($apikey == "")
{
$apikey='064e10081295144112ea301837bf3cc3';
}
$douban='http://api.douban.com/people/' . $username . '/collection?cat=' . $subject . '&amp;apikey=' . $apikey ;
$feed = simplexml<em>load</em>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 '<ul>';
foreach ($a as $d) echo '<li>' . $d -> title . '</li>';
echo '</ul>';
}

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

1
< ?php Douban('lizheming', 'movie' , '');//形式是昵称|收藏类型|API_KEY ?>

收藏类型有movie|book|music三种类型可以选择,APIKEY我设置了如果为空则默认一个,但是我还是希望大家可以自己去申请一个,因为豆瓣的api有引用频率的限制,如果一个apikey很多人同时用,可能会出问题。如果使用上有什么问题,大家可以留言。

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

终极同步大法

作者:公子 发布时间:April 8, 2010 分类:日常杂事

随着微博的热门,已经有很多的微博程序纷纷出现了,而我们该如何挑选这些微博程序呢?首先我们要考虑的是选择单用户还是多用户的。但是如果像我这种注重功能的人,可能第一个想到的是它的同步功能如何?今天就介绍一种方法,为你的PageCookery的同步功能做拓展。
这里主要是利用了月光博客制作的GAE同步程序制作的一个针对PageCookery的简易教程。总所周知,Twitter现如今是微博界的老大,虽然被G.F.W了,但是仍然不能阻挡它的光芒!我们可以利用Twitter这个跳板,将其他地方的消息同步到Twitter中,同时也可以利用Twitter的多方式发布消息将自己的消息发布到Twitter中,然后将Twitter的消息同步到别的地方去!而月光的这个GAE程序就能够实现将Twitter的信息分发到各大微博网站去,包括新浪微博/嘀咕/网易微博/9911/51follow等等微博门户。而PageCookery微博程序又提供了对嘀咕的双向同步,而且也提供了RSS导入这么一个极佳的功能。
有人可能会说了,为什么我不直接用Twitter的RSS导入到PageCookery来呢?这是因为直接导入RSS的话,会有很多的RSS垃圾产生,比如你@别人的消息,以及RT别人的消息也都会同步过来,这个还算是小事,重要的是Twitter的RSS格式包括了用户名,所以每次导入Twitter的消息时都会带上"username:"这样的前缀,让人看起来甚是不爽,所以我们要对RSS进行过滤!而月光博客的GAE同步程序也正是做到了这一点。在此,要感谢月光博客为我们带来了这么好的一个工具。而且,利用GAE的高效工作性,我们基本能够实时的同步我们的消息到PageCookery中(我说的是几乎)……
好了,优点讲完了就改说怎么捣鼓了,首先呢,你要有申请一个GAE,如果有,则可跳过此不,如果没有,请参照如何申请GAE
申请好GAE并成功建立一个项目之后,我们要做的就是将月光博客的GAE程序给下载下来,下载方法,使用TortoiseSVN检出这个SVN地址,然后,编辑 app.yaml,修改为自己的appspot应用名,接着,修改twitter.py文件的最后一行,将自己的Twitter用户名填入,修改从 ret = send_sina_msgs("username","password",text) 语句开始的 username 和 password ,将相应微博客的用户名和密码分别填入,不需要同步的服务请使用#号注释掉,cron.yaml文件里是计划任务设置。至于如何使用TortoiseSVN下载,请参考:教你如何用SVN下载源码
千万不要忘记,记得修改最后一样你要同步的Twitter帐号!编辑保存后,我们就可以把程序上传到GAE主机上去了,至于如何上传么,请参考:如何上传文件到GAE image
好了,前半部分工作就做好了,下面我们就要做另外一部分工作了,现在假设你将Twitter上的信息同步到了嘀咕,由于PageCookery的嘀咕同步有个限制,就是嘀咕没有认证的API(也就是嘀咕页面消息显示是来自API)的消息PageCookery是不会同步过来的,所以我们只能通过RSS导入的法子,获取嘀咕微博的RSS地址,然后导入过来就可以了。(不能使用RSS导入功能的童鞋表示灰常抱歉了。)有人说了,如果我填写的是新浪微博的帐号怎么办?恩,我们知道新浪微博还没有开放RSS功能,不过这个也不要紧,http://imnerd.org/sinarss.php+"你的ID号"就是你的RSS地址了,这里要再次感谢月光博客提供的程序,有需要的也可以去他博客下载哦~~
其实个人认为吧,我们应该能从月光的GAE程序中直接获取到RSS地址的,那么就可以直接导入进PageCookery了,而不用使用其他微博做跳板了,只是python实在不是很了解,就没心思看他的代码了,希望有心人能够发现啊,呵呵~~最后就讲讲这个同步的时间问题,从Twitter同步到嘀咕等微博网站的时间是可以设置的,最短可以是1分钟(修改地方在cron.yaml文件最后一行的every * minutes,将*换成同步间隔时间即可),基本上可以做到实时同步,然后是嘀咕等RSS同步到PageCookery,经过我的初步观察,最迟15min~20min应该会同步过来的,如果没有同步过来的话我就告诉你一句:反正迟早的事,何必这么焦急呢,呵呵!
最后要提醒大家一句,请注意不要开启对某个微博的双向同步,一面发生消息同步死循环的状况……到时候估计删消息会删的你手软的!哈哈!

开放你的PageCookery注册功能

作者:公子 发布时间:April 5, 2010 分类:日常杂事

大家都知道,现在的PageCookery的注册功能还很闭塞,只能够管理员通过后台添加用户,而不能够让用户自主添加,今天我给出更改方法,能够让其他人自己添加用户! 先我放上一个预览地址吧,我就拿我的似水流年开刀了,呵呵,预览地址:http://lizheming.cn/?act=login 首先我们要在template文件夹下新建一个模板,重命名为"register.html"/名字可随意/然后将如下内容添加到里面去:
1
2
3
4
5
6
7
8
9
10
11
12
{template header}</p>
<p><div id="main" class="prefix_edit"></p>
<h2 class="nav_title">新增用户</h2>
<form action="?act=register&amp;do=add" method="post">
用户名: <input class="input_message w150" name="username" type="text" /> 密码: <input class="input_message w150" name="password" type="password" /> <input class="image_button_submit" type="submit" value="新增用户" />
</form>
<p>{template footer}</div>
代码我就不讲解了,其实就是拷贝了下users.html里面的部分代码而已,然后我们要打开根目录的index.php文件,在大概倒数第七行的位置,也就是在最后面一个if语句前的一个结束符号"}"之前/这话讲的我自己都晕了/加上如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
case 'register':
if ($<em>GET['do'] == 'add' AND $</em>POST['username'] AND $<em>POST['password'])
{
$check = $SQL->QueryRowsArray("SELECT id FROM user WHERE username = '" . Format::Safe($</em>POST['username'], true) . "'");
if ($check['id'])
{
Helper::PrintJavaScript('alert(\'已经存在名为 ' . Format::Safe($<em>POST['username'], true) . ' 的用户.\'); window.location = \'' . $</em>SERVER['HTTP<em>REFERER'] . '\'');
}
$SQL->Insert('user', array('username', 'password'), array(Format::Safe($</em>POST['username'], true), Format::Safe(md5($<em>POST['password']), true)));
Helper::PrintJavaScript('alert(\'很高兴的通知您,你在 似水流年 上成功注册了' . Format::Safe($</em>POST['username'], true) . ' 此用户.\'); window.location = \'' . $<em>SERVER['HTTP</em>REFERER'] . '\'');
exit;
}
$title = SITE_NAME . ' - 用户';
$template=&amp; new Template('register',NULL,'register');
break;
保存之后,你的PageCookery地址+"?act=register"就是公共注册地址了,那么你需要的就是在登录页面添加个链接到这个页面的链接就行了,当然,你也可以直接在最上方的管理旁边添加,这里我就都给出相应的代码吧,先是在管理旁边添加注册链接。先打开template/header.html文件,然后搜索"管理"二字,将如下代码复制替换掉那一行的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</p>
<p><li><a href="{$base_url}"
<!--{if ($current == 'blog')}--> class="selected"
<!--{/if}-->>网 志</a>
</li><li><a href="?act=register">注 册</a></li>
<!--{if ($sync['api']['username'])}-->
<li><a href="http://<!--{if ($sync['api']['type'] == 'jiwai')}-->jiwai.de<!--{else}-->digu.com<!--{/if}-->/
<echo>urlencode($sync['api']['username'])</echo>/" target="_blank">
<!--{if ($sync['api']['type'] == 'jiwai')}-->叽 歪<!--{else}-->嘀 咕<!--{/if}--></a></li>
<!--{/if}--><!--{if ($Own['lastfm'])}-->
<li><a href="?act=music"<!--{if ($current == 'music')}--> class="selected"<!--{/if}-->>音乐墙</a></li>
<!--{/if}--><!--{if ($flickr['feed'])}-->
<li><a href="?act=photos"<!--{if ($current == 'photos')}--> class="selected"<!--{/if}-->>照片墙</a></li>
<!--{/if}-->
代码依旧不解释了,大家仔细看看就知道增加了什么了。然后是在登录页面加入注册链接,打开template/login.html页面,搜索"登录"二字,将如下代码复制替换掉该行即可:
1
<div style="text-align:right"><input type="submit" value="登 录" class="login_submit" /><a href="?act=register" class="login_submit">注 册</a></div>
恩,这样大家就可以完成公开注册的方法了,其实就是将注册的那些文件搬到了程序判定外面来了而已。也就是说,不能填写照片墙,不能填写音乐墙等资料,包括RSS导入功能也不能使用,因为这些都是管理员才能有的。

PS:最后再说一声,谁知道比较好用的代码高亮插件?现在用的这个太挫了……

网站汇总

作者:公子 发布时间:October 9, 2009 分类:日常杂事

这两天也没啥好说的,索性今天就发篇日志把我这两天淘到得比较好的一些网站给大家说说,怎么也要凑篇日志出来,呵呵。

一、在线广播:http://moradio.cn

恩,这个网站实在是没话说的了,我目前见过的最好看的,最实用的电台网站。能够收听好多地方电台和网络电台,国内的和国外的都可以。而且还有点播台可以播放哦,不过都是些书评和有声电子书。另外,界面做的也非常的清爽,除了播放器和节目栏就只剩下个大背景了。另外,要说下的就是,键盘的左右键可以更换网站的壁纸哦![神奇吧……]

二、在线操作系统:http://windows4all.com

恩,这个网站的在线操作系统是仿Windows的,想要使用它,必须先安装Sliverlight才行。这个在线的亮点在于居然内置了VirtualPC!不过这并不是正真意义上的VPC,因为它只是内置了几个在线操作系统的链接而已[似乎]。另外就是,它似乎还可以安装软件,不过貌似要特殊的格式。比较遗憾的是,它不支持中文,是完全不支持!

三、IP查询:http:myip.cn

大家别看我这里只是写IP查询,实际上它能做的有很多呢,比如基本的IP地址查询,网站综合信息查询,域名注册信息,搜索引擎收录,Alexa排名,Google PR,Sogou PR,反向链接,百度关键字指数等等……它都能够做到。最值得我说的就是,它能够同IP的网站哦。这个功能无疑来说对我是非常有吸引力的。我查了下我的,有20个网站在我的主机上[其中有些是一样的,www有没有的区别而已]

四、试手机网:http://www.shishouji.com/

恩,这个网站的强大之处在于汇总了流行手机的Flash操作案例,可以让我们网上模拟某款手机的使用。这样能够让我们买手机的时候心里有个底。不过我试了一下,功能太局限了,我不是太喜欢。不过人家很强大,就推荐上来啦。

五、免费正版软件:http://www.giveawayoftheday.com/

恩,这个其实是用来凑数的,要写就写五个吧,哈哈……也是个不错的地方啊,免费提供正版软件[只是不知道它的这个正版使用期是多长,听说是一天……],每天会有不同的正版软件放上来供大家下载。下面会有时间显示连接失效的时间……大家有兴趣的就去看看吧,英文的,我也不太懂,呵呵。

六、上传图片:http://photoshop.com

恩,差点就把这个我那个站给漏了。Adobe的啦,2GB的图片空间,有AIR软件可以使用。其实大家肯定都知道的啦[像安那样不知道的绝对少数……呵呵],我这里要推荐的原因就是,它能够支持外链哦!我近期三篇日志的图片都是放在那里的,怎么样,还不错吧。大公司做的,我绝对相信人家的稳定性啦。呵呵。我现在就是AIR软件上传,再从网站获取链接地址,再贴上来。呵呵,耶!不过同样可惜的是,也不支持中文,T_T……倒是这个影响不大就是。

其实还去了好多的网站的,比如delcious, chi.mp, friendfeed.com......但是有好多大家都知道了,或者是都被GFW了,我就不写上去啦……

PS:顺便问下大家,大家在院落留言的时候有没有什么不正常呢?我这里留言总会有错误,但是刷新之后留言是上去了的。想问下大家有没有这样的情况,有的话马上找原因。

「原因已经找到,原来是那个备份数据库的插件搞的,呵呵,已经速速删了。大家又可以正常的留言喽!」

漆黑的追踪者

作者:公子 发布时间:October 4, 2009 分类:日常杂事

昨天和同学玩,得知柯南又有新的剧场版了,《名侦探柯南剧场版十三弹——漆黑的追踪者》。今天赶紧下下来看了下,发觉很不错哦,还是很有看头的。

一开头就让我的神经绷紧了一下,柯南是工藤的真实身份被Gin知道了!哇塞,当时都要吓死了。结果原来是柯南君做梦,呵,看样子作者真是抓住了“吓死人不偿命”这个硬道理啊。下面介绍下案情:日本出现大范围的凶杀案件,死者身旁都会出现一张七筒的麻将,并且对应的某个圈涂了红色。另外,每位被害者都会丢失一样东西。这次的剧场版的最大看点就是将组织穿插于其中,为什么会牵涉到组织呢,原来组织中的某位间谍是被害者之一,并且其丢失的东西中带有记录组织间谍名单的存储卡。通过重重的搜索后(其中毛利同学依然是表现的那么白痴……),终于发现,两年前由于织女酒店的一场大火而意外死亡的奈奈小姐的哥哥才是真正的凶手。为了将罪名嫁祸给和他妹妹私奔的水谷,他特地将犯罪现场设定在北斗七星和北极星对应的地点……

上面案情是一条线啦,其中碟中谍的感觉很好。那么另外一条更让我们兴奋的线当然是组织了!组织为了找到存储卡,再警视厅插入了内鬼,代号Irish。Irish颇为厉害,经过指纹查找,发现了柯南君的真实身份。但是因为种种原因,Irish并没有把这件事向Gin汇报。在剧情的最后,Gin判断其不能逃出而无情的将其射杀。柯南君不小心被Gin看到,Gin秉着不留活口的信念用直升机再东京铁塔上和柯南君玩起了枪战。最后的关头,柯南君利用阿笠博士的伸缩式背带将掉落的大灯作为子弹射中Gin的直升机才逃过一劫……

下面分析下此次出现的几位认为:一、首推小兰同学,平时她出场最多就是一个高抬腿,要么一个过肩摔,犯人就搞定了。但显然Irish也不是随便的主儿,他的功夫也相当了得啊。小兰在冷静的劈开Irish的一发子弹后于其站看了激烈的拳脚战,其实按趋势小兰会赢的。但是小兰突然被Irish半撕的人皮吓着了,就被Irish打晕了。总的来说,这次小兰表现得相当强悍,我很欣赏;二、另外一个就是佐藤了,就是高木老弟青梅竹马的那位。期间只有她(当然除了柯南了)一直在关注着警视厅内鬼一事的,观察力相当强大。而且灰常冷静,再爆胎的情况下还能镇定的指挥高木慢慢开向旁边;三、还有就是这个Irish,也甚是了得啊,不管是从搜查能力(竟然查到了柯南君的真实身份),还是他的真正水平(那跆拳道,跟小兰能比得上,太强大了),另外就是几次都躲过柯南君的暗器的实力(运气?),真实让我佩服;四、最后一个我要说下目暮警官,哇塞,居然就冲上去替那个女警官挡了一刀,勇气可嘉啊,真是个好警官。

PS:我还有个小小的疑问,难道东京铁塔好高么?塔上面直升机疯狂扫射,难道下面的警察都没点感觉?!囧……

下面附上一首歌和漆黑的追踪者的两张壁纸:

歌是第十三弹的主题其PUZZLE,依然是仓木麻衣同学主唱。

温馨提示:右键单击另存可保存图片。

阅读剩余部分...