用rvest进行网络搜索。返回为NA

时间:2018-04-24 05:43:11

标签: web-scraping rvest rselenium

我对网络抓取很陌生,我试图从这里链接的五,三十八个网站(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")

1 个答案:

答案 0 :(得分:0)

Rselenium有效,您只需更改最后一行代码即可获得结果。

elem$getElementText()
[[1]]
[1] "$136.5m"

顺便说一句,结果是字符串,因此您需要删除 $ m ,然后您可以将其解析为数字。