我实现了示例:Mediawiki and Python
我读了Get wikipedia abstract using python和{a3}以及其他一些。在
我正在尝试获取一些与类别相关的Wikipedia存根的转储,并将它们插入到内部语义mediawiki站点中。在本例中,我使用“索马里地区”类别。脚本使用mediawikiapi获取数据,然后解析数据,删除所有需要的模板信息。在
from wikitools import wiki
from wikitools import category
import mwparserfromhell
wikisite = "http://en.wikipedia.org/w/api.php"
parse_category = "Somali_Region"
wikiObject = wiki.Wiki(wikisite)
wikiCategory = category.Category(wikiObject, parse_category)
articles = wikiCategory.getAllMembersGen(namespaces=[0])
for article in articles:
wikiraw = article.getWikiText()
parsedWikiText = mwparserfromhell.parse(wikiraw)
for template in parsedWikiText.filter_templates():
parsedWikiText.remove(template)
print parsedWikiText
如果我尝试从wikipedia转储并执行insert,则内部语义mediawiki站点将失败,因此这不是一个选项。是否可以使用API将数据插入语义mediawiki站点?我读了mediawiki API edit page,但找不到python示例。在
如果我没听错,你想把你的
parsedWikiText
保存到一个私有wiki中。在下面是我做这类事情的方法(您需要将}存储在某个地方;我使用一个配置文件,但还有更安全的方法)。我会在你的
USERNAME
和{for
循环之前开始。。。在我假设您希望将
parsedWikiText
保存到一个新页面中。如果你的wiki页面上已经有内容,你必须先用target_page.getWikiText()
来阅读,然后以某种方式混合新文本。我还假设这篇文章将与Wikipedia中的同名;如果不是,那么就改target_title
。在相关问题 更多 >
编程相关推荐