0

我正在尝试使用 Wikipedia API 获取足球运动员的职业生涯总进球数和出场次数。我已经能够找到对给定信息的访问权限,但我不确定如何处理它所呈现的格式。

现在,我只是想通过控制台记录信息。

function fetchResults(searchQuery) {
    const endpoint = `https://en.wikipedia.org/w/api.php?origin=*&action=parse&format=json&prop=sections&page=Jamie_Vardy&section=15&prop=wikitext`;
    console.log(endpoint);
    fetch(endpoint)
    .then(response => response.json())
    .then(data => {
        console.log(data.parse.wikitext);

    })
    .catch(() => console.log("ERROR"));

}

我在下图中突出显示了我希望获得的信息:

图片

4

1 回答 1

0

这似乎是文本的一部分,它是*in 键下的字符串的一部分wikitext

提取它的正确方法是使用某种解析器的 JS 实现来解析 Wikitext 格式,然后通过解析树或令牌流来找到你想要的东西。

一个更老套和脆弱的解决方案是使用正则表达式来尝试匹配那里的文本。例如,您可能会做类似的事情Career total\s(.+?)\},然后以某种方式用数字解析该位。

于 2019-06-18T00:39:07.383 回答