如何从这个键值对中获取给定的高亮文本信息
How can I obtain the given highlighted text information from this key-value pair
我正在尝试使用维基百科 API 获取足球运动员的职业总进球数和出场次数。我已经能够找到对给定信息的访问权限,但我不确定如何处理它所呈现的格式。
目前,我只是尝试通过控制台记录信息。
function fetchResults(searchQuery) {
const endpoint = `https://en.wikipedia.org/w/api.php?origin=*&action=parse&format=json&prop=sections&page=Jamie_Vardy§ion=15&prop=wikitext`;
console.log(endpoint);
fetch(endpoint)
.then(response => response.json())
.then(data => {
console.log(data.parse.wikitext);
})
.catch(() => console.log("ERROR"));
}
我在下图中突出显示了我希望获得的信息:
这似乎是文本的一部分,是 wikitext
中 *
键下字符串的一部分。
提取它的正确方法是使用某种解析器的 JS 实现来解析 Wikitext 格式,然后通过解析树或标记流来找到你想要的东西。
一个更 hacky 和脆弱的解决方案是使用正则表达式来尝试匹配那里的文本。例如。你可能会做类似 Career total\s(.+?)\}
的事情,然后以某种方式用数字解析位。
我正在尝试使用维基百科 API 获取足球运动员的职业总进球数和出场次数。我已经能够找到对给定信息的访问权限,但我不确定如何处理它所呈现的格式。
目前,我只是尝试通过控制台记录信息。
function fetchResults(searchQuery) {
const endpoint = `https://en.wikipedia.org/w/api.php?origin=*&action=parse&format=json&prop=sections&page=Jamie_Vardy§ion=15&prop=wikitext`;
console.log(endpoint);
fetch(endpoint)
.then(response => response.json())
.then(data => {
console.log(data.parse.wikitext);
})
.catch(() => console.log("ERROR"));
}
我在下图中突出显示了我希望获得的信息:
这似乎是文本的一部分,是 wikitext
中 *
键下字符串的一部分。
提取它的正确方法是使用某种解析器的 JS 实现来解析 Wikitext 格式,然后通过解析树或标记流来找到你想要的东西。
一个更 hacky 和脆弱的解决方案是使用正则表达式来尝试匹配那里的文本。例如。你可能会做类似 Career total\s(.+?)\}
的事情,然后以某种方式用数字解析位。