Как очистить данные NBA? - PullRequest
1 голос
/ 02 ноября 2019

Я хочу сравнить новичков в лигах со статистикой, такой как Очки за игру (PPG) и тому подобное. В ESPN и NBA есть отличные таблицы (как и справка по баскетболу), но я только что узнал, что они не хранятся в html, поэтому я не могу использовать rvest. Для контекста я пытаюсь очистить таблицы, подобные этой ( из NBA ):

https://i.stack.imgur.com/SdKjE.png

Я пытаюсь научиться использовать HTTR иJSON для этого, но я сталкиваюсь с некоторыми проблемами. Я следовал за ответом в этом посте , но мне это не помогло.

Вот что я пробовал:

library(httr)
library(jsonlite)
coby.white <- GET('https://www.nba.com/players/coby/white/1629632')
out <- content(coby.white, as = "text") %>%
  fromJSON(flatten = FALSE)

Однако я получаюошибка:

Error: lexical error: invalid char in json text.
                                       <!DOCTYPE html><html class="" l
                     (right here) ------^

Есть ли более простой способ очистки таблицы из ESPN или NBA или есть решение этой проблемы?

1 Ответ

0 голосов
/ 02 ноября 2019

ppg и другие статистические данные взяты из]

https://data.nba.net/prod/v1/2019/players/1629632_profile.json

и информации об игроке, например, вес, рост

https://www.nba.com/players/active_players.json

Таким образом, вы можете использовать jsonlite для анализа, например

library(jsonlite)

data <- jsonlite::read_json('https://data.nba.net/prod/v1/2019/players/1629632_profile.json')

Вы можете найти их на вкладке сети при обновлении страницы. Похоже, вы можете использовать идентификатор игрока в URL, чтобы получить информацию о разных игроках в течение сезона.

...