如何使用 pyWikiBot 创建和/或编辑页面

Wol*_*ahl 4 python pywikibot

MediaWiki API 有一个编辑功能,可在 pywikibot 中使用。\n根据https://doc.wikimedia.org/pywikibot/master/api_ref/pywikibot.site.html

\n\n

使用页面参数调用该函数:

\n\n
 editpage(page, summary=None, minor=True, notminor=False, bot=True, recreate=True, createonly=False, nocreate=False, watch=None, **kwargs)[source]\xc2\xb6\n
Run Code Online (Sandbox Code Playgroud)\n\n

一个页面需要一个源来构建。我找不到这方面的例子。

\n\n

例如:使用 Pywikibot 时如何添加一些内容来编辑摘要?

\n\n

只有一行作为接受的答案,并且不使用网站或页面。我很困惑。

\n\n

直接使用 python 代码使用 pyWikiBot 创建和/或编辑页面的正确方法是什么?(不是脚本...)

\n\n

https://github.com/wikimedia/pywikibot/blob/master/pywikibot/page/init.py#L2328

\n\n

有构造函数:

\n\n
"""Page: A MediaWiki page."""\n\n    @deprecated_args(defaultNamespace=\'ns\', insite=None)\n    def __init__(self, source, title=\'\', ns=0):\n        """Instantiate a Page object."""\n        if isinstance(source, pywikibot.site.BaseSite):\n            if not title:\n                raise ValueError(\'Title must be specified and not empty \'\n                                 \'if source is a Site.\')\n        super(Page, self).__init__(source, title, ns)\n
Run Code Online (Sandbox Code Playgroud)\n\n

不幸的是,它没有正确记录,并且是包含所有类的6000 行init .py 文件的一部分。

\n\n

当尝试时

\n\n
    newPage=Page(site,pageTitle)\n    newPage.text=pageContent\n
Run Code Online (Sandbox Code Playgroud)\n\n

我明白了

\n\n
AttributeError: APISite instance has no attribute \'edit\'\n    site.edit(newPage,\'summary\')\n
Run Code Online (Sandbox Code Playgroud)\n

Wol*_*ahl 5

以下代码有效:

 from pywikibot.page import Page

 newPage=Page(site,pageTitle)
 newPage.text=pageContent
 newPage.save("summary")
Run Code Online (Sandbox Code Playgroud)

另请参阅https://www.mediawiki.org/wiki/Manual:Pywikibot/Create_your_own_script

不幸的是,https://pypi.org/project/pywikibot/上的文档没有使用标准的 python 文档工具。