维基百科API:将表解析为JSON?

时间:2013-02-04 03:36:59

标签: json api mediawiki wikipedia

是否可以将this table解析为数组JSON中的数组?

我想要的输出是这样的:

[
  ["Northwest Caucasian", "Abkhaz", "аҧсуа бызшәа, аҧсшәа", "ab", "abk", "abk", "abk", "abks"], 
  [Afro-Asiatic", "Afar", "Afaraf", "aa", "aar", "aar", "aar", "aars"],
  ...
]   

我得到的最好的就是thisthisthis,这根本没用。

我不仅需要ISO639表,还需要其他一些维基百科表,所以我需要一种将wiki表解析为json的通用方法。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

好的,我发现最简单的方法是在Chrome Developer Console中使用Javascript

$('table.sortable tr').map(function() {
    return new Array($('td', this).map(function() {
        return $(this).text()
    }).slice(2, 5).get())
}).get()

遗憾的是维基百科没有提供这样的API。

答案 1 :(得分:1)

@est谢谢,这对我帮助很大。

您还可以改进以前的代码,将结果保存为json字符串,只需将其包装在JSON.stringify()中(仅限现代浏览器)

JSON.stringify($('table.sortable tr').map(function() {
    return new Array($('td', this).map(function() {
        return $(this).text()
    }).slice(2, 5).get())
}).get())