This R Markdown document contains code developed by Jongwoo Jeong to scrape and download South Africa budget PDFs from Treasury websites that have equipped security-protection features.
library(httr) # For handling HTTP requests
library(rvest) # For web scraping
# Set working directory to specified folder where PDFs will be saved
setwd("/Users/jongwoojeong/Dropbox/0_Georgia State University_Share/Budget_Alex/southafrica")
# Folder to save PDFs; create it if it doesn't already exist
output_folder <- "budget_pdfs"
if (!dir.exists(output_folder)) {
dir.create(output_folder)
}
download_specific_pdf <- function(year) {
url <- paste0("https://www.treasury.gov.za/documents/national%20budget/", year, "/ene/FullENE.pdf")
file_name <- paste0("FullENE_", year, ".pdf")
save_path <- file.path(output_folder, file_name)
tryCatch({
GET(url, write_disk(save_path, overwrite = TRUE))
if (file.info(save_path)$size > 0) {
cat("Downloaded:", file_name, "\n")
} else {
cat("Failed to download or file is empty:", file_name, "\n")
}
}, error = function(e) {
cat("Error downloading:", file_name, "-", e$message, "\n")
})
}
# Loop through years and download PDFs
years <- 2011:2024
for (year in years) {
cat("Downloading PDF for year:", year, "\n")
download_specific_pdf(year)
}
## Downloading PDF for year: 2011
## Downloaded: FullENE_2011.pdf
## Downloading PDF for year: 2012
## Downloaded: FullENE_2012.pdf
## Downloading PDF for year: 2013
## Downloaded: FullENE_2013.pdf
## Downloading PDF for year: 2014
## Downloaded: FullENE_2014.pdf
## Downloading PDF for year: 2015
## Downloaded: FullENE_2015.pdf
## Downloading PDF for year: 2016
## Downloaded: FullENE_2016.pdf
## Downloading PDF for year: 2017
## Downloaded: FullENE_2017.pdf
## Downloading PDF for year: 2018
## Downloaded: FullENE_2018.pdf
## Downloading PDF for year: 2019
## Downloaded: FullENE_2019.pdf
## Downloading PDF for year: 2020
## Downloaded: FullENE_2020.pdf
## Downloading PDF for year: 2021
## Downloaded: FullENE_2021.pdf
## Downloading PDF for year: 2022
## Downloaded: FullENE_2022.pdf
## Downloading PDF for year: 2023
## Downloaded: FullENE_2023.pdf
## Downloading PDF for year: 2024
## Downloaded: FullENE_2024.pdf
cat("All downloads completed. PDFs saved in folder:", output_folder, "\n")
## All downloads completed. PDFs saved in folder: budget_pdfs
scrape_and_download_pdfs <- function(year) {
url <- paste0("https://www.treasury.gov.za/documents/national%20budget/", year, "/ene/Default.aspx")
save_folder <- file.path(output_folder, as.character(year))
if (!dir.exists(save_folder)) {
dir.create(save_folder)
}
tryCatch({
cat("Accessing URL for year:", year, "\n")
page <- read_html(url)
pdf_links <- page %>%
html_nodes("a") %>%
html_attr("href") %>%
.[grepl("\\.pdf$", .)]
if (length(pdf_links) == 0) {
cat("No PDF links found for year:", year, "\n")
return()
}
pdf_links <- ifelse(
startsWith(pdf_links, "http"),
pdf_links,
paste0("https://www.treasury.gov.za", pdf_links)
)
for (link in pdf_links) {
file_name <- basename(link)
save_path <- file.path(save_folder, file_name)
tryCatch({
GET(link, write_disk(save_path, overwrite = TRUE))
if (file.info(save_path)$size > 0) {
cat("Downloaded:", file_name, "\n")
} else {
cat("Failed to download or file is empty:", file_name, "\n")
}
}, error = function(e) {
cat("Error downloading:", file_name, "-", e$message, "\n")
})
}
}, error = function(e) {
cat("Error accessing URL for year:", year, "-", e$message, "\n")
})
}
# Loop through years and scrape PDFs
years <- 2001:2010
for (year in years) {
scrape_and_download_pdfs(year)
}
## Accessing URL for year: 2001
## Error downloading: Top%20Structure%20Organisation.pdf - Could not resolve host: www.treasury.gov.za..
## Error downloading: www.treasury.gov.zaforeword.pdf - Could not resolve host: www.treasury.gov.zaforeword.pdf
## Error downloading: www.treasury.gov.zaoverview.pdf - Could not resolve host: www.treasury.gov.zaoverview.pdf
## Error downloading: www.treasury.gov.zavote_01.pdf - Could not resolve host: www.treasury.gov.zavote_01.pdf
## Error downloading: www.treasury.gov.zavote_02.pdf - Could not resolve host: www.treasury.gov.zavote_02.pdf
## Error downloading: www.treasury.gov.zavote_03.pdf - Could not resolve host: www.treasury.gov.zavote_03.pdf
## Error downloading: www.treasury.gov.zavote_04.pdf - Could not resolve host: www.treasury.gov.zavote_04.pdf
## Error downloading: www.treasury.gov.zavote_05.pdf - Could not resolve host: www.treasury.gov.zavote_05.pdf
## Error downloading: www.treasury.gov.zavote_06.pdf - Could not resolve host: www.treasury.gov.zavote_06.pdf
## Error downloading: www.treasury.gov.zavote_07.pdf - Could not resolve host: www.treasury.gov.zavote_07.pdf
## Error downloading: www.treasury.gov.zavote_08.pdf - Could not resolve host: www.treasury.gov.zavote_08.pdf
## Error downloading: www.treasury.gov.zavote_09.pdf - Could not resolve host: www.treasury.gov.zavote_09.pdf
## Error downloading: www.treasury.gov.zavote_10.pdf - Could not resolve host: www.treasury.gov.zavote_10.pdf
## Error downloading: www.treasury.gov.zavote_11.pdf - Could not resolve host: www.treasury.gov.zavote_11.pdf
## Error downloading: www.treasury.gov.zavote_12.pdf - Could not resolve host: www.treasury.gov.zavote_12.pdf
## Error downloading: www.treasury.gov.zavote_13.pdf - Could not resolve host: www.treasury.gov.zavote_13.pdf
## Error downloading: www.treasury.gov.zavote_14.pdf - Could not resolve host: www.treasury.gov.zavote_14.pdf
## Error downloading: www.treasury.gov.zavote_15.pdf - Could not resolve host: www.treasury.gov.zavote_15.pdf
## Error downloading: www.treasury.gov.zavote_16.pdf - Could not resolve host: www.treasury.gov.zavote_16.pdf
## Error downloading: www.treasury.gov.zavote_17.pdf - Could not resolve host: www.treasury.gov.zavote_17.pdf
## Error downloading: www.treasury.gov.zavote_18.pdf - Could not resolve host: www.treasury.gov.zavote_18.pdf
## Error downloading: www.treasury.gov.zavote_19.pdf - Could not resolve host: www.treasury.gov.zavote_19.pdf
## Error downloading: www.treasury.gov.zavote_20.pdf - Could not resolve host: www.treasury.gov.zavote_20.pdf
## Error downloading: www.treasury.gov.zavote_21.pdf - Could not resolve host: www.treasury.gov.zavote_21.pdf
## Error downloading: www.treasury.gov.zavote_22.pdf - Could not resolve host: www.treasury.gov.zavote_22.pdf
## Error downloading: www.treasury.gov.zavote_23.pdf - Could not resolve host: www.treasury.gov.zavote_23.pdf
## Error downloading: www.treasury.gov.zavote_24.pdf - Could not resolve host: www.treasury.gov.zavote_24.pdf
## Error downloading: www.treasury.gov.zavote_25.pdf - Could not resolve host: www.treasury.gov.zavote_25.pdf
## Error downloading: www.treasury.gov.zavote_26.pdf - Could not resolve host: www.treasury.gov.zavote_26.pdf
## Error downloading: www.treasury.gov.zavote_27.pdf - Could not resolve host: www.treasury.gov.zavote_27.pdf
## Error downloading: www.treasury.gov.zavote_28.pdf - Could not resolve host: www.treasury.gov.zavote_28.pdf
## Error downloading: www.treasury.gov.zavote_29.pdf - Could not resolve host: www.treasury.gov.zavote_29.pdf
## Error downloading: www.treasury.gov.zavote_30.pdf - Could not resolve host: www.treasury.gov.zavote_30.pdf
## Error downloading: www.treasury.gov.zavote_31.pdf - Could not resolve host: www.treasury.gov.zavote_31.pdf
## Error downloading: www.treasury.gov.zavote_32.pdf - Could not resolve host: www.treasury.gov.zavote_32.pdf
## Error downloading: www.treasury.gov.zavote_33.pdf - Could not resolve host: www.treasury.gov.zavote_33.pdf
## Error downloading: Register for Tender Defaulters.pdf - URL rejected: Malformed input to a URL function
## Accessing URL for year: 2002
## Error downloading: Top%20Structure%20Organisation.pdf - Could not resolve host: www.treasury.gov.za..
## Error downloading: www.treasury.gov.zaforeword.pdf - Could not resolve host: www.treasury.gov.zaforeword.pdf
## Error downloading: www.treasury.gov.zaoverview.pdf - Could not resolve host: www.treasury.gov.zaoverview.pdf
## Error downloading: www.treasury.gov.zavote_01.pdf - Could not resolve host: www.treasury.gov.zavote_01.pdf
## Error downloading: www.treasury.gov.zavote_02.pdf - Could not resolve host: www.treasury.gov.zavote_02.pdf
## Error downloading: www.treasury.gov.zavote_03.pdf - Could not resolve host: www.treasury.gov.zavote_03.pdf
## Error downloading: www.treasury.gov.zavote_04.pdf - Could not resolve host: www.treasury.gov.zavote_04.pdf
## Error downloading: www.treasury.gov.zavote_05.pdf - Could not resolve host: www.treasury.gov.zavote_05.pdf
## Error downloading: www.treasury.gov.zavote_06.pdf - Could not resolve host: www.treasury.gov.zavote_06.pdf
## Error downloading: www.treasury.gov.zavote_07.pdf - Could not resolve host: www.treasury.gov.zavote_07.pdf
## Error downloading: www.treasury.gov.zavote_08.pdf - Could not resolve host: www.treasury.gov.zavote_08.pdf
## Error downloading: www.treasury.gov.zavote_09.pdf - Could not resolve host: www.treasury.gov.zavote_09.pdf
## Error downloading: www.treasury.gov.zavote_10.pdf - Could not resolve host: www.treasury.gov.zavote_10.pdf
## Error downloading: www.treasury.gov.zavote_11.pdf - Could not resolve host: www.treasury.gov.zavote_11.pdf
## Error downloading: www.treasury.gov.zavote_12.pdf - Could not resolve host: www.treasury.gov.zavote_12.pdf
## Error downloading: www.treasury.gov.zavote_13.pdf - Could not resolve host: www.treasury.gov.zavote_13.pdf
## Error downloading: www.treasury.gov.zavote_14.pdf - Could not resolve host: www.treasury.gov.zavote_14.pdf
## Error downloading: www.treasury.gov.zavote_15.pdf - Could not resolve host: www.treasury.gov.zavote_15.pdf
## Error downloading: www.treasury.gov.zavote_16.pdf - Could not resolve host: www.treasury.gov.zavote_16.pdf
## Error downloading: www.treasury.gov.zavote_17.pdf - Could not resolve host: www.treasury.gov.zavote_17.pdf
## Error downloading: www.treasury.gov.zavote_18.pdf - Could not resolve host: www.treasury.gov.zavote_18.pdf
## Error downloading: www.treasury.gov.zavote_19.pdf - Could not resolve host: www.treasury.gov.zavote_19.pdf
## Error downloading: www.treasury.gov.zavote_20.pdf - Could not resolve host: www.treasury.gov.zavote_20.pdf
## Error downloading: www.treasury.gov.zavote_21.pdf - Could not resolve host: www.treasury.gov.zavote_21.pdf
## Error downloading: www.treasury.gov.zavote_22.pdf - Could not resolve host: www.treasury.gov.zavote_22.pdf
## Error downloading: www.treasury.gov.zavote_23.pdf - Could not resolve host: www.treasury.gov.zavote_23.pdf
## Error downloading: www.treasury.gov.zavote_24.pdf - Could not resolve host: www.treasury.gov.zavote_24.pdf
## Error downloading: www.treasury.gov.zavote_25.pdf - Could not resolve host: www.treasury.gov.zavote_25.pdf
## Error downloading: www.treasury.gov.zavote_26.pdf - Could not resolve host: www.treasury.gov.zavote_26.pdf
## Error downloading: www.treasury.gov.zavote_27.pdf - Could not resolve host: www.treasury.gov.zavote_27.pdf
## Error downloading: www.treasury.gov.zavote_28.pdf - Could not resolve host: www.treasury.gov.zavote_28.pdf
## Error downloading: www.treasury.gov.zavote_29.pdf - Could not resolve host: www.treasury.gov.zavote_29.pdf
## Error downloading: www.treasury.gov.zavote_30.pdf - Could not resolve host: www.treasury.gov.zavote_30.pdf
## Error downloading: www.treasury.gov.zavote_31.pdf - Could not resolve host: www.treasury.gov.zavote_31.pdf
## Error downloading: www.treasury.gov.zavote_32.pdf - Could not resolve host: www.treasury.gov.zavote_32.pdf
## Error downloading: www.treasury.gov.zavote_33.pdf - Could not resolve host: www.treasury.gov.zavote_33.pdf
## Error downloading: Register for Tender Defaulters.pdf - URL rejected: Malformed input to a URL function
## Accessing URL for year: 2003
## Error downloading: Top%20Structure%20Organisation.pdf - Could not resolve host: www.treasury.gov.za..
## Error downloading: www.treasury.gov.zaforeword.pdf - Could not resolve host: www.treasury.gov.zaforeword.pdf
## Error downloading: www.treasury.gov.zaoverview.pdf - Could not resolve host: www.treasury.gov.zaoverview.pdf
## Error downloading: www.treasury.gov.zavote_01.pdf - Could not resolve host: www.treasury.gov.zavote_01.pdf
## Error downloading: www.treasury.gov.zavote_02.pdf - Could not resolve host: www.treasury.gov.zavote_02.pdf
## Error downloading: www.treasury.gov.zavote_03.pdf - Could not resolve host: www.treasury.gov.zavote_03.pdf
## Error downloading: www.treasury.gov.zavote_04.pdf - Could not resolve host: www.treasury.gov.zavote_04.pdf
## Error downloading: www.treasury.gov.zavote_05.pdf - Could not resolve host: www.treasury.gov.zavote_05.pdf
## Error downloading: www.treasury.gov.zavote_06.pdf - Could not resolve host: www.treasury.gov.zavote_06.pdf
## Error downloading: www.treasury.gov.zavote_07.pdf - Could not resolve host: www.treasury.gov.zavote_07.pdf
## Error downloading: www.treasury.gov.zavote_08.pdf - Could not resolve host: www.treasury.gov.zavote_08.pdf
## Error downloading: www.treasury.gov.zavote_09.pdf - Could not resolve host: www.treasury.gov.zavote_09.pdf
## Error downloading: www.treasury.gov.zavote_10.pdf - Could not resolve host: www.treasury.gov.zavote_10.pdf
## Error downloading: www.treasury.gov.zavote_11.pdf - Could not resolve host: www.treasury.gov.zavote_11.pdf
## Error downloading: www.treasury.gov.zavote_12.pdf - Could not resolve host: www.treasury.gov.zavote_12.pdf
## Error downloading: www.treasury.gov.zavote_13.pdf - Could not resolve host: www.treasury.gov.zavote_13.pdf
## Error downloading: www.treasury.gov.zavote_14.pdf - Could not resolve host: www.treasury.gov.zavote_14.pdf
## Error downloading: www.treasury.gov.zavote_15.pdf - Could not resolve host: www.treasury.gov.zavote_15.pdf
## Error downloading: www.treasury.gov.zavote_16.pdf - Could not resolve host: www.treasury.gov.zavote_16.pdf
## Error downloading: www.treasury.gov.zavote_17.pdf - Could not resolve host: www.treasury.gov.zavote_17.pdf
## Error downloading: www.treasury.gov.zavote_18.pdf - Could not resolve host: www.treasury.gov.zavote_18.pdf
## Error downloading: www.treasury.gov.zavote_19.pdf - Could not resolve host: www.treasury.gov.zavote_19.pdf
## Error downloading: www.treasury.gov.zavote_20.pdf - Could not resolve host: www.treasury.gov.zavote_20.pdf
## Error downloading: www.treasury.gov.zavote_21.pdf - Could not resolve host: www.treasury.gov.zavote_21.pdf
## Error downloading: www.treasury.gov.zavote_22.pdf - Could not resolve host: www.treasury.gov.zavote_22.pdf
## Error downloading: www.treasury.gov.zavote_23.pdf - Could not resolve host: www.treasury.gov.zavote_23.pdf
## Error downloading: www.treasury.gov.zavote_24.pdf - Could not resolve host: www.treasury.gov.zavote_24.pdf
## Error downloading: www.treasury.gov.zavote_25.pdf - Could not resolve host: www.treasury.gov.zavote_25.pdf
## Error downloading: www.treasury.gov.zavote_26.pdf - Could not resolve host: www.treasury.gov.zavote_26.pdf
## Error downloading: www.treasury.gov.zavote_27.pdf - Could not resolve host: www.treasury.gov.zavote_27.pdf
## Error downloading: www.treasury.gov.zavote_28.pdf - Could not resolve host: www.treasury.gov.zavote_28.pdf
## Error downloading: www.treasury.gov.zavote_29.pdf - Could not resolve host: www.treasury.gov.zavote_29.pdf
## Error downloading: www.treasury.gov.zavote_30.pdf - Could not resolve host: www.treasury.gov.zavote_30.pdf
## Error downloading: www.treasury.gov.zavote_31.pdf - Could not resolve host: www.treasury.gov.zavote_31.pdf
## Error downloading: www.treasury.gov.zavote_32.pdf - Could not resolve host: www.treasury.gov.zavote_32.pdf
## Error downloading: www.treasury.gov.zavote_33.pdf - Could not resolve host: www.treasury.gov.zavote_33.pdf
## Error downloading: www.treasury.gov.zavote_34.pdf - Could not resolve host: www.treasury.gov.zavote_34.pdf
## Error downloading: Register for Tender Defaulters.pdf - URL rejected: Malformed input to a URL function
## Accessing URL for year: 2004
## Error downloading: Top%20Structure%20Organisation.pdf - Could not resolve host: www.treasury.gov.za..
## Error downloading: www.treasury.gov.zaTitle pages.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaOverview.pdf - Could not resolve host: www.treasury.gov.zaOverview.pdf
## Error downloading: www.treasury.gov.zaExplanatory notes.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 01 The Presidency.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 02 Parliament.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 03 Foreign Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 04 Home Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 05 Provincial.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 06 Public Works.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 07 Government.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 08 National Treasury.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 09 Public Enterprises.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 10 Public Service Administration.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 11 Public Service Commission.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 12 South African Man.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 13 Statistics South Africa.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 14 Arts and Culture.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 15 Education.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 16 Health.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 17 Labour.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 18 Science and Technology.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 19 Social Development.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 20 Sport and Recreation.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 21 Correctional Services.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 22 Defence.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 23 Independent.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 24 Justice.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 25 Safety and Security.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 26 Agriculture.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 27 Communications.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 28 Environmental.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 29 Housing.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 30 Land Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 31 Minerals and Energy.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 32 Trade and Industry.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 33 Transport.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 34 Water Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaAnnexure A.pdf - URL rejected: Malformed input to a URL function
## Error downloading: Register for Tender Defaulters.pdf - URL rejected: Malformed input to a URL function
## Accessing URL for year: 2005
## Error downloading: Top%20Structure%20Organisation.pdf - Could not resolve host: www.treasury.gov.za..
## Error downloading: www.treasury.gov.zaTitle pages.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaoverview.pdf - Could not resolve host: www.treasury.gov.zaoverview.pdf
## Error downloading: www.treasury.gov.zaExplanatory notes.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 01 The Presidency.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 02 Parliament.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 03 Foreign Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 04 Home Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 05 Provincial.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 06 Public Works.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 07 Government.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 08 National Treasury.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 09 Public Enterprises.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 10 Public Service Administration.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 11 Public Service Commission.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 12 South African Man.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 13 Statistics South Africa.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 14 Arts and Culture.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 15 Education.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 16 Health.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 17 Labour.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 18 Social Development.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 19 Sport and Recreation.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 20 Correctional Services.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 21 Defence.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 22 Independent.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 23 Justice.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 24 Safety and Security.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 25 Agriculture.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 26 Communications.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 27 Environmental.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 28 Housing.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 29 Land Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 30 Minerals and Energy.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 31 Science and Technology.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 32 Trade and Industry.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 33 Transport.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 34 Water Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaAnnexure A.pdf - URL rejected: Malformed input to a URL function
## Error downloading: Register for Tender Defaulters.pdf - URL rejected: Malformed input to a URL function
## Accessing URL for year: 2006
## Error downloading: Top%20Structure%20Organisation.pdf - Could not resolve host: www.treasury.gov.za..
## Error downloading: www.treasury.gov.zatitle pages.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaoverview.pdf - Could not resolve host: www.treasury.gov.zaoverview.pdf
## Error downloading: www.treasury.gov.zaExplanatory Notes.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 1 The Presidency.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 2 Parliament.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 3 Foreign Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 4 Home Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 5 Provincial and Local Government.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 6 Public Works.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 7 Government Communication and Information System.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 8 National Treasury.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 9 Public Enterprises.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 10 Public Service and Administration.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 11 Public Service Commission.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 12 South African Management Development Institute.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 13 Statistics South Africa.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 14 Arts and Culture.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 15 Education.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 16 Health.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 17 Labour.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 18 Social Development.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 19 Sport and Recreation South Africa.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 20 Correctional Services.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 21 Defence.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 22 Independent Complaints Directorate.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 23 Justice and Constitutional Development.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 24 Safety and Security.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 25 Agriculture.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 26 Communications.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 27 Environmental Affairs and Tourism.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 28 Housing.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 29 Land Affairs.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 30 Minerals and Energy.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 31 Science and Technology.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 32 Trade and Industry.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 33 Transport.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zaVote 34 Water Affairs and Forestry.pdf - URL rejected: Malformed input to a URL function
## Error downloading: Register for Tender Defaulters.pdf - URL rejected: Malformed input to a URL function
## Accessing URL for year: 2007
## Error downloading: Top%20Structure%20Organisation.pdf - Could not resolve host: www.treasury.gov.za..
## Error downloading: www.treasury.gov.za0 title.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za00 intro.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za000 Explanatory Notes.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za1 pres.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za2 parliament.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za3 foreign.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za4 home.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za5 dp.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za6 public.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za7 gcis.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za8 nat treas.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za9 dpsa.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za10 public.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za11 sam.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za12 stats.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za13 arts.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za14 edu.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za15 health.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za16 labour.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za17 soc.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za18 sport.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za19 correction.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za20 defence.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za21 icd.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za22 justice.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za23 safety.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za24 agriculture.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za25 comm.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za26 deat.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za27 housing.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za28 land.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za29 dme.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za30 public.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za31 science.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za32 dti.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za33 transport.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za34 dwaf.pdf - URL rejected: Malformed input to a URL function
## Error downloading: Register for Tender Defaulters.pdf - URL rejected: Malformed input to a URL function
## Accessing URL for year: 2008
## Error downloading: Top%20Structure%20Organisation.pdf - Could not resolve host: www.treasury.gov.za..
## Error downloading: www.treasury.gov.za0 title.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za00 intro.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za000 Explanatory Notes.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za1 pres.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za2 parliament.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za3 foreign.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za4 home.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za5 public.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za6 gcis.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za7 nat treas.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za8 dpsa.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za9 public.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za10 sam.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za11 stats.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za12 arts.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za13 edu.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za14 health.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za15 labour.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za16 soc.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za17 sport.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za18 correction.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za19 defence.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za20 icd.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za21 justice.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za22 safety.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za23 agriculture.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za24 comm.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za25 deat.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za26 housing.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za27 land.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za28 dme.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za29 dp.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za30 public.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za31 science.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za32 dti.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za33 transport.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za34 dwaf.pdf - URL rejected: Malformed input to a URL function
## Error downloading: Register for Tender Defaulters.pdf - URL rejected: Malformed input to a URL function
## Accessing URL for year: 2009
## Error downloading: Top%20Structure%20Organisation.pdf - Could not resolve host: www.treasury.gov.za..
## Error downloading: www.treasury.gov.za0 title.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za00 Introduction.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za000 Information contained in each chapter.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za1 pres.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za2 parliament.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za3 foreign.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za4 home.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za5 public.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za6 gcis.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za7 nat treas.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za8 palama.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za9 dpsa.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za10 public.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za11 stats.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za12 arts.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za13 edu.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za14 health.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za15 labour.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za16 soc.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za17 sport.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za18 correction.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za19 defence.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za20 icd.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za21 justice.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za22 safety.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za23 agriculture.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za24 comm.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za25 deat.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za26 housing.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za27 land.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za28 dme.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za29 dp.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za30 public.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za31 science.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za32 dti.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za33 transport.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za34 dwaf.pdf - URL rejected: Malformed input to a URL function
## Error downloading: Register for Tender Defaulters.pdf - URL rejected: Malformed input to a URL function
## Accessing URL for year: 2010
## Error downloading: Top%20Structure%20Organisation.pdf - Could not resolve host: www.treasury.gov.za..
## Error downloading: www.treasury.gov.zaFull ENE.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za0 title.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za00 Introduction.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.za000 Information contained in each chapter.pdf - URL rejected: Malformed input to a URL function
## Error downloading: www.treasury.gov.zavote01.pdf - Could not resolve host: www.treasury.gov.zavote01.pdf
## Error downloading: www.treasury.gov.zavote02.pdf - Could not resolve host: www.treasury.gov.zavote02.pdf
## Error downloading: www.treasury.gov.zavote03.pdf - Could not resolve host: www.treasury.gov.zavote03.pdf
## Error downloading: www.treasury.gov.zavote04.pdf - Could not resolve host: www.treasury.gov.zavote04.pdf
## Error downloading: www.treasury.gov.zavote05.pdf - Could not resolve host: www.treasury.gov.zavote05.pdf
## Error downloading: www.treasury.gov.zavote06.pdf - Could not resolve host: www.treasury.gov.zavote06.pdf
## Error downloading: www.treasury.gov.zavote07.pdf - Could not resolve host: www.treasury.gov.zavote07.pdf
## Error downloading: www.treasury.gov.zavote08.pdf - Could not resolve host: www.treasury.gov.zavote08.pdf
## Error downloading: www.treasury.gov.zavote09.pdf - Could not resolve host: www.treasury.gov.zavote09.pdf
## Error downloading: www.treasury.gov.zavote10.pdf - Could not resolve host: www.treasury.gov.zavote10.pdf
## Error downloading: www.treasury.gov.zavote11.pdf - Could not resolve host: www.treasury.gov.zavote11.pdf
## Error downloading: www.treasury.gov.zavote12.pdf - Could not resolve host: www.treasury.gov.zavote12.pdf
## Error downloading: www.treasury.gov.zavote13.pdf - Could not resolve host: www.treasury.gov.zavote13.pdf
## Error downloading: www.treasury.gov.zavote14.pdf - Could not resolve host: www.treasury.gov.zavote14.pdf
## Error downloading: www.treasury.gov.zavote15.pdf - Could not resolve host: www.treasury.gov.zavote15.pdf
## Error downloading: www.treasury.gov.zavote16.pdf - Could not resolve host: www.treasury.gov.zavote16.pdf
## Error downloading: www.treasury.gov.zavote17.pdf - Could not resolve host: www.treasury.gov.zavote17.pdf
## Error downloading: www.treasury.gov.zavote18.pdf - Could not resolve host: www.treasury.gov.zavote18.pdf
## Error downloading: www.treasury.gov.zavote19.pdf - Could not resolve host: www.treasury.gov.zavote19.pdf
## Error downloading: www.treasury.gov.zavote20.pdf - Could not resolve host: www.treasury.gov.zavote20.pdf
## Error downloading: www.treasury.gov.zavote21.pdf - Could not resolve host: www.treasury.gov.zavote21.pdf
## Error downloading: www.treasury.gov.zavote22.pdf - Could not resolve host: www.treasury.gov.zavote22.pdf
## Error downloading: www.treasury.gov.zavote23.pdf - Could not resolve host: www.treasury.gov.zavote23.pdf
## Error downloading: www.treasury.gov.zavote24.pdf - Could not resolve host: www.treasury.gov.zavote24.pdf
## Error downloading: www.treasury.gov.zavote25.pdf - Could not resolve host: www.treasury.gov.zavote25.pdf
## Error downloading: www.treasury.gov.zavote26.pdf - Could not resolve host: www.treasury.gov.zavote26.pdf
## Error downloading: www.treasury.gov.zavote27.pdf - Could not resolve host: www.treasury.gov.zavote27.pdf
## Error downloading: www.treasury.gov.zavote28.pdf - Could not resolve host: www.treasury.gov.zavote28.pdf
## Error downloading: www.treasury.gov.zavote29.pdf - Could not resolve host: www.treasury.gov.zavote29.pdf
## Error downloading: www.treasury.gov.zavote30.pdf - Could not resolve host: www.treasury.gov.zavote30.pdf
## Error downloading: www.treasury.gov.zavote31.pdf - Could not resolve host: www.treasury.gov.zavote31.pdf
## Error downloading: www.treasury.gov.zavote32.pdf - Could not resolve host: www.treasury.gov.zavote32.pdf
## Error downloading: www.treasury.gov.zavote33.pdf - Could not resolve host: www.treasury.gov.zavote33.pdf
## Error downloading: www.treasury.gov.zavote34.pdf - Could not resolve host: www.treasury.gov.zavote34.pdf
## Error downloading: www.treasury.gov.zavote35.pdf - Could not resolve host: www.treasury.gov.zavote35.pdf
## Error downloading: www.treasury.gov.zavote36.pdf - Could not resolve host: www.treasury.gov.zavote36.pdf
## Error downloading: www.treasury.gov.zavote37.pdf - Could not resolve host: www.treasury.gov.zavote37.pdf
## Error downloading: Register for Tender Defaulters.pdf - URL rejected: Malformed input to a URL function
cat("All downloads completed. PDFs saved in folder:", output_folder, "\n")
## All downloads completed. PDFs saved in folder: budget_pdfs
save.image("southafrica.RData")