2

我终于成功地使用 Wikipedia 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

假设我只想从页面上的正确模块中提取那场战斗的日期、地点和结果。我该怎么做?

谢谢你的帮助!!

4

2 回答 2

0

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

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

所以上面的警告我“Magus732”

从那里您可以查看返回的结构并提出代码来获取详细信息。

编辑

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

就解析而言,您可能需要使用 jQuery 或正则表达式应用一些巧妙的 css 来正确格式化并隐藏您不需要的内容。

于 2011-10-04T04:39:56.423 回答
0

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

但是回到您的问题,我会查看“编辑”页面并在您感兴趣的数据中查找格式模式,例如信息框等,然后从那里开始。

于 2013-01-25T15:05:38.590 回答