xmlRoot не возвращает допустимый элемент при анализе html-документа с использованием пакета XML в R

Я хочу проанализировать html, чтобы вытащить определенные фрагменты с помощью xpathSApply, но вызов xmlRoot возвращает элемент, имя которого является текстом всего документа:

> url <- "http://www.achaea.com/game/who"
> doc <- htmlParse(url)
> top <- xmlRoot(doc)
> xmlName(top)

Который отображает весь HTML-документ для «имени», а не для имени корневого элемента. Может ли кто-нибудь сказать мне, в чем причина такого поведения? Я хочу иметь возможность вытащить отдельные имена в hrefs «почести».


person gregbowman    schedule 13.04.2014    source источник
comment
Спасибо, Рэнди, вы правы, я вышел из RStudio, снова запустил его и получил ваши результаты. Похоже, у меня было какое-то взаимодействие с ранее выполненным кодом. Я должен был использовать rm на документе, чтобы иметь чистый лист. Это решает мою проблему.   -  person gregbowman    schedule 13.04.2014
comment
Я подумал, что неправильно понял ваш вопрос, и удалил комментарий ... в любом случае, посмотрите, даст ли мой ответ то, что вы хотите.   -  person Randy Lai    schedule 13.04.2014
comment
Пожалуйста, рассмотрите возможность удаления вопроса, так как это не было проблемой.   -  person hrbrmstr    schedule 13.04.2014


Ответы (1)


Пытаться

xpathSApply(top, "//div[@id='content']//a", xmlValue)

Если вы хотите ссылки

xpathSApply(top, "//div[@id='content']//a", xmlAttrs, "href")
person Randy Lai    schedule 13.04.2014