Как я могу получить заданную выделенную текстовую информацию из этой пары ключ-значение - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь получить общее количество голов и карьеру футболистов с помощью 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"));

}

Я выделил часть информации, которую я хотел бы получить на изображении ниже:

image

1 Ответ

0 голосов
/ 18 июня 2019

Кажется, что это часть текста, которая является частью строки под ключом * в wikitext.

Правильный способ извлечь это - использовать некую JS-реализацию синтаксического анализатора для анализа формата Wikitext, а затем пройти через дерево синтаксического анализа или поток токенов, чтобы найти нужную вещь.

Более хакерское и хрупкое решение - использовать регулярное выражение, чтобы попытаться сопоставить текст там. Например. вы можете сделать что-то вроде Career total\s(.+?)\} и затем как-то разобрать бит с числами.

...