如何解析维基百科API内容数据

时间:2011-10-04 04:24:17

标签: jquery wikipedia-api

我终于成功地使用维基百科API提取数据了,但是我真的不明白,我似乎无法找到答案。

我用它来查询数据:

var title = "Fort_Capuzzo";
$.getJSON("http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=timestamp|user|comment|content&titles=" + title + "&format=json&callback=?", function(data) {                               
console.log(data);
});

这会返回一个对象,我当然可以深入挖掘所需内容。但是,文档中没有任何地方说明用于从内容中提取特定数据的参数。更具体地说,请查看此维基百科文章:http://en.wikipedia.org/wiki/Battle_of_Madagascar

假设我只想从页面上的右侧模块中提取该战斗的日期,位置和结果。我该怎么做?

感谢您的帮助!!

2 个答案:

答案 0 :(得分:0)

我在Firefox中使用FireBug来查看返回的对象。

alert(data.query.pages[204126].revisions[0].user);

所以上面警告我“Magus732”

从那里你可以看一下返回的结构,然后拿出代码来获取细节。

修改

alert(data.query.pages[204126].revisions[0]["*"]);

就解析而言,你可能需要使用jQuery或正则表达式来应用一些聪明的css来正确地格式化它并隐藏你不需要的东西。

答案 1 :(得分:0)

gjunkie:我可以理解你的挫败感,但根据我对维基百科编辑的经验,这几乎是你现在可以期待的所有内容,因为这些页面不是带有字段和值的数据库条目,而只是带有一些格式的文档。我希望这会被改变,例如翻译语言中最简单的数据,如飞机翼展,可以做得更聪明,但不是,你只需输入它们。

但回到你的问题,我会看一下'编辑'页面,在你感兴趣的数据中查找格式化模式,比如信息框等,从那里开始。