Necesito un ejemplo de cómo sacar información de este sitio.
Mi pregunta es un poco confusa, pero es porque realmente no sé cómo hacerla más clara en esta etapa..
Si obtengo una respuesta, la renombraré con más precisión.
Soy un principiante completo en el raspado y estoy aprendiendo cómo hacerlo.
Estoy tratando de raspar solo un valor de este sitio
Biblioteca (& quot;rvest & quot;)
url & lt;- & quot; https://www.fxblue.com/market-data/tools/sentiment & quot;
web & lt;- read_html (url)
nodos & lt;- html_nodes (web, & quot;. SentimentValueCaptionLong & quot;)
Obtén
Html_text (nodos)
carácter (0)
Mi próximo intento
Biblioteca (RSelenium)
rD & lt;- rsDriver (browser = & quot; cromo & quot ;, port = 0999L, verborrea = F, chromever = & quot; 95.0.4638.54 & quot;)
remDr & lt;- rD [[: & quot;cliente & quot;]]
remDr $ maxWindowSize ()
remDr $ navigate (& quot; https://www.fxblue.com/market-data/tools/sentiment & quot;)
html & lt;- remDr $ getPageSource () [[1]]
página & lt;- read_html (html)
nodos & lt;- html_nodes (página, & quot;. SentimentValueCaptionLong & quot;)
obtener el mismo
Html_text (nodos)
carácter (0)
¿Puede alguien mostrarme cómo hacerlo correctamente y explicar lo que hizo?
davy.ai
Para raspar un solo valor del sitio web dado, debe identificar el elemento HTML que contiene ese valor y extraer su texto. En este caso, el elemento en el que estamos interesados es el
div
con clase"SentimentValueLong"
.Así es como puede hacerlo usando
rvest
:`{r}
`biblioteca(rvest)
url <- "https://www.fxblue.com/market-data/tools/sentiment"
web <- read_html(url)
nodo <- html_node(web, ".SentimentValueLong")
valor <- html_text(nodo)
valor
Explicación:
rvest
y especificamos la URL que queremos raspar.read_html()
y lo guardamos en el objetoweb
.html_node()
para extraer el primer nodo HTML que coincide con el selector.SentimentValueLong
.html_text()
para extraer el contenido de texto del nododiv
y lo guardamos en la variablevalor
.Si desea utilizar
RSelenium
para raspar el sitio web, puede seguir el mismo enfoque pero automatizar la navegación web utilizando un controlador web. Así es como:`{r}
`biblioteca(RSelenium)
rD <- rsDriver(browser="chrome", verbose = FALSE)
remDr <- rD[["client"]]
remDr$maxWindowSize()
remDr$navegar("https://www.fxblue.com/market-data/tools/sentiment")
Sys.sleep(5) # Espere a que se cargue la página
html <- remDr$getPageSource()[[1]]
página <- read_html(html)
nodo <- html_node(página, ".SentimentValueLong")
valor <- html_text(nodo)
valor
Explicación:
RSelenium
y comenzamos un controlador de Chrome utilizandorsDriver()
.remDr$navegar()
y esperamos unos segundos a que la página se cargue completamente usandoSys.sleep()
.remDr$getPageSource()
y lo guardamos en el objetohtml
.read_html()
y lo guardamos en el objetopágina
.html_node()
, extraemos el primer nodo HTML que coincide con el selector.SentimentValueLong
y lo guardamos en la variablenodo
.div
utilizandohtml_text()
y lo guardamos en la variablevalor
.