R: очищенные данные не будут форматироваться в текст, отображаемый в colsole

#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 "" "" "" "" . @hrbrmstr

4. html_attr Функция не будет принимать списки. К сожалению, это заставляет меня столкнуться с той же проблемой. @Dave2e

5. Используйте xmlGetAttr, "latitude" вместо этого. Я упустил из виду тот факт, что вам нужны атрибуты. Но это также явный признак того, что вам следует потратить некоторое время на то, чтобы больше практиковать операции очистки XML / HTML в R и, возможно, даже на то, как структурирован XML. Даже элементарное нажатие на приведенные ниже примеры help("xpathSApply") показало бы вам, как получить нужные данные.