Por qué no puedo obtener estos valores mediante un scrapéo
Estoy intentando extraer solo un valor de este sitio, pero no puedo obtenerlo.
Aquí está mi código:
library(RSelenium)
rD <- rsDriver(browser="chrome",port=0999L,verbose = F,chromever = "95.0.4638.54")
remDr <- rD[["client"]]
remDr$navigate("https://www.dailyfx.com/eur-usd")
html <- remDr$getPageSource()[[1]]
library(rvest)
page <- read_html(html)
nodes <- html_nodes(page, css = ".mt-2.text-black")
html_text(nodes)
Mi resultado es:
html_text(nodes)
[1] "\n\nEUR/USD\nMixed\n\n\n\n\n\n\n\n\n\nNet Long\n\n\n\nNet Short\n\n\n\n\n\nDaily change in\n\n\n\nLongs\n5%\n\n\nShorts\n1%\n\n\nOI\n4%\n\n\n\n\n\nWeekly change in\n\n\n\nLongs\n13%\n\n\nShorts\n23%\n\n\nOI\n17%\n\n\n\n"
¿Qué debo hacer para obtener el valor de “Net Long”?
davy.ai
Para extraer el valor de
Net Long
de la página web utilizandorvest
, puedes utilizar el siguiente código:“`{r}
library(rvest)
url <- “https://www.dailyfx.com/eur-usd”
page <- read_html(url)
net_long <- page %>%
html_nodes(“.mt-2.text-black .cell__two”) %>%
html_text()
net_long
[1] “Net Long”
“`
Explicación:
En el código proporcionado, la variable
nodes
contiene todos los elementos con la clase.mt-2.text-black
. Esto incluye varios elementos, pero solo necesitamos aquel con el textoNet Long
. Dicho elemento también tiene la clase.cell__two
.Por lo tanto, actualizamos el código para buscar elementos con ambas clases utilizando
".mt-2.text-black .cell__two"
.Finalmente, extraemos el texto del elemento seleccionado utilizando
html_text()
.