使用Pywikibot创建一个页面



我试图在https://dev.wikidebates.org/wiki/Wikid中创建一个页面,它与wikipedia类似,因此Pywikibot应该以相同的方式工作。我想用Pywikibot做一个页面。我检查了Pywikibot https://www.mediawiki.org/wiki/Manual:Pywikibot/Scripts中的选项脚本。脚本pagefromfile.py负责此操作。但是,我没有在代码中看到我应该在wiki的新页面上写链接。在类中的函数page fromfile返回页面。如何检查页面是否制作完成?

我现在尝试的代码如下。一切正常,除了最后一行。(未创建页面)

site = pywikibot.Site('dev', 'wikidebates')  # The site we want to run our bot on
page = pywikibot.Page(site, "Faut-il légaliser le cannabis ?")
text = page.get() #get the code of the page
wb = open("pages1.txt", "w", encoding="utf-8") 
wb.write(str(txt)) #write text to the file, in order to download it then to the wiki
wb.close()
main_page('-file:pages1.txt') #use main function from scrip pagefromfile.py - I renamed it

您还没有显示任何进一步的信息。可能还有来自pagefromfile.pyscript的其他消息。如果你从wiki下载文本,你要么必须在文本中包含开始和结束标记,要么必须使用-textonly选项。我还建议使用-title选项。

参考文档:https://doc.wikimedia.org/pywikibot/stable/scripts/general.html#module-scripts.pagefromfile

from scripts.pagefromfile import main  # or main_page in your modified case
site = pywikibot.Site('wikidebates:dev')  # you may use te site name for the constructor function
page = pywikibot.Page(site, 'Faut-il légaliser le cannabis ?')
text = page.text
with open("pages1.txt", "w", encoding="utf-8") as wp:  # also closes the file
wb.write(text)
main('-file:pages1.txt', '-textonly', '-title:"The new title"')

如果目标站点不是默认站点,请在main函数中添加-site选项。为了模拟的目的,您可以使用-simulate选项:

main('-file:pages1.txt', '-textonly', '-title:"The new title"', '-simulate', '-site:wikidebates:dev')

注意:main函数的所有参数必须是用逗号分隔的字符串。你不能把所有的参数都作为一个长字符串,除非你这样做:

main(*'-file:pages1.txt -textonly -title:The_new_title'.split())

相关内容

  • 没有找到相关文章

最新更新