用户:Shizhao/otdcode
外观
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os, sys
import wikipedia, query, datetime
mysite = wikipedia.getSite()
otdtext=u'{{Wikipedia:历史上的今天/%s月%s日}}'% (datetime.datetime.utcnow().month, datetime.datetime.utcnow().day)
datetitle=u'%s月%s日' % (datetime.datetime.utcnow().month, datetime.datetime.utcnow().day)
rsstitle=u'Template:Otd/rss'
rsspage=wikipedia.Page(mysite,rsstitle)
#获取html内容
params = {
'action' :'parse',
'text' :otdtext,
}
text = query.GetData(params, encodeTitle = False)[u'parse'][u'text'][u'*']
href=u'{{subst:fullurl:%s}}' % datetitle
#格式化rss
wikitext=u'<title>历史上的今天:%s</title>\n<link>%s</link>\n<guid>%s</guid>\n<description>%s</description>\n<pubDate>{{subst:#time:r}}</pubDate>\n<dc:creator>中文维基百科编者</dc:creator></item>\n' %(datetitle, href, href, text)
rsstext=rsspage.get()
r=rsstext.split(u'<item>')
if len(r)<6:
r.insert(1, wikitext)
s = u'<item>'.join(r)
else:
r.insert(1, wikitext)
r.pop()
s = u'<item>'.join(r)
s=s+u'\n</channel>\n</rss>'
rsspage.put(s, u'bot: 历史上的今天rss更新:[[%s]]' % datetitle)
wikipedia.stopme()