#stahovani seznamu ministru z webu vlady URL <- "https://www.vlada.cz/cz/clenove-vlady/historie-minulych-vlad/prehled-vlad-cr/1993-2007-cr/" #potom je nutne nacist stranku do R, stranky jsou v html jazyce, proto pouzivame prikaz read_html vlada_cz <- read_html(URL) #read_html(linky_ok[i], ssl.verifyhost = 0L, ssl.verifypeer = 0L, .encoding="iso-8859-2") linky <- vlada_cz %>% html_nodes(xpath = '//*[@id="content"]/div[1]/ul/li/a') %>% html_attr("href") linky <- linky[1:15] linky <- as.data.frame(linky) linky$link_ok <- paste( "https://www.vlada.cz", linky$linky, sep="") library(stringr) nasekany_link <- data.frame(do.call('rbind', strsplit(as.character(linky$jmeno),'/',fixed=TRUE))) jmeno <- nasekany_link[,7] jmeno <- as.data.frame(jmeno) URL <- linky$link_ok[1] pg <- read_html(URL) linky_ministri <- as.data.frame(pg %>% html_nodes(css = "div.content-main > div > div.col.mergecols-2.detail > p > a") %>% html_attr("href")) for(i in 1:5){ URL <- linky$link_ok[i] pg <- read_html(URL) linky_ministri <- as.data.frame(pg %>% html_nodes(css = "div.content-main > div > div.col.mergecols-2.detail > p > a") %>% html_attr("href")) colnames(linky_ministri) <- "linky_ministri" filename <- paste("C:\\Users\\petrh\\Documents\\politologie\\vyuka\\datamanagment\\stahovani\\linky", jmeno$jmeno[i], '.csv', sep="") ## pred stahovanim je nutne si zalozit slozku, kam se budou soubory stahovat, cesta ke slozce musi byt soucasti jmena stahovaneho souboru write.csv(linky_ministri, row.names= FALSE, file=filename) #tabulku ulozime } URL <- linky$link_ok[6] pg <- read_html(URL) linky_ministri <- as.data.frame(pg %>% html_nodes(css = "div.content-main > div > div.col.mergecols-2 > div > p > a") %>% html_attr("href")) colnames(linky_ministri) <- "linky_ministri" filename <- paste("C:\\Users\\petrh\\Documents\\politologie\\vyuka\\datamanagment\\stahovani\\linky", jmeno$jmeno[6], '.csv', sep="") ## pred stahovanim je nutne si zalozit slozku, kam se budou soubory stahovat, cesta ke slozce musi byt soucasti jmena stahovaneho souboru write.csv(linky_ministri, row.names= FALSE, file=filename) #tabulku ulozime for(i in 7:12){ URL <- linky$link_ok[i] pg <- read_html(URL) linky_ministri <- as.data.frame(pg %>% html_nodes(css = "div.content-main > div > div.col.mergecols-2 > div > a") %>% html_attr("href")) colnames(linky_ministri) <- "linky_ministri" filename <- paste("C:\\Users\\petrh\\Documents\\politologie\\vyuka\\datamanagment\\stahovani\\linky", jmeno$jmeno[i], '.csv', sep="") ## pred stahovanim je nutne si zalozit slozku, kam se budou soubory stahovat, cesta ke slozce musi byt soucasti jmena stahovaneho souboru write.csv(linky_ministri, row.names= FALSE, file=filename) #tabulku ulozime } jmeno <- jmeno[1:12,] jmeno <- as.data.frame(jmeno) soubory <- paste("C:\\Users\\petrh\\Documents\\politologie\\vyuka\\datamanagment\\stahovani\\linky", jmeno$jmeno, '.csv', sep="") vsechny_linky <- do.call(`rbind`,lapply(soubory, read.table, header=T)) vsechny_linky$linky_ministri <- gsub("https://www.vlada.cz", "", vsechny_linky$linky_ministri) vsechny_linky$linky_ministri <- gsub("http://www.vlada.cz", "", vsechny_linky$linky_ministri) vsechny_linky$linky_ministri <- gsub("http://vlada.cz", "", vsechny_linky$linky_ministri) head(vsechny_linky$linky_ministri) vsechny_linky$ministri <- paste("https://www.vlada.cz/", vsechny_linky$linky_ministri, sep="") jmeno <- NA ve_funkci <- NA narozeni <- NA vzdelani <- NA profesni <- NA jazyky <- NA kontakty <- NA for(i in 1:30){ URL <- vsechny_linky$ministri[i] pg <- read_html(URL) jmeno[i] <- pg %>% html_nodes(xpath = '//*[@id="content"]/div[1]/h1') %>% html_text() ve_funkci[i] <- pg %>% html_nodes(xpath = '//*[@id="content"]/div[1]/div/div[2]/div/p[1]') %>% html_text() narozeni[i] <- pg %>% html_nodes(xpath = '//*[@id="content"]/div[1]/div/div[2]/div/p[2]') %>% html_text() vzdelani[i] <- pg %>% html_nodes(xpath = '//*[@id="content"]/div[1]/div/div[2]/div/p[3]') %>% html_text() profesni[i] <- pg %>% html_nodes(xpath = '//*[@id="content"]/div[1]/div/div[2]/div/p[4]') %>% html_text() jazyky[i] <- pg %>% html_nodes(xpath = '//*[@id="content"]/div[1]/div/div[2]/div/p[5]') %>% html_text() skip_to_next <- FALSE tryCatch(kontakty[i] <- pg %>% html_nodes(xpath = '//*[@id="content"]/div[1]/div/div[2]/div/p[6]') %>% html_text(), error = function(e) { skip_to_next <<- TRUE}) if(skip_to_next) { kontakty[i] ==1 } }