我从以下位置实现了示例:Mediawiki 和 Python
我阅读了Get wikipedia abstract using python和How to parse/extract data from a mediawiki mark-up article via python和其他几篇文章。
我正在尝试获取与某个类别相关的一些维基百科存根的转储,并将它们插入到内部语义媒体维基站点中。出于本示例的目的,我使用“Somali_Region”类别。该脚本使用 mediawiki API 获取数据,然后解析数据,删除所有需要的模板信息。
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
如果我尝试从维基百科进行转储并进行插入,则内部语义媒体维基站点会失败,因此这不是一个选项。是否可以使用 API 将数据插入语义媒体维基站点?我阅读了mediawiki API 编辑页面,但找不到 python 示例。