2009/12/11

Bloggerへの投稿を自動化してみた

HTMLファイルを生成する事はできるようになったので、Google Data ProtocolのPython Client Libraryに附属するBlogger用のサンプルスクリプトを修正してコマンドラインから投稿できるようにしました。

この投稿自体も自前のXMLファイルから一連のコマンドでブログに投稿しています。 また初投稿した時にタイトル名とblog_post_idを保存しておくようにしたので、 タイトルの変更や記事の更新もできるようになっています。

実行時の様子

動作は2段階でXMLからHTMLに変換する部分( build.sh )と、生成したHTMLファイルをリストして指定した記事を投稿する部分( run.sh )に分かれています。

記事生成スクリプトの実行

HTMLファイルを生成するといっても実体はxhtmlに合わせているのでXML文書です。 ANTタスクの前後にxmlvalidateタスクを実行するようにしているので、少なくともwell-formedなXML文書である事は最低限チェックしています。

Buildfile: prop/build.xml

validate_xml:
[xmlvalidate] 2 file(s) have been successfully validated.

docs:
   [anakia] Transforming into: /home/user01/blogpost/html
   [anakia] Input:  20091211.1.xml
   [anakia] Output: /home/user01/blogpost/html/20091211.1.html
[xmlvalidate] 2 file(s) have been successfully validated.

BUILD SUCCESSFUL
Total time: 0 seconds
投稿スクリプトの実行

[0]	Bloggerへの投稿を自動化してみた
[1]	Apache Anakiaを使った簡易CMSの作成
select article number: 0
find entry: 9106769796720729015
[update_article] file=20091211.1.html,title=Bloggerへの投稿を自動化してみた,labels=[u'web', u'\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0', u'ubuntu']

さいごに

まだ記事を参照するためのリンクの仕組みはなく、編集を楽にするツール類の開発は必要だと思います。でもタイトルの変更と記事の更新ができるようになった事で最低限の機能は実装できました。

しばらく使ってみて、これをネタにアプリケーションの設計や文書化について勉強していこうと思います。

0 件のコメント: