我正在尝试获取href
使用 Xpath 代码的内容,如这两篇 文章中所述。不幸的是,除了 URL 之外,代码还返回了实际的文本“href”和几个空格。我怎样才能避免这种情况?
library(XML)
html <- readLines("http://www.msu.edu")
html.parse <- htmlParse(html)
Node <- getNodeSet(html.parse, "//div[@id='MSU-top-utilities']//a/@href")
Node[[1]]
# > Node[[1]]
# href
# "students/index.html"
# attr(,"class")
# [1] "XMLAttributeValue"
Run Code Online (Sandbox Code Playgroud)
它只是一个命名的字符向量。你可以做:
as.character(Node[[1]])
Run Code Online (Sandbox Code Playgroud)
这会给你
## [1] "students/index.html"
Run Code Online (Sandbox Code Playgroud)
或者,这里有一个更好的成语xml2
:
library(xml2)
doc <- read_html("http://www.msu.edu")
nodes <- xml_find_all(doc, "//div[@id='MSU-top-utilities']//a")
xml_attr(nodes, "href")
## [1] "students/index.html" "faculty-staff/index.html" "alumni/index.html"
## [4] "businesses/index.html" "visitors/index.html"
Run Code Online (Sandbox Code Playgroud)