[R] Help to download data from multiple URLs with API key
Bhaskar Mitra
bh@@k@r@ko|k@t@ @end|ng |rom gm@||@com
Wed Apr 22 04:41:44 CEST 2020
Hi Eric,
Thanks for your help. This is really helpful.
I have also adjusted the code to ensure filename has the
base url and suffix as strings.
thanks,
bhaskar
On Tue, Apr 21, 2020 at 12:16 AM Eric Berger <ericjberger using gmail.com> wrote:
> Hi Bhaskar,
> Why not just create a function that does the repetitive work, such as
>
> doOne <- function( suffix ) {
> base_url <- "abcd" # This remains constant
> b <- "api_key" # the api key - this remains constant
> c <- paste("series_id=",suffix,sep="")
> full_url = paste0(base_url, b, c)
> d3 <- lapply(fromJSON(file=full_url)[[2]], function(x) c(x["data"]))
> d3 <- do.call(rbind, d3)
> b <- as.data.frame(unlist(d3))
> write.csv(b)
> }
>
> Then,
> suffixes <- ... (whatever)
> for ( s in suffixes )
> doOne( s )
>
> You might need to also think about the filenames that you want to use in
> the write.csv() command in the function doOne.
>
> HTH,
> Eric
>
>
> On Tue, Apr 21, 2020 at 9:30 AM Bhaskar Mitra <bhaskar.kolkata using gmail.com>
> wrote:
>
>> Hello Everyone,
>>
>> I am trying to download data from multiple websites using API key.
>> The code to download from one URL is given below.
>>
>> I have a list of multiple URLs' where the suffix URL 'c' keeps changing.
>>
>> I would appreciate any help on how i can modify the code below that will
>> allow
>> me to read multiple URLs and save the data from each URL as separate
>> csv file.
>>
>> thanks,
>> bhaskar
>>
>>
>> #-----------------------------------------------------------------------
>> library(rjson)
>> setwd(Input)
>>
>> base_url <- "abcd" # This remains constant
>>
>> b <- "api_key" # the api key - this remains constant
>>
>> c <- "series_id=1" # Only this suffix URL changes. I have a list
>> of multiple such URL's with different series ids.
>>
>>
>> full_url = paste0(base_url,
>> b,
>> c)
>>
>>
>> d3 <- lapply(fromJSON(file=full_url)[[2]], function(x) c(x["data"]))
>> d3 <- do.call(rbind, d3)
>>
>> b <- as.data.frame(unlist(d3))
>> write.csv(b)
>>
>> #-----------------------------------------------------------------------
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
[[alternative HTML version deleted]]
More information about the R-help
mailing list