Как импортировать данные PBP из NFL.com в R - PullRequest
2 голосов
/ 08 февраля 2012

Я пытаюсь импортировать данные из прошлых игр НФЛ в виде таблиц «игра за игрой» и в основном работаю в R, чтобы собрать данные и создать набор данных.

Пример данных, которые мне нужны, находится на этой странице: http://www.nfl.com/gamecenter/2012020500/2011/POST22/giants@patriots#menu=gameinfo&tab=analyze&analyze=playbyplay

Я знаю, что NFL.com использует JSON, и большая часть необходимых данных находится в файлах JSON, прикрепленных к сайту. Мои усилия по извлечению данных из этих файлов с использованием пакета JSON в R были довольно слабыми. Любой совет, который у вас есть, приветствуется.

Буду ли я лучше использовать PHP для обработки данных?

Ответы [ 2 ]

3 голосов
/ 12 февраля 2012

Я не знаю, удалось ли вам уже загрузить файлы JSON в R, но вот пример этого:

library(rjson)
json=fromJSON(file='http://www.nfl.com/liveupdate/game-center/2012020500/2012020500_gtd.json')
json$`2012020500`$home$stats

Если у вас возникли проблемы с поиском URL-адреса файла JSON,используйте Firebug (расширение для Firefox), и вы увидите веб-страницу, запрашивающую файл JSON.

Файл JSON, конечно, огромен и сложен.Но это сложные данные.Все, что вы ищете, должно быть там.Если вы просто ищете прямой дамп воспроизведения по тексту текст , то вы можете использовать этот URL:

http://www.nfl.com/widget/gc/2011/tabs/cat-post-playbyplay?gameId=2012020500

0 голосов
/ 09 февраля 2012

Я более или менее вручную извлек все данные для одной команды за один сезон. Если вы хотите получить данные для многих игр, рассмотрите лигу по электронной почте и попросите файлы, которые вы упомянули. Они публикуют данные, поэтому, возможно, они дадут вам файлы. Представителем НФЛ является Грег Айелло. Я подозреваю, что вы можете найти его адрес электронной почты в Google.

Извините, это не предлагаемое решение для программирования. Если этот ответ не подходит для форума, пожалуйста, удалите его. Это мой первый опубликованный ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...