Httr

La anticonferencia: una idea que me ronda la cabeza

La anticonferencia me ronda la cabeza.

No es una conferencia, (de ahí el prefijo), aunque se parezca a ella en lo de reunir a un grupillo de gente interesada en un asunto.

No es un jacatón. Los jacatones están, sobre el papel, bien; pero demasiado a menudo su producto se queda ahí, tiene poca (o nula) trayectoria o impacto. ¿Me dejáis que diga que son mayormente intranscendentes?

Pero creo que los de rOpenSci dieron en el clavo con su Unconference. Es una reunión similar a un jacatón, pero con un objetivo claro: desarrollar paquetes y extender el universo de herramientas de rOpenSci.

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.

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.