Directorio de los miembros de las entidades del estado

estado.peruano <- 
  rvest::read_html('https://www.gob.pe/estado') %>% 
  rvest::html_nodes('.power-card') %>% 
  rvest::html_attr('href')

# Numero de entidades (Sin considerar gobiernos locales)
n.entidades <- length(estado.peruano)-1

BD.Final.miembros <- NULL
estado.miembros <- NULL
for (i in 1:n.entidades) {
  
  i.entidad <- estado.peruano[i]
  
  i.ent.participantes <- 
    paste0('https://www.gob.pe', i.entidad) %>% 
    rvest::read_html() %>% 
    rvest::html_nodes('p') %>% 
    rvest::html_nodes('a') %>% 
    rvest::html_attr('href')
  
  estado.miembros[[i.entidad]] <- i.ent.participantes
  i.n.participantes <- length(i.ent.participantes)
  
  for (j in 1:i.n.participantes) {
    
    j.participante <- i.ent.participantes[j]
    
    miembros <- NULL
    for (k in 1:100) {
      
      try(
        
        k.miembros <- 
          paste0('https://www.gob.pe/institucion', j.participante, '/funcionarios?sheet=', k) %>% 
          rvest::read_html() %>% 
          rvest::html_elements('h3') %>% 
          rvest::html_text2()
         
      )
      
      if (length(k.miembros) != 0) {
        
        miembros[[paste('pagina', k)]] <- k.miembros
        
      } else break
      
    }
    
    BD.miembros <- 
      miembros %>% 
      unlist %>% 
      tidyr::as_tibble()
  
    Nombres <- BD.miembros %>% dplyr::filter(dplyr::row_number() %% 2 != 0)
    Cargos <- BD.miembros %>% dplyr::filter(dplyr::row_number() %% 2 == 0)
    
    union <- 
      dplyr::bind_cols(Nombres, Cargos) %>% 
      setNames(., c('Nombre', 'Cargo')) %>% 
      dplyr::mutate(Entidad = i.entidad, Participante_entidad = j.participante) %>% 
      dplyr::select(Entidad, Participante_entidad, dplyr::everything())
    
    BD.Final.miembros <- 
      BD.Final.miembros %>% 
      dplyr::bind_rows( union )
    
  }
  
  
}
## Error in open.connection(x, "rb") : HTTP error 404.
BD.Final.miembros %>%
  DT::datatable(
    extensions = 'Buttons',
    rownames = F,
    filter = 'top',
    caption = 'Miembros del estado peruano',
    options = list(dom = 'Bfrtip',
                   buttons = list('excel', "csv")))

Administrativos: Portal de transparencia

pages02 <- NULL
for (i in 1:300) {
  
  i.page <- 
    paste0('https://www.transparencia.gob.pe/personal/pte_presentar_administradores.aspx?id_entidad=', i) %>% 
    xml2::read_html() %>% 
    rvest::html_table(header = T) %>% 
    .[[1]]
  
  if (ncol(i.page) == 1) {
    next
  }
  
  pages02[[paste(i)]] <- 
    i.page %>% 
    dplyr::select(!is.logical)
  
}

pages02 <- lapply(X = pages02, FUN = function(x){x[, 4] <- as.character(x[, 4]); x})

Transp_BD02 <- bind_rows(pages02)

Transp_BD02 %>%
  DT::datatable(
    extensions = 'Buttons', 
    filter = 'top',
    rownames = F, 
    caption = 'Portal de transparencia', 
    options = list(dom = 'Bfrtip', 
                   buttons = list('excel', "csv")))
LS0tDQp0aXRsZTogIkJhc2VzIEVudGlkYWRlcyBkZWwgRXN0YWRvIg0KYXV0aG9yOiAiQ2FybG8gVmVnYSINCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkICVCLCAlWScpYCINCm91dHB1dDogDQogICAgaHRtbF9kb2N1bWVudDoNCiAgICAgICAgZGZfcHJpbnQ6IHBhZ2VkDQogICAgICAgIHRvYzogdHJ1ZQ0KICAgICAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgICAgIGNvZGVfZm9sZGluZzogImhpZGUiDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFQsIG1lc3NhZ2UgPSBGLCBlcnJvciA9IEYsIHdhcm5pbmcgPSBGKQ0KYGBgDQoNCmBgYHtyIGluY2x1ZGU9RkFMU0V9DQoNCiMgTGlicmVyaWFzDQppZiAoIXJlcXVpcmUoInBhY21hbiIpKSBpbnN0YWxsLnBhY2thZ2VzKCJwYWNtYW4iKTsgbGlicmFyeShwYWNtYW4pDQpwX2xvYWQocnZlc3QsIHRpZHl2ZXJzZSwgRFQsIHhtbDIpDQoNCmBgYA0KDQojIyBEaXJlY3RvcmlvIGRlIGxvcyBtaWVtYnJvcyBkZSBsYXMgZW50aWRhZGVzIGRlbCBlc3RhZG8NCg0KKiBFbiBlc3RhIFtwcmltZXJhIGJhc2VdKGh0dHBzOi8vd3d3LmdvYi5wZS9lc3RhZG8vKSBzZSBwcmVzZW50YW4gYSB0b2RvcyBsb3MgbWllbWJyb3MgcXVlIHBlcnRlbmVjZW4gYSBsYXMgZGlzdGludGFzIGVudGlkYWRlcyBkZWwgZXN0YWRvLg0KICArIEZ1ZW50ZTogKmh0dHBzOi8vd3d3LmdvYi5wZS9lc3RhZG8vKi4NCiAgKyBRdWVkYSBwZW5kaWVudGUgc3VtYXIgbG9zIG1pZW1icm9zIGRlIGxhcyBlbnRpZGFkZXMgZGUgbG9zIGdvYmllcm5vcyBsb2NhbGVzLg0KDQpgYGB7ciBFbnRpZGFkZXNfZXN0YWRvX3BlcnVhbm8sIGNhY2hlPVR9DQoNCmVzdGFkby5wZXJ1YW5vIDwtIA0KICBydmVzdDo6cmVhZF9odG1sKCdodHRwczovL3d3dy5nb2IucGUvZXN0YWRvJykgJT4lIA0KICBydmVzdDo6aHRtbF9ub2RlcygnLnBvd2VyLWNhcmQnKSAlPiUgDQogIHJ2ZXN0OjpodG1sX2F0dHIoJ2hyZWYnKQ0KDQojIE51bWVybyBkZSBlbnRpZGFkZXMgKFNpbiBjb25zaWRlcmFyIGdvYmllcm5vcyBsb2NhbGVzKQ0Kbi5lbnRpZGFkZXMgPC0gbGVuZ3RoKGVzdGFkby5wZXJ1YW5vKS0xDQoNCkJELkZpbmFsLm1pZW1icm9zIDwtIE5VTEwNCmVzdGFkby5taWVtYnJvcyA8LSBOVUxMDQpmb3IgKGkgaW4gMTpuLmVudGlkYWRlcykgew0KICANCiAgaS5lbnRpZGFkIDwtIGVzdGFkby5wZXJ1YW5vW2ldDQogIA0KICBpLmVudC5wYXJ0aWNpcGFudGVzIDwtIA0KICAgIHBhc3RlMCgnaHR0cHM6Ly93d3cuZ29iLnBlJywgaS5lbnRpZGFkKSAlPiUgDQogICAgcnZlc3Q6OnJlYWRfaHRtbCgpICU+JSANCiAgICBydmVzdDo6aHRtbF9ub2RlcygncCcpICU+JSANCiAgICBydmVzdDo6aHRtbF9ub2RlcygnYScpICU+JSANCiAgICBydmVzdDo6aHRtbF9hdHRyKCdocmVmJykNCiAgDQogIGVzdGFkby5taWVtYnJvc1tbaS5lbnRpZGFkXV0gPC0gaS5lbnQucGFydGljaXBhbnRlcw0KICBpLm4ucGFydGljaXBhbnRlcyA8LSBsZW5ndGgoaS5lbnQucGFydGljaXBhbnRlcykNCiAgDQogIGZvciAoaiBpbiAxOmkubi5wYXJ0aWNpcGFudGVzKSB7DQogICAgDQogICAgai5wYXJ0aWNpcGFudGUgPC0gaS5lbnQucGFydGljaXBhbnRlc1tqXQ0KICAgIA0KICAgIG1pZW1icm9zIDwtIE5VTEwNCiAgICBmb3IgKGsgaW4gMToxMDApIHsNCiAgICAgIA0KICAgICAgdHJ5KA0KICAgICAgICANCiAgICAgICAgay5taWVtYnJvcyA8LSANCiAgICAgICAgICBwYXN0ZTAoJ2h0dHBzOi8vd3d3LmdvYi5wZS9pbnN0aXR1Y2lvbicsIGoucGFydGljaXBhbnRlLCAnL2Z1bmNpb25hcmlvcz9zaGVldD0nLCBrKSAlPiUgDQogICAgICAgICAgcnZlc3Q6OnJlYWRfaHRtbCgpICU+JSANCiAgICAgICAgICBydmVzdDo6aHRtbF9lbGVtZW50cygnaDMnKSAlPiUgDQogICAgICAgICAgcnZlc3Q6Omh0bWxfdGV4dDIoKQ0KICAgICAgICAgDQogICAgICApDQogICAgICANCiAgICAgIGlmIChsZW5ndGgoay5taWVtYnJvcykgIT0gMCkgew0KICAgICAgICANCiAgICAgICAgbWllbWJyb3NbW3Bhc3RlKCdwYWdpbmEnLCBrKV1dIDwtIGsubWllbWJyb3MNCiAgICAgICAgDQogICAgICB9IGVsc2UgYnJlYWsNCiAgICAgIA0KICAgIH0NCiAgICANCiAgICBCRC5taWVtYnJvcyA8LSANCiAgICAgIG1pZW1icm9zICU+JSANCiAgICAgIHVubGlzdCAlPiUgDQogICAgICB0aWR5cjo6YXNfdGliYmxlKCkNCiAgDQogICAgTm9tYnJlcyA8LSBCRC5taWVtYnJvcyAlPiUgZHBseXI6OmZpbHRlcihkcGx5cjo6cm93X251bWJlcigpICUlIDIgIT0gMCkNCiAgICBDYXJnb3MgPC0gQkQubWllbWJyb3MgJT4lIGRwbHlyOjpmaWx0ZXIoZHBseXI6OnJvd19udW1iZXIoKSAlJSAyID09IDApDQogICAgDQogICAgdW5pb24gPC0gDQogICAgICBkcGx5cjo6YmluZF9jb2xzKE5vbWJyZXMsIENhcmdvcykgJT4lIA0KICAgICAgc2V0TmFtZXMoLiwgYygnTm9tYnJlJywgJ0NhcmdvJykpICU+JSANCiAgICAgIGRwbHlyOjptdXRhdGUoRW50aWRhZCA9IGkuZW50aWRhZCwgUGFydGljaXBhbnRlX2VudGlkYWQgPSBqLnBhcnRpY2lwYW50ZSkgJT4lIA0KICAgICAgZHBseXI6OnNlbGVjdChFbnRpZGFkLCBQYXJ0aWNpcGFudGVfZW50aWRhZCwgZHBseXI6OmV2ZXJ5dGhpbmcoKSkNCiAgICANCiAgICBCRC5GaW5hbC5taWVtYnJvcyA8LSANCiAgICAgIEJELkZpbmFsLm1pZW1icm9zICU+JSANCiAgICAgIGRwbHlyOjpiaW5kX3Jvd3MoIHVuaW9uICkNCiAgICANCiAgfQ0KICANCiAgDQp9DQoNCkJELkZpbmFsLm1pZW1icm9zICU+JQ0KICBEVDo6ZGF0YXRhYmxlKA0KICAgIGV4dGVuc2lvbnMgPSAnQnV0dG9ucycsDQogICAgcm93bmFtZXMgPSBGLA0KICAgIGZpbHRlciA9ICd0b3AnLA0KICAgIGNhcHRpb24gPSAnTWllbWJyb3MgZGVsIGVzdGFkbyBwZXJ1YW5vJywNCiAgICBvcHRpb25zID0gbGlzdChkb20gPSAnQmZydGlwJywNCiAgICAgICAgICAgICAgICAgICBidXR0b25zID0gbGlzdCgnZXhjZWwnLCAiY3N2IikpKQ0KDQpgYGANCg0KIyMgQWRtaW5pc3RyYXRpdm9zOiBQb3J0YWwgZGUgdHJhbnNwYXJlbmNpYQ0KDQoqIEVuIGVzdGEgW3NlZ3VuZGEgYmFzZV0oaHR0cHM6Ly93d3cudHJhbnNwYXJlbmNpYS5nb2IucGUvcGVyc29uYWwvcHRlX3ByZXNlbnRhcl9hZG1pbmlzdHJhZG9yZXMuYXNweD9pZF9lbnRpZGFkPTE0NCkgc2UgcHJlc2VudGEgYSB0b2RhcyBsYXMgcGVyc29uYXMgcXVlIGFkbWluaXN0cmFuIHkgcHJvcG9yY2lvbmFuIGxhIGluZm9ybWFjaW9uIGVuIGVsIHBvcnRhbCBkZSB0cmFuc3BhcmVuY2lhLg0KICArIEZ1ZW50ZTogKmh0dHBzOi8vd3d3LnRyYW5zcGFyZW5jaWEuZ29iLnBlL3BlcnNvbmFsL3B0ZV9wcmVzZW50YXJfYWRtaW5pc3RyYWRvcmVzLmFzcHg/aWRfZW50aWRhZD0xNDQqDQogIA0KYGBge3IgUG9ydGFsIGRlIFRyYW5zcGFyZW5jaWEsIGNhY2hlPVR9DQoNCnBhZ2VzMDIgPC0gTlVMTA0KZm9yIChpIGluIDE6MzAwKSB7DQogIA0KICBpLnBhZ2UgPC0gDQogICAgcGFzdGUwKCdodHRwczovL3d3dy50cmFuc3BhcmVuY2lhLmdvYi5wZS9wZXJzb25hbC9wdGVfcHJlc2VudGFyX2FkbWluaXN0cmFkb3Jlcy5hc3B4P2lkX2VudGlkYWQ9JywgaSkgJT4lIA0KICAgIHhtbDI6OnJlYWRfaHRtbCgpICU+JSANCiAgICBydmVzdDo6aHRtbF90YWJsZShoZWFkZXIgPSBUKSAlPiUgDQogICAgLltbMV1dDQogIA0KICBpZiAobmNvbChpLnBhZ2UpID09IDEpIHsNCiAgICBuZXh0DQogIH0NCiAgDQogIHBhZ2VzMDJbW3Bhc3RlKGkpXV0gPC0gDQogICAgaS5wYWdlICU+JSANCiAgICBkcGx5cjo6c2VsZWN0KCFpcy5sb2dpY2FsKQ0KICANCn0NCg0KcGFnZXMwMiA8LSBsYXBwbHkoWCA9IHBhZ2VzMDIsIEZVTiA9IGZ1bmN0aW9uKHgpe3hbLCA0XSA8LSBhcy5jaGFyYWN0ZXIoeFssIDRdKTsgeH0pDQoNClRyYW5zcF9CRDAyIDwtIGJpbmRfcm93cyhwYWdlczAyKQ0KDQpUcmFuc3BfQkQwMiAlPiUNCiAgRFQ6OmRhdGF0YWJsZSgNCiAgICBleHRlbnNpb25zID0gJ0J1dHRvbnMnLCANCiAgICBmaWx0ZXIgPSAndG9wJywNCiAgICByb3duYW1lcyA9IEYsIA0KICAgIGNhcHRpb24gPSAnUG9ydGFsIGRlIHRyYW5zcGFyZW5jaWEnLCANCiAgICBvcHRpb25zID0gbGlzdChkb20gPSAnQmZydGlwJywgDQogICAgICAgICAgICAgICAgICAgYnV0dG9ucyA9IGxpc3QoJ2V4Y2VsJywgImNzdiIpKSkNCg0KYGBgDQoNCg0K