我正在尝试从 wikia 转储中解析 xml 以提取子元素,然后在由 [[ 和 ]] 标识的文本中查找链接。因此,从一个wiki的以下示例片段中,我们应该得到
<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.6/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.6/ http://www.mediawiki.org/xml/export-0.6.xsd" version="0.6" xml:lang="en">
<siteinfo>
<sitename>Wookieepedia</sitename>
<base>http:///10.8.66.74/wiki/Main_Page</base>
<generator>MediaWiki 1.19.24</generator>
<case>first-letter</case>
<namespaces>
<namespace key="-2" case="first-letter">Media</namespace>
...
<namespace key="1202" case="first-letter">Message Wall Greeting</namespace>
</namespaces>
</siteinfo>
<page>
<title>Brianna</title>
<ns>0</ns>
<id>5</id>
...
<text xml:space="preserve" bytes="36038">{{Eras|old|featured}}
{{Youmay|the [[Echani]] [[hybrid]]|the [[Brianna (Human)|Human]]}}
{{Character
|type=Jedi
...
以上将确定 Brianna 页面链接到 Echani 页面,以及“混合”和“Brianna(人类)”页面。
是否有一个很好的 python 媒体维基解析工具可以把它吐出来?性能不是主要问题,因为这是离线完成的,而且这些 wiki 并不庞大。