Как распознать формат данных - выскабливание в R

Я пытаюсь использовать R для получения данных из открытого источника данных в Нидерландах. Источник здесь.

Когда вы открываете это в браузере (по крайней мере, Chrome), оно представляется в виде XML-кода. Поэтому я подумал, что могу использовать пакет RCurl для его анализа, а затем использовать XPath для извлечения конкретных узлов, которые я ищу.

Однако при попытке разобрать его я сталкиваюсь с проблемами. Это не похоже на прямой XML, но в нем есть JSON.

Как я могу легко извлечь информацию из источника данных? Не ищите полное решение, просто руководство в правильном направлении.

Если я попробую:

url <- "http://www.kiesbeter.nl/open-data/api/care/careproviders/?apikey=18a2b2b0-d232-4f48-8d10-5fc10ff04b17"
html <- getURL(url)
doc <- htmlParse(html,asText = TRUE)

Кажется, что документ все еще в каком-то формате JSON. Я не могу использовать getNodeSet(doc, "//careproviders"), Однако, если я сначала использую fromJSON, я получаю его в неудобном формате списка.

Таким образом, вопрос заключается в том, как я могу обработать эти данные, чтобы я мог легко получить информацию из этого набора данных (например, все поставщики медицинских услуг). И как мне узнать, в каком формате находятся данные?

2 ответа

Решение

Использование

html <- getURL(url, httpheader = c(Accept = "text/xml"))

с указанным типом контента, чтобы получить XML с curl.

Небольшое уточнение. Служба предоставляет форматы данных XML и JSON, по умолчанию используется JSON. Ваш браузер отправляет text/xml (среди прочих) в Accept заголовок с запросом, поэтому сервис возвращает XML. Curl (по умолчанию) ничего не отправляет, поэтому сервис возвращает формат JSON, который является типом по умолчанию.

Документ в формате JSON.

library(rjson)
library(RCurl)
ll <- fromJSON(getURL(url))

json формат более удобен и быстрее, чем XML, для анализа списка. Например:

ll$careproviders$careprovider[[1]]
$id
[1] "1"

$friendly_name
[1] "ziekenhuizen"

$name
[1] "Ziekenhuizen"

$CareProviderCategoryId
[1] "8"
Другие вопросы по тегам