从MediaWiki的API wikitext中提取Python中的模板参数

时间:2013-01-03 05:46:54

标签: python xml json mediawiki

有没有办法从MediaWikia的API中提取部分文本?例如,此链接将所有内容转储为XML格式:

http://marvel.wikia.com/api.php?action=query&prop=revisions&titles=All-New%20X-Men%20Vol%201%201&rvprop=content&format=xml 

但它的结构并不多,即使是json格式也是如此。

我想获得Writer1_1Penciler1_1等文字。也许我的参数不正确,所以也许我还可以输出其他选项。

您可以通过用户可读的方式here查看内容。

1 个答案:

答案 0 :(得分:1)

我确信正则表达式和最终分割可能会更有效率,但这可以完成你所要求的工作。

import urllib2
import re
data = urllib2.urlopen('http://marvel.wikia.com/api.php?action=query&prop=revisions&titles=All-New%20X-Men%20Vol%201%201&rvprop=content')
regex = re.compile('(Writer1_1|Penciler1_1)')
for line in data.read().split('|'):
    if regex.search(line):
        #assume everything after = is the full name
        print ' '.join(line.split()[2:])