es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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”?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para extraer el valor de Net Long de la página web utilizando rvest, 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


    Esto dará como resultado:

    [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 texto Net 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().

Comments are closed.