Text 从MediaWiki安装导出文本(MediaWiki标记)

Text 从MediaWiki安装导出文本(MediaWiki标记),text,export,mediawiki,mediawiki-api,Text,Export,Mediawiki,Mediawiki Api,我想从本地MediaWiki安装中导出许多文章(但不是)的MediaWiki标记。我想要的只是当前文章的标记,而不是历史或其他任何东西,每个文章都有一个单独的文本文件。我希望以编程方式执行此导出,最好是在MediaWiki服务器上执行,而不是远程执行 例如,如果我对苹果、香蕉和纸杯蛋糕产品感兴趣,我希望能够: article_list = ["Apple", "Banana", "Cupcake"] for a in article_list: get_article(a, a + ".

我想从本地MediaWiki安装中导出许多文章(但不是)的MediaWiki标记。我想要的只是当前文章的标记,而不是历史或其他任何东西,每个文章都有一个单独的文本文件。我希望以编程方式执行此导出,最好是在MediaWiki服务器上执行,而不是远程执行

例如,如果我对苹果、香蕉和纸杯蛋糕产品感兴趣,我希望能够:

article_list = ["Apple", "Banana", "Cupcake"] for a in article_list: get_article(a, a + ".txt") 物品清单=[“苹果”、“香蕉”、“纸杯蛋糕”] 对于文章中的列表: 获取文章(a,a+“.txt”) 我打算:

  • 摘录所需文章
  • 将MediaWiki标记存储在单个文本文件中
  • 在单独的程序中解析和处理
MediaWiki已经可以做到这一点了吗?看起来不像。它也是


退一步是能够手动执行此操作(使用导出特殊页面),并轻松地将输出解析为文本文件。有没有现成的工具可以做到这一点?是否有MediaWiki XML转储格式的说明?(我找不到。)

在服务器端,您只需从数据库导出即可。在远程,Pywikipediabot有一个名为
get.py
的脚本,它获取给定文章的wikicode。手动操作也很简单,就像这样(从内存中写入,可能会出现错误):

将wikipedia作为pywikibot导入
site=pywikibot.getSite()#假设您有一个带有默认site/user的user-config.py
物品清单=[“苹果”、“香蕉”、“纸杯蛋糕”]
关于文章列表中的标题:
page=pywikibot.page(标题、站点)
text=page.get()#处理未找到等异常省略
文件=打开(标题+“.txt”,“wt”)
file.write(文本)
由于MediaWiki的语言没有很好的定义,唯一可靠的解析/处理方法是通过MediaWiki本身;Pywikipediabot中不支持这一点,尝试这样做的少数工具在使用复杂模板时失败。

它看起来像是一个内置的服务器端维护脚本,用于导出特定文章的wikitext。(比查询数据库更容易。)

找到它,它覆盖了从MediaWiki导出时的所有角度