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



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

该函数是用一个页面参数调用的:

editpage(page, summary=None, minor=True, notminor=False, bot=True, recreate=True, createonly=False, nocreate=False, watch=None, **kwargs)[source]¶

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

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

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

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

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

具有构造函数:

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

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

尝试时

newPage=Page(site,pageTitle)
newPage.text=pageContent

我得到

AttributeError: APISite instance has no attribute 'edit'
site.edit(newPage,'summary')

以下代码有效:

from pywikibot.page import Page
newPage=Page(site,pageTitle)
newPage.text=pageContent
newPage.save("summary")

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

遗憾的是https://pypi.org/project/pywikibot/没有使用标准的python文档工具。

相关内容

  • 没有找到相关文章

最新更新