我对网络抓取很陌生,我试图从这里链接的五,三十八个网站(https://projects.fivethirtyeight.com/carmelo/kyrie-irving/)中榨取5年的市场价值。这是我从rvest包中运行的代码。
kyrie_irving <-
read_html("https://projects.fivethirtyeight.com/carmelo/kyrie-irving/")
kyrie_irving %>%
html_node(".market-value") %>%
html_text() %>%
as.numeric()
然而输出如下:
> kyrie_irving <-
read_html("https://projects.fivethirtyeight.com/carmelo/kyrie-irving/")
> kyrie_irving %>%
+ html_node(".market-value") %>%
+ html_text() %>%
+ as.numeric()
[1] NA
我只是想知道我在哪里出错?
编辑:我已尝试使用RSelenium执行此操作但仍未获得任何值。我真的迷失了问题所在。这是代码:library(RSelenium)
rD <- rsDriver(port = 4444L, browser = "chrome")
remDr <- rD[["client"]]
remDr$navigate("https://projects.fivethirtyeight.com/carmelo/kyrie-irving/")
elem <- remDr$findElement(using="css selector", value=".market-value")
elemtxt <- elem$getElementAttribute("div")
答案 0 :(得分:0)
Rselenium有效,您只需更改最后一行代码即可获得结果。
elem$getElementText()
[[1]]
[1] "$136.5m"
顺便说一句,结果是字符串,因此您需要删除 $ 和 m ,然后您可以将其解析为数字。