如何使用 pyWikiBot 创建和/或编辑页面
How to create and or edit a page with pyWikiBot
MediaWiki API 有一个 edit function 可以在 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]¶
页面需要构建源。我找不到这方面的例子。
例如:
只有一行作为接受的答案,不使用网站或页面。我很困惑。
直接使用 python 代码使用 pyWikiBot 创建和/或编辑页面的正确方法是什么?(不是脚本 ...)
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 文档工具。
MediaWiki API 有一个 edit function 可以在 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]¶
页面需要构建源。我找不到这方面的例子。
例如:
只有一行作为接受的答案,不使用网站或页面。我很困惑。
直接使用 python 代码使用 pyWikiBot 创建和/或编辑页面的正确方法是什么?(不是脚本 ...)
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 文档工具。