boost/pythonによるRSSの取得

C++XMLを扱うには結構な労力が必要だったので、なら試しにと、boost/pythonを使うことにしました。pythonのfeedparserでRSSをパースし、キーワードをc++に渡すプログラムです。
下のプログラムではkizapiのきざしランキング上位30位のRSSを取得し、ランダムに出力します。

#include <stdio.h>
#include <stdlib.h>
#include <tcl.h>
#include <Python.h>
#include <boost/python.hpp>
#include <time.h>

using namespace boost::python;

int main()
{
   char CODES[256];
   char* wadai;
   int random;

   srand((unsigned) time(NULL));

   try{
      Py_Initialize();

      object main_module((handle<>(borrowed( PyImport_AddModule("__main__"))) ));
      object main_namespace = main_module.attr("__dict__");

      random = rand() % 30;

      sprintf(CODES,
         "import feedparser\n"
         "rss = feedparser.parse('http://kizasi.jp/kizapi.py?type=rank')\n"
         "topic = rss.entries[%d].title.encode('utf-8')\n", random);
      handle<>ignored(PyRun_String(CODES, Py_file_input, main_namespace.ptr(), main_namespace.ptr()));

      wadai= extract<char*>(main_namespace["topic"]);
      printf("wadai%d=%s\n", random, wadai);

      Py_Finalize();
   }
   catch(error_already_set&){
      PyErr_Print();
   }

   return 0;
}