It seems i was totally overcomplicating the solution. Here is some code that works, for anyone wanting to do the same thing. Presumably you could also insert the RSS item's author here as well, which is useful for blogs with more than one contributor.
Code:
def populate_article_metadata(self, article, soup, first):
h2 = soup.find('h2')
h2.replaceWith(h2.prettify() + '<p><em>posted at ' + article.localtime.strftime('%Y-%m-%d %H:%M:%S') + '</em></p>')