博文批量发布工具(BatchPublishBlog)是一款绿色、开源的博文发布软件,可以作为WizKnowedge插件,很方便的发布自己编辑、收集的文章。支持多种博客类型(wordpress、cnblogs、drupal、51CTO等),支持批量发布(一次把多篇文章发布到多个博客),支持判断文件、图片是否有修改,只发布有修改的文件(采用MD5码进行判断)。
一、使用说明
1、从下面网址下载最新的安装包。(源码也可以在这里下载)
http://code.google.com/p/pyblogpost/
2、安装包中有一个文件BatchPublishBlog.wizplugin。
如果已经安装了WizKnowedge V1.0 beta7以上版本,双击该文件即可安装。(建议结合WizKnowedge使用,它是免费软件)
如果没使用WizKnowedge,可以把后缀wizplugin改为zip,然后解压缩,通过命令行使用本工具。
3、在WizKnowedge下安装插件后会看到如下菜单,选中要发布的文件(可以是多个),点击此菜单即开始发布。
(发布之前记得先参考“配置解析”一节修改配置文件blogconfig.xml,配置自己的账户信息)
首先会弹出一个对话框,让用户填写文章分类(一般可以不写,不管它什么值,直接点OK开始发布。如果要填写,需要填博客服务器上已设置的分类。)
点击OK即开始发布:(发布过程中,可以关闭上述窗口,以便继续编辑文章。但运行完之前console窗口不能关闭。)
4、如果是用命令行,请运行BlogPost.exe查看帮助。
参数解释:
categories 文章分类,字符串,多个分类以半角分号隔开。注意工具不会自动创建分类,某些系统只能是博客系统上用户已创建的分类才能生效。
每一个要发布的文件,是一对html_file file_guid参数。
html_file是html文件路径,如果有图片等资源文件,需要在该文件对应的目录下(一般Windows系统会有默认处理)。
file_guid是为了防止文件重复上传设置的,保证第二次发布时只更新已有的文件。第一次发布传入"0"即可,工具会给它分配一个guid,第二次发布需要传入工具分配的id,工具运行完之后的runlog.txt中有文章标题和GUID的对应关系。如果是使用WizKnowedge发布文章,这些细节用户是不需要看到的。
二、配置解析
文件名:blogconfig.xml
配置要发布到的博客服务器的相关信息。
参数含义:
name -- 你给该博客起的名字,不要用中文。
system -- 博客类型,基本上都直接写为wordpress就可以了。
encoding -- 一般都是utf-8,少数是gb2312。(我只发现51CTO博客必须用gb2312才能正常处理分类信息。)
posturl -- 博客的xmlrpc远程调用路径,要指定为xmlrpc.php、metablogapi.aspx、RPC.ashx的完整路径,并且要是自己的博客账户的路径。
username -- 博客用户名。
password -- 密码。
postblog -- 是否发布到此博客,如果设为false,那么就不会发布到此博客了。
media -- 是否上传图片等资源文件到此博客服务器。0-不上传;1-上传且只用于本博客;2-上传且用于后面的其它博客。
categories -- 分类。一般必须是服务器有的分类,才能生效。工具不会自动创建分类。
vcategories -- 分类校验。是否获取服务器的分类信息,以便校验用户输入的分类是否都在服务器上存在,去掉服务器不存在的分类。
fileserver -- 其实它跟blog是一样的,只是一般可以指定一个博客上传图片,其它博客都直接从该博客链接,因此规定fileserver为媒体上传的服务器,一般整个配置文件只有一个。
三、博客系统
目前验证过已支持的系统:
1、WordPress
2、cnblogs
3、Drupal
4、51CTO
其它的系统等待您的验证、增加......
四、工具比较
几种离线发布工具的比较。
1、Windows Live Writer
1)老牌离线博客发布工具,支持的博客类型很多,有很多插件。
2)我觉得它不适合管理文章,本地写的文章有时还会无缘无故消失。
3)使用起来不太方便,某些博客要求有固定的分类,必须每次都设置;批量发布也无法很好的支持;每次上传博文,图片都会重复上传,等等。
2、WizKnowedge
1)知识管理工具,可以很方便的搜集、整理、写作、发布资料。
2)自带了博客发布工具,支持WordPress系统。
3)还可以使用本工具作为WizKnowedge的插件,支持一些更多的常见博客类型,继承了WK很多好的地方,并且作了一些改进:
a、解决了与wordpress的slug配合时,无法把中文网页路径转换为英文的问题。
b、支持只发布更新的文章、更新的图片,减少重复上传。
c、支持一篇文章一次发布到多个博客。
另外,本工具是开源的,有兴趣的都可以在上面扩展功能,只要你喜欢的博客系统支持xmlrpc,你都可以做少量修改支持它。
五、常见问题
1、目前的配置中只支持常见的图片上传,如果网页中有特殊的媒体文件,则需要查询MIME(all).txt把相应的项补充到MIME.xml中。
六、感谢
本工具的写作、调试过程中,得到了WizKnowedge作者魏拾俊的大力支持,在此表示感谢!
同时也感谢一直以来支持我的家人、朋友、同事们。
顺便给各位拜个晚年,祝2010年心想事成!
附录A:
工具产生的背景简介
我以前用Windows Live Writer(简称WLW),但它的设计思想就是一个文章发布工具,对于本地文章的管理支持非常弱,甚至有时会发现本地的文章离奇失踪。虽然即将步入云的时代,但现在没有网络的情况还是时有发生的,本地管理一份精心写作的文章是非常有必要的。
我一直比较喜欢收集文章,03/04年就是网文快捕的粉丝,后来有了CyberArticle,我就买了一个(这是我买的第一个正版软件)。最近,新产品WizKnowedge(简称WK)出来了,这是一个很强大的资料收集软件,也可以编辑、管理自己的文章。可惜的是它自带的博客管理工具只支持WordPress,而我之前常用的博客不是WordPress的。后来,听说WK支持插件扩展,就打算动手写一个插件来支持这个功能。经过2010年一个春节的努力,就有了这个工具。
附录B:
如果要下载源码运行,那么需要知道:此工具是使用Python 3.1写的,需要安装lxml库才能运行。
我在live space空间共享了一个Python3.1绿色版本,它已经包含了lxml库,并修改了xmlrpc的client.py文件(修改后才能支持wordpress以外的博客)。
后来我用czFreeze把Python脚本打包为exe,才避免了使用此工具的电脑都必须安装Python的麻烦。