#r #list #web-scraping #geolocation #format
#r #Список #веб-очистка #геолокация #форматировать
Вопрос:
После очистки и анализа данных я получил следующий список:
latitude_list <- xpathSApply(PARSED, "//meta[@itemprop='latitude']")
> lat
[[1]]
<meta content="37.974807" itemprop="latitude"/>
[[2]]
<meta content="37.9830836" itemprop="latitude"/>
[[3]]
<meta content="37.9643196" itemprop="latitude"/>
[[4]]
<meta content="37.974807" itemprop="latitude"/>
Я хочу просто получить номера координат (т.Е. 37.974807, 37.9830836, 37.9643196, 37.974807)
Всякий раз, когда я конвертирую список, чтобы попытаться извлечь то, что я хочу. Я получаю
Например:
> latitude_list <- as.character(latitude_list )
> latitude_list
[1] "<pointer: 0x000000001c4c5e00>" "<pointer: 0x000000001c52b970>" " <pointer: 0x000000001c52bcf0>" "<pointer: 0x000000001c52d570>"
Я понятия не имею, почему я получаю этот текст. Может кто-нибудь, пожалуйста, объяснить, что происходит?
Комментарии:
1. Ну, у вас есть только узлы, а не значения. Возможно, на самом деле запрос
xpathSApply
значений может помочь:xpathSApply(PARSED, "//meta[@itemprop='latitude']", xmlValue)
2. Взгляните на пакет rvest. Функция html_attr должна сделать свое дело.
3. Странно, с
xpathSApply(PARSED, "//meta[@itemprop='latitude']", xmlValue)
I get"" "" "" ""
. @hrbrmstr4.
html_attr
Функция не будет принимать списки. К сожалению, это заставляет меня столкнуться с той же проблемой. @Dave2e5. Используйте
xmlGetAttr, "latitude"
вместо этого. Я упустил из виду тот факт, что вам нужны атрибуты. Но это также явный признак того, что вам следует потратить некоторое время на то, чтобы больше практиковать операции очистки XML / HTML в R и, возможно, даже на то, как структурирован XML. Даже элементарное нажатие на приведенные ниже примерыhelp("xpathSApply")
показало бы вам, как получить нужные данные.