如何获取维基百科用户的所有贡献?

How to get all contributions of a wikipedia user?

给定一个维基百科 user/editor id 和一个时间表,Python 中是否有办法获取有关所有 contributions/edits 的详细信息 user/editor?我想获取详细信息,例如已编辑的页面、采取的操作、修订时的字节 added/deleted 和评论(如果有)。这可能吗?

非常感谢!

是的,pywikibotUser class 有一个 .contributions() 方法,您可以使用它来迭代用户的所有贡献。

它 returns 一个生成器,对于每个编辑,生成一个 (pywikibot.Page, oldid, pywikibot.Timestamp, comment) 的元组。你没有得到差异,但你可以在此时 (page.getOldVersion(oldid=…)) 检索页面并从之前的点开始进行差异。

简单代码示例:

from pywikibot import Site, User

user = User(Site(), "SanMelkote")
for page, oldid, ts, comment in user.contributions():
    print(Page.title(), comment)