使用Python更新媒体wiki文章?

时间:2010-12-21 19:11:15

标签: python api cron mediawiki

您好 我有一个cron工作,收集一些服务的统计信息。我需要cron作业以编程方式更新媒体wiki页面(附加到页面)。 我正在使用python for cron所以我最好的选择是什么,是否有mediawiki / python库的例子,或者Media wiki是否公开了我可以使用的任何HTTP / REST apis(可能是通过扩展)。

由于

2 个答案:

答案 0 :(得分:2)

如果PyWikipediaBot太重,请尝试使用Python模块mwclient

您可以登录,查看网页的当前内容,进行更改,然后在不到10行(example)内查看。

import mwclient
site = mwclient.Site('en.wikipedia.org')
site.login('Pfctdayelise','password')
page = site.Pages['User:Pfctdayelise/Test']
text = page.edit()
print text.encode('utf-8')
newtext = "\n\nTesting the write api without logging in.\n"
page.save(text+newtext,summary='testing write api')

答案 1 :(得分:1)

如果您与cron作业在同一台计算机上运行mediawiki,则可以使用在maintanence目录中找到的edit.php脚本。

/bin/python /opt/page_renderer.py | php /var/www/mediawiki/maintenance/edit.php -b PageTitle

在此示例中,/opt/page_renderer.py输出Wiki降价。这将通过管道传递到具有-b标志(将其标记为机器人编辑)和您要编辑的页面标题的编辑脚本。

自然地,您可以将任何程序从管道传送到编辑脚本,如果您在其他地方安装了Mediawiki,则可能需要更改编辑脚本的路径。