-
Notifications
You must be signed in to change notification settings - Fork 3
/
02_scraping_senadores.R
77 lines (58 loc) · 2.93 KB
/
02_scraping_senadores.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
library(rvest)
library(purrr)
library(pdftools)
library(stringr)
library(tidyr)
library(tibble)
library(dplyr)
library(stringi)
source("functions.R")
robotstxt::get_robotstxt("https://parlamento.gub.uy")
robotstxt::paths_allowed("https://parlamento.gub.uy/documentosyleyes/documentos/diarios-de-sesion")
#······················
# setup dates
#······················
date_init <- "01-01-2017"
date_end <- "31-07-2019"
#······················
# senadores
#······················
url_senadores <- paste0("https://parlamento.gub.uy/documentosyleyes/documentos/diarios-de-sesion?Cpo_Codigo_2=S&Lgl_Nro=48&DS_Fecha%5Bmin%5D%5Bdate%5D=",
date_init,
"&DS_Fecha%5Bmax%5D%5Bdate%5D=",
date_end,
"&Ssn_Nro=&TS_Diario=&tipoBusqueda=T&Texto=")
# extraigo pdfs
pdf_senadores_pag1 <- extract_pdf(url_senadores, pag = 1)
pdf_senadores_pag2 <- extract_pdf(url_senadores, pag = 2)
pdf_senadores_pag3 <- extract_pdf(url_senadores, pag = 3)
pdf_senadores_pag4 <- extract_pdf(url_senadores, pag = 4)
# junto todos los pdfs
pdf_senadores <- bind_rows(pdf_senadores_pag1, pdf_senadores_pag2,
pdf_senadores_pag3, pdf_senadores_pag4) %>%
distinct() # no hay duplicados como con los diputados, pero por las dudas
# extraigo fechas
pdf_fechas_senadores_pag1 <- extract_metadata(url_senadores, info = "fecha", pag = 1)
pdf_fechas_senadores_pag2 <- extract_metadata(url_senadores, info = "fecha", pag = 2)
pdf_fechas_senadores_pag3 <- extract_metadata(url_senadores, info = "fecha", pag = 3)
pdf_fechas_senadores_pag4 <- extract_metadata(url_senadores, info = "fecha", pag = 4)
# junto todos las fechas y las convierto en un df
pdf_fechas_senadores <- c(pdf_fechas_senadores_pag1, pdf_fechas_senadores_pag2,
pdf_fechas_senadores_pag3, pdf_fechas_senadores_pag4) %>%
tbl_df() %>%
transmute(fecha = as.Date(value, "%d-%m-%Y"))
# extraigo sesiones
pdf_sesion_senadores_pag1 <- extract_metadata(url_senadores, info = "sesion", pag = 1)
pdf_sesion_senadores_pag2 <- extract_metadata(url_senadores, info = "sesion", pag = 2)
pdf_sesion_senadores_pag3 <- extract_metadata(url_senadores, info = "sesion", pag = 3)
pdf_sesion_senadores_pag4 <- extract_metadata(url_senadores, info = "sesion", pag = 4)
# junto todos las sesiones y las convierto en un df
pdf_sesion_senadores <- c(pdf_sesion_senadores_pag1, pdf_sesion_senadores_pag2,
pdf_sesion_senadores_pag3, pdf_sesion_senadores_pag4) %>%
tbl_df() %>%
rename(sesion = value)
# hago un df con todo
pdf_senadores <- bind_cols(pdf_fechas_senadores, pdf_sesion_senadores, pdf_senadores) %>%
unite("fecha_sesion", c(fecha, sesion), remove = FALSE) %>%
distinct() # no hay duplicados como con los diputados, pero por las dudas
# saveRDS(pdf_senadores, "data/pdf_senadores")