博客转移记(1)——关于metaWeblog接口

本来想直接用网上的博客转移服务,无奈找了好几个,比如http://blogmover.redv.com,但是这家的Blogger写入插件好像坏了…… 又如maikr,这个要注册,而且还是windows程序…… 最后只好自己写一个,就当练练Python。 首先是读取原mblogger.cn上的。这个支持metaWeblog接口,试了一下,非常好用。基于Python这种脚本语言的灵活性,对象的方法能够动态生成(估计差不多就像perl里面有个函数能处理未定义的方法调用一样……),metaWeblog的接口直接就成了Python里面对象的方法。 首先,引用xmlrpclib,这个东西现在Python自带了。 接下来 server_uri = “http://computer.mblogger.cn/henryhu/services/metablogapi.aspx” sp = xmlrpclib.ServerProxy(server_uri) 这样就搞出来一个能够帮你进行xmlrpc调用的对象了。它有.system.listMethods()方法,还有.system.methodHelp(method)方法,不但能知道有哪些方法,还有使用说明…… 这个实在是很好用…… 随后 blogs = sp.blogger.getUsersBlogs(progname, username, password) 得到一个list,里面每个对象是个dict,就是一个blog。 这个dict里面的blogid,之后就用来代表这个blog了。blogName对应的博客标题。 for post in sp.metaWeblog.getRecentPosts(blogid, username, password, POST_LIMIT): 这个是metaWeblog的方法,获取最近的POST_LIMIT个帖子。自然你希望获取全部的话,取个什么99999之类的就行了…… 这个post就是个dict,里面有title(标题),description(内容),link(帖子链接),dateCreated(写作日期),categories(分类)。 前三个都是字符串。第三个就复杂点。 返回的这个格式,应该是XMLRPC的标准格式,但是Blogger不认,Blogger认datetime对象的isoformat()返回的格式。 datetime.datetime.strptime(post[‘dateCreated’].value,”%Y%m%dT%H:%M:%S”)+datetime.timedelta(hours=-8) 这样能够把它转换成datetime对象。之所以要后面减掉8小时,因为这里返回的是本地时间(UTC+8),而Blogger需要的是UTC时间,所以要-8。 categories是个list,每项是个字符串,就是分类。 后来搞了一天不成,第二天想着把Comments也移过来。 这个不是metaWeblog力所能及的了,只好直接抓网页了。 本来想把comment的内容提取出来用Blogger API的comment功能发上去。无奈这个comment功能目前只能用自己的帐号发comment,这个看上去就很不好看。后来想想,干脆直接把网页的评论部分处理一下,附在内容后面,还能保存原有风格,以及发送时间、发送人信息等。 httpold = urllib2.urlopen(post[‘link’]).read() 这样先把网页抓下来。 草稿也是返回的,而草稿会抓来一个错误网页。另一方面,在抓下来的网页中发现错误,我就认为这个是草稿——虽然这个像dirty hack,但是也能用用~ commentpart = comm_exp.search(httpold).groups()[0] newcommentpart = comm_re2.subn(“”,commentpart) 其中 comm_exp = …

Continue reading ‘博客转移记(1)——关于metaWeblog接口’ »

高中同学聚会

前天鱼头说,老头组织同学聚会。看了手机才发现老头发了短信,顺便还告诉了韩XM。昨天早上,老头通知十点到附中门口集合,我五十七分左右到的,已经有四五个人了吧。等了一会儿,来了十一个人。大家决定不再等了,先找个地方坐坐。于是大家往一条街走过去。老头先去探路,回来之后,大家往一条街深处进发。经过集体决定,一群人走进了图门烧烤。点了一些饮料之后,大家开始谈天说地。范围无非学习、生活之类。老头提议说各人说一下各自在研究什么,将来的发展方向。随着钟诚的"说来话长……",这个话题就此结束。我这桌有LinS,ZhuHY,HanXM,FengCD,后来又把ZhangLW,WuH叫了过来,这样就有7个人,而老头那桌还有鱼头、DongCJ、XuMM、LiJS、ZhongC。我们这桌大部分人基本上没怎么吃过烧烤,只有FCD好像专业一点,于是一开始点得太少,并且对于生熟程度掌握得也不怎么行……后来又补点了一批,大部分烤的东西都有过熟的嫌疑……饭后,大家到复旦南区打篮球。一开始12个人打全场,我在拍照。谁知道碱性电池如此之弱,充电电池拍完后,每组碱性电池大概也就撑了十几张……于是,接下来分组打球,我也上场了……13个人,分成4/4/5,我和ZhongC算作一个分在一组。在我们组其他成员努力之下,我们组也胜过好几次,不过体能消耗很快,迅速不支……我有一年没打过篮球了吧……接下来,走了3个人,剩下的人到LiJS找的地方打牌。复旦29号楼,门口挂着学生会的牌子。本来想在大厅里面打,看门老大爷说,我干脆开个房间给你们打算了。就情况看起来,貌似管得还是很松的,或许冒充一下也能混过去……我和HanXM要去买电脑,于是早早离开了。剩下8个人2桌80分。我们乘车到八佰伴旁的太平洋,花1个小时买了一台台式机的机箱,在麦当劳解决了晚饭,分头回家。同学见面真令人愉悦~ 大家好像都没有什么变化,或许变化都是内在的吧……相册可见 http://picasaweb.google.com/Henry.Hu.SH/2009#鱼头的校内日志: http://blog.xiaonei.com/GetEntry.do?id=358491034&owner=231886837 题外话整理照片的时候,考虑是传flickr还是Picasa。考虑到flickr容易被封,Picasa从前就传了一些,所以还是picasa。直接用网页版传,3.4M上去还是3.4M,总共1G空间,还没我存储卡大,这不就很快满了么……所以去找Picasa软件,看见linux版,3xM,正想下,发现下面说:包含wine,picasa,gecko…… 原来还是wine这条路么……于是直接下windows版安装程序,只有9M…… 用wine安装运行,非常顺利啊~传照片也很好,传上去的是1600×1200,~300K每张,也挺清楚的,还有EXIF数据。看picasa的信息的时候,还说是用于linux的picasa…… 它检测到wine了么……

Sogou 的浏览器(2)

刚才又搜了一下,然后搜修改HTTP头的时候,有人提到privoxy。对啊,privoxy不是可以乱改HTTP头的么。所以,这样配置privoxy就可以了:首先,建立user.filter,内容: CLIENT-HEADER-FILTER: change-host-to-intel Change the Host to Intel!s/Host:.*/Host: www\.intel\.com/ 随后,建立sogou.action,内容: {+add-header{X-Sogou-Auth:4D929DA9BB4DF2966799B7761245A98B/55/bad36d282a55d332}}.*{+add-header{X-Sogou-Domain: 24181F5B2C160409035C061D3E}}.*{+add-header{X-Sogou-Timestamp: 494f30c4}}.*{+add-header{X-Sogou-Tag: 5bccdce35ecd20cab326fb0b746cce7b}}.*{+client-header-filter{change-host-to-intel}}.* 最后,在privoxy配置文件里面加上: actionsfile sogou.actionfilterfile user.filterforward / 118.228.148.27:80 之后,把 firefox 的代理设为 privoxy ,over!经验证,这样可以上IBM,Adobe等,应该是没问题了。这样就的确可以在 firefox 里面上了~接下来要考虑修改user-agent了~ PS: 修改user-agent: 在action文件里面加上: +hide-user-agent {Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)} 就可以了……

SRT

学期初,报名参加了一个SRT(学生研究训练),关于智能手机平台上的程序开发。由WuXiaojun和XuMingxing两位老师指导……SRT项目第一次讨论会上,进行了分组。有Nokia手机的一伙人加入了Symbian组,有Windows CE手机的一群人加入了Windows CE组。我和另一个学长,以及某没到场的同学,分到了iPhone/Android组。从这个分组来说,我们基本上是分到了一个没人要的组。毕竟Symbian和Windows CE发布已经很久了,这两个平台上有众多的开发人员,也有许多相关的参考书籍和文献,设计起来比较容易,而iPhone和Android毕竟是新生事物,相关资料还很少。 Android情况还算比较好,毕竟Google当初宣传Android的一大优势就是开放,因此用Android写程序自然会比较容易,也有Google的支持。经过研究,Android的开发,其实主要就是下载安装SDK,然后装个eclipse插件,就可以开发,调试了。SDK里面带有模拟器,用起来挺方便的(虽然启动很慢……)。我下了Linux版SDK,发现模拟器没法用。后来找到了Google公布的源代码,原来是用qemu模拟的,SDL负责显示,不过都是Google修改过的版本……编译出来一个静态的emulator,替换掉SDK里面的,就可以正常工作了。我写了个hello world之后,就去搞iPhone去了。现在,组里那位学长已经成功写出井字棋了。 iPhone就麻烦多了。虽然Apple出了SDK,但是只能在MacOSX上跑,并且要编译出能够在iPhone上跑的程序要99美元……幸好hacker们搞了Jailbreak,破解了iPhone的限制,是个程序经过随便什么代码签名就能跑,但是我没有Mac阿……Hacker们也搞出了第三方的SDK,基于 llvm-gcc 和 Open Darwin CC Tools。Google Code上有个iphone-dev,就是这个东西。照着网上的说明,我先编译出了 iphone-dev 项目的结果。但是,拿这个编译个命令行Hello World还行,编译图形界面程序,就说有东西没定义。折腾了半天,知道这个只能用于1.x版本的iPhone,2.x版本需要新的第三方SDK…… iPhone在1.x到2.x的过程中,改变了Objective C的ABI…… 编译target也从arm-apple-darwin(其实是8)变成了arm-apple-darwin9又折腾了至少十几个小时,终于搞出了新版SDK,编译出了图形化的程序…… Apple在新系统还引入了其他限制,图形界面的程序从命令行启动会被Kill,只有从SpringBoard(iPhone的类似于桌面的系统程序)才能启动…… 仿造了一个应用程序条目之后,终于从SpringBoard启动成功,图形化的Hello World阿~话说Apple公布的SDK还是很有帮助的,让第三方SDK编译过程简化了不少…… 但是感觉第三方程序严重受制于Apple,Apple改变一点东西,第三方程序编写者就有很多东西要改,除非加入Apple的某计划…… 总之,现在在iPhone和Android上面都能写带GUI的程序了~ hacker威武~

关于网络故障的Tip

诸位用着Windows的同志,如果发现* 网卡工作不正常,显示"无法启动","找不到文件"等等错误* 网络连接属性页(就是显示协议/客户端的页面,能看见TCP/IP协议的)显示不正常/工作不正常/其他问题请打开注册表编辑器(开始->运行->regedit->回车)浏览到 HKEY_LOCAL_MACHINESystemCurrentControlSetControlNetwork,删除右面的Config键然后再试试看……上两天Windows网络出问题,先是属性页全白,然后是网卡工作异常。搞了半天,这样修好了……后来想起来从前写过一篇关于VMWare的网卡的问题,也是这样修好的……总之,反正删了Windows会重建,虽然有的设置需要重新设置,但是总比有问题强~

寝室第一文

终于可以在寝室上网了~ 原先没有本,而且帐号没有在寝室上网的权限。现在有了本,而且申请端口的协议很莫名地从"申请"状态到达了"生效"状态,这样就可以在寝室上网了~ 先是在BSD里上的,Vista里面MyTunet不能用。后来知道有官方的登录程序叫Tunet,这个东西可以在Vista下面用。今天试了一下,的确可以~ Vista里面这种东西都是要管理员权限的。Vista失败的地方在于没有sudo这样的东西…… 不过总的来说还可以。 今天起床后就是本学期第一节课,争取及时起床去上啊。所以今天不能睡得太晚啊。 Windows的本本电池剩余时间统计太诡异了,刚才说3个小时,一会儿2个半,一会儿2小时,一会儿又是2个半…… 而且Vista的Explorer有时候会莫名地占用50%的CPU,导致剩余时间估计变少…… 浪费电啊。Vista的bug不少。 北大之行 今天去了一次北大,主要目标为帮助fish同学配置那台本,装一些软件等。后来其实大部分时间,是在看别人打游戏以及自己打游戏中度过的。Vista的不稳定在fish的本上暴露无遗,有时候打开控制面板会导致explorer挂掉…… 装了NOD32作为杀毒软件,Comodo Firewall Pro作为防火墙。貌似Comodo不错,还是免费的,界面漂亮,后来也给自己的本本装了一个。 给北大的同学们看了BSD下compiz-fusion的效果,受到了同学们的一致肯定。compiz-fusion现在已经比较稳定了,今天仅崩溃一次,还自动恢复了,真好。 fish的本是ASUS F8 T7250的型号,8K多,还不错,显卡性能应该比我的还好一些。看看14寸的字的确有点小。但是性能好啊…… 今天见到了daa,ly,fish,有很多人没去看,说起来也比较遗憾,主要是游戏的吸引力大么…… 拖着拖着就没有时间了。和gofysuil一起去的,不过晚上自己一个人十一点多回来的…… 先去的daa寝,在哪里待到五点多,然后说去吃饭,但是先去了ly寝室,就被他吸引在寝室了…… 先是看BSD,然后开极品9,搞到挺晚,gofysuil就先回去了。晚上九点多出去吃晚饭,谢谢ly请客,后来回到北大,在寒风中和ly在寝室楼下侃了一个小时…… 最后快十一点离开北大…… 幸好这次衣服穿得多,否则又要感冒了。上次已经有过教训了。   睡觉去了…… 此文已经很长了…… 寝室第一篇blog~~

入手 SAMSUNG R70-A00A

其实这篇文章早该写了,只是买了之后比较兴奋,一直在捣鼓各种问题,今天才发上来。其实1月30日就买了么……其实本来想买ASUS F8的,还比这个便宜。但是家里非常鼓励我买一个15寸的,只好考虑这个。F8有蓝牙,支持802.11n,还是GF8600MGT,还有指纹识别…… 比这个各方面都好不少。买的时候还是比较混乱的。一开始报价比最后成交高500。他配置单上写支持802.11n,其实是不支持的。那个销售员还在那里保证得很像回事一样,其实根本没有么…… R70-A系列就没有一个支持的。赠品可选一种遥控直升机…… 还不如选篮球。不过貌似两者之间价格差不小…… 其实还有一个ASUS F3,也是15寸,但是比较难看,而且也不怎么便宜,所以就买了三星的这个。现在想想,貌似应该买A00C的,160G硬盘啊。原来听说关于磨沙屏的问题,其实是从前的笔记本经常用那种不怎么反光的磨沙屏幕,现在用反光高的所谓高亮屏,据说新的屏幕亮度比较高。这两种各有优缺点,现在貌似高亮屏比较流行?不过一般避开反光的话,高亮屏看上去很舒服,就是不能开得太亮,否则时间长了不舒服。配置:T7500 2.2G:FSB 800, L2 4M/DDR2 667 2G/120G硬盘 5400RPM/15.4寸/802.11 abg/HDMI输出(??)/内置130M摄像头(其实比130M差一些,比30M好) 买完之后,还是比较舒服的。温度控制并不是很好,但是噪音很轻。光驱放DVD的时候声音挺轻,但是貌似读数据的时候声音比较夸张。15寸屏幕应该说看上去舒服,但是现在没用过14寸的,不知道。键盘还是比较舒服的,弹性不错,就是键位还是不太熟悉。机子喇叭效果不怎么样,不过,对于笔记本的喇叭,还能有什么要求……买来之后,除了Windows之外的区重新分区,装BSD。120G硬盘实际上有110G左右,10G Recovery,剩余均分四个区,第一个留着Vista Home Premium,反正是正版的,用一会儿再说。最后一个装FreeBSD,为了显卡驱动装了i386版本。802.11n其实还没什么用,普及还要很长时间呢。 现在,装好了compiz,OpenOffice,…之后,基本上就在BSD下跑了,很好啊…… 除了FAT32分区的中文文件名还有问题,现有的解决方法要我放弃UTF8的系统环境,其他方法目前还不稳定,再缓缓也没有问题啊。Compiz的效果真是非常的赞啊,比老机器漂亮多了,不过貌似效果全开还是会卡。图片再等等,反正会发上来的…… 现在也没有适合的拍照器材……