我试图从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页面,以及“hybrina”和“Brianna(人类)”页面。在
有没有一个好的针对python的mediawiki解析工具可以解释这个问题?性能不是一个主要问题,因为这是离线完成的,而且这些wiki并不庞大。在
您的方法不合理:请改用links API。有多个Python clients。永远不要自己做wikitext解析,除非绝对强制!在
还要注意,对于所有wiki(除了小wiki)来说,Wikia的转储是完全中断的(在一个随机点截断)。另请参见https://archive.org/details/wikia_dump_20141219和https://github.com/Wikia/app/pull/6118#issuecomment-183633326
相关问题 更多 >
编程相关推荐