# Creamos un rango de fechas
años <- rep(2017:2021,12)
meses <- mes <- sort(sprintf("%02d",rep(1:12,5)))
fechas <- sort(paste0(años,meses))
# Generando los links
Estacion_meses <- list()
for (i in fechas) {
Estacion_meses[i] <- paste0("https://www.senamhi.gob.pe/mapas/mapa-estaciones-2/_dato_esta_tipo02.php?CBOFiltro=",i,"&estaciones=112233&t_e=M&estado=AUTOMATICA&cod_old=&cate_esta=EAA&soloAlt=292")
}
# iniciando la descarga y almacenranamiento en masa
# el siguiente código genera una lista de las tablas extraidas
# datos del año 2017 al 2021
villa <- list()
for (i in 1:length(Estacion_meses)) {
villa[[i]]<-html_table(
html_nodes(
read_html(
as.character(Estacion_meses[i])
), "table"
)[2],
header = TRUE,na.strings = "S/D"
)
}
# Combinando todas las tablas descargadas en una sola:
vm <- Reduce(function(...) merge(..., all=TRUE), villa)
colnames(vm) <- c("date1", "hora","temp", "pp","hum","wd","ws")
vm$date <- as.POSIXct(paste(vm$date1,vm$hora,sep = " "), format = "%Y/%m/%d %H:%M")
openxlsx::write.xlsx(vm,"Villa_maría.xlsx")
tail(vm)
## date1 hora temp pp hum wd ws date
## 26150 2021/12/31 18:00 20.7 0 98.1 166.4 1.8 2021-12-31 18:00:00
## 26151 2021/12/31 19:00 19.7 0 99.9 200.5 1.6 2021-12-31 19:00:00
## 26152 2021/12/31 20:00 19.3 0 99.9 172.3 0.9 2021-12-31 20:00:00
## 26153 2021/12/31 21:00 19.0 0 100.0 187.2 0.9 2021-12-31 21:00:00
## 26154 2021/12/31 22:00 19.2 0 100.0 191.5 1.2 2021-12-31 22:00:00
## 26155 2021/12/31 23:00 19.2 0 99.9 169.2 0.6 2021-12-31 23:00:00
windRose(vm, paddle = F, main = "Rosa de vientos de la Estación meteorológica Villa María")
