Webscraping

Descarga de datos del Ibex 35 (¿y otros?) minuto a minuto en tiempo (casi) real

El código es library(httr) library(plyr) base.url <- "http://www.infobolsa.es/1/wtdb/ChartIntraday" res <- POST(base.url, body = list(mv = "M SAN", date = "20160518", compressionMult = 1, isSession = 1)) dat <- content(res, as = "parsed", type = "application/json") dat <- dat$answer$LST$TV$T09 dat <- ldply(dat, unlist) Los mutatis mutandis, si alguien tiene la gentileza, en los comentarios.

Cómo capturar datos usados en visualizaciones en la red: una alternativa robusta al scraping

Se me pregunta cómo llegué a los datos con los que armé esta entrada. Recuérdese que gráficos como los que aparecen aquí los pinta tu propio navegador con javascript. De alguna manera, el servidor manda datos a tu navegador y, por lo tanto, de alguna manera, esos datos obran en tu poder. Sólo hay que saber capturarlos. La manera (más bien, una de ellas): Abre la página con Chrome Abre Chrome DevTools (con control-mayúscula-c en algunas máquinas o a través de menús (Tools, etc.

Descargar ficheros .gz detrás de HTTPS con R

R
El problema consiste en leer, por ejemplo, [https://stat.ethz.ch/pipermail/r-help-es/2012-August.txt.gz](https://stat.ethz.ch/pipermail/r-help-es/2012-August.txt.gz). Desde Windows, por algún motivo, es sencillo: se puede usar download.file y luego, readLines directamente (porque no sé si sabéis que esta y otras funciones similares saben leer directamente ficheros comprimidos con gzip). En Linux parece algo más complicado: download.file se niega a bajar ficheros usando el protocolo [https](http://en.wikipedia.org/wiki/HTTP_Secure). Lo mejor que he sabido hacer es library(httr) x <- GET("https://stat.ethz.ch/pipermail/r-help-es/2012-August.txt.gz") tmp <- tempfile() writeBin(content(x, "raw"), tmp) res <- readLines(tmp) unlink(tmp) que es feo, feo, feo.

Aventuras de "web scraping": cómo bajarse todo el BOE

R
Rescato aquí para futura o ajena referencia un pedazo de código que utilicé un día para un proyecto que se abortó y que tenía que ver con el análisis del texto del BOE. Reza así: setwd("~/boe/boes") library(RCurl) h = getCurlHandle() for( i in 1:3231){ mi.url <- paste("http://www.boe.es/diario_boe/xml.php?id=BOE-A-2013-", i, sep = "") nom.fich <- paste("2013-A-", formatC(i, width = 6, format = "d", flag = "0"), ".xml", sep = "") res <- getURI(mi.