tor*_*ger 10 python api parsing mediawiki extraction
现在我正在使用各种正则表达式将mediawiki标记中的数据"解析"为列表/词典,以便可以使用文章中的元素.
这不是最好的方法,因为必须进行的案例数量很大.
如何将文章的mediawiki标记解析为各种python对象,以便可以使用其中的数据?
示例是:
各种正则表达式可以实现上述目标,但我发现我必须做出相当大的数字.
这是mediawiki非官方规范(我发现它们的官方规范没有用).
mwlib提供了一个库,用于解析MediaWiki文章并将它们转换为不同的输出格式.维基百科的"打印/导出"功能使用mwlib来生成维基百科文章中的PDF文档.
这是文档页面.使用的较旧的doc页面有一个单行示例:
from mwlib.uparser import simpleparse
simpleparse("=h1=\n*item 1\n*item2\n==h2==\nsome [[Link|caption]] there\n")
如果您想了解它的运行方式,请参阅代码附带的测试用例.(来自git存储库的mwlib/tests/test_parser.py):
from mwlib import parser, expander, uparser
from mwlib.expander import DictDB
from mwlib.xfail import xfail
from mwlib.dummydb import DummyDB
from mwlib.refine import util, core
parse = uparser.simpleparse
def test_headings():
    r=parse(u"""
= 1 =
== 2 ==
= 3 =
""")
    sections = [x.children[0].asText().strip() for x in r.children if isinstance(x, parser.Section)]
    assert sections == [u"1", u"3"]