Я пытаюсь разобрать эту веб-страницу в кадр данных, но продолжаю застревать, используя пакет XML, которому говорят, что это не XML.
Я хотел бы взять приведенный ниже текст и преобразовать его в таблицу/data.frame - как проще всего это сделать после того, как я взял текст URL-адреса и htmlParsed его?
URL-адрес возвращает JSON. Вы можете разобрать его, используя несколько пакетов R RJSONIO, rjson и jsonlite:
library(jsonlite)
appURL <- "http://m.racingpost.com/card/blocks.sd?race_id=first&r_date=2015-03-28&tab=card&view=meetings&blocks=cards-list&_=1427439140572"
appDATA <- fromJSON(appURL)
appITEMS <- appDATA[["cards-list"]][["items"]]
> appITEMS$c1083
$abandonedCount
[1] 0
$crsName
[1] "Chelmsford (AW)"
$crsAbbr
[1] "Cfd"
$isForeign
[1] ""
$races
id title distance cls crsId time date
1 620151 Buy Online At chelmsfordcityracecourse.com Maiden Stakes 1m 4 1083 2:20 2015-03-28
2 620152 Dubai World Cup toteplacepot Today Maiden Stakes (Plus 10 Race) 5f 4 1083 2:55 2015-03-28
3 620153 £1 Million totescoop6 Handicap 5f 2 1083 3:30 2015-03-28
4 620154 toteexacta Pick The 1,2 Handicap 6f 4 1083 4:05 2015-03-28
5 620155 totetrifecta Pick The 1,2,3 Handicap (Bobis Race) 1m 3 1083 4:40 2015-03-28
6 620156 totepool Handicap 1m2f 2 1083 5:15 2015-03-28
7 620157 Madness Live 3rd June Handicap 1m2f 4 1083 5:50 2015-03-28
timestamp raceGroup hCount abandoned videoId going offers
1 1427552400 8 57049 Standard NULL
2 1427554500 5 57050 Standard NULL
3 1427556600 Handicap 12 57051 Standard NULL
4 1427558700 Handicap 7 57052 Standard NULL
5 1427560800 Handicap 8 57053 Standard NULL
6 1427562900 Handicap 7 57054 Standard NULL
7 1427565000 Handicap 6 57055 Standard NULL
Данные не возвращаются в табличном формате, но вы можете работать с отдельными «элементами» в соответствии со своими потребностями. Пакет jsonlite также возвращает соответствующие табличные структуры.
personjdharrisonschedule28.03.2015
comment
Это выглядит великолепно, но когда я это делаю, я получаю эту ошибку:
- personTammboy; 29.03.2015
comment
Ошибка в feed_push_parser(buf): лексическая ошибка: недопустимый символ в тексте json. ‹html›‹head›‹title›Запрос Reje (прямо здесь) ------^
- personTammboy; 29.03.2015
comment
Когда я установил пакет curl, он сказал мне, что это для более ранней версии r - в этом разница?
- personTammboy; 29.03.2015
comment
Удалось исправить это, используя getURL, чтобы сначала ввести текст json - похоже, это решило - спасибо
- personTammboy; 29.03.2015