|
|
|
@@ -30,3 +30,56 @@ fetch_all <- function() { |
|
|
|
offset <- 0 |
|
|
|
while(fetch_batch(offset)) offset <- offset + 10 |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#______________________________________________________________________________ |
|
|
|
|
|
|
|
#Auf diese Weise funktioniert das Programm bei mir, da kein RCurl mehr |
|
|
|
#verwendet wird. Es ist allerdings nicht mehr so schön und die Idee dazu hat |
|
|
|
#mir Daniela gegeben. Im Grunde ist es sehr ähnlich zu dem Live-Blatt L04. |
|
|
|
|
|
|
|
#Das Programm gibt mir eine Liste von allen Protokollen der 19. Wahlperiode |
|
|
|
#zurück (falls man return(all_protocols) entkommentiert). |
|
|
|
|
|
|
|
#Ich verstehe noch nicht so richtig wie man die Protokolle dann abspeichert |
|
|
|
#(die for-Schleife zum Download läuft deswegen noch nicht ganz, sollte aber |
|
|
|
#relativ leicht zum laufen gebracht werden, wenn man weiß, wie die Dateien |
|
|
|
#abzuspeichern sind). |
|
|
|
|
|
|
|
source("../utils/helpers.R") |
|
|
|
source("config.R") |
|
|
|
library(stringr) |
|
|
|
library("xml2") |
|
|
|
library(rvest) |
|
|
|
|
|
|
|
mk_absolute_url <- function(path) paste0("https://www.bundestag.de", path) |
|
|
|
|
|
|
|
mk_url <- function(offset) { |
|
|
|
mk_absolute_url %$% sprintf("/ajax/filterlist/de/services/opendata/543410-543410?offset=%d", |
|
|
|
offset) |
|
|
|
} |
|
|
|
|
|
|
|
read <- function(offset){ |
|
|
|
read_html(mk_url(offset)) |
|
|
|
} |
|
|
|
|
|
|
|
fetch_batch <- function(offset){ |
|
|
|
read(offset) %>% |
|
|
|
html_elements("a") %>% |
|
|
|
html_attr("href") -> |
|
|
|
paths |
|
|
|
protocols <- mk_absolute_url(paths) |
|
|
|
all_protocols <<- c(all_protocols, protocols) |
|
|
|
return(length(paths) > 0) |
|
|
|
} |
|
|
|
|
|
|
|
fetch_all <- function(){ |
|
|
|
all_protocols <<- c() |
|
|
|
offset <- 0 |
|
|
|
while(fetch_batch(offset)) offset <- offset + 10 |
|
|
|
for(i in 1:length(all_protocols)){ |
|
|
|
download.file(all_protocols[i], paste0(DOWNLOAD_DIR, i)) #cannot open destfile '../data/1', reason 'No such file or directory' |
|
|
|
#verstehe noch nicht so richtig unter welchem Pfad ich das abspeichern muss |
|
|
|
} |
|
|
|
# return(all_protocols) |
|
|
|
} |