This function wraps generic_elsevier_api
to give a
scopus search from the Elsevier Scopus Search API
Searches SCOPUS to get information about documents on an author.
scopus_search(query, api_key = NULL, count = 200, view = c("STANDARD", "COMPLETE"), start = 0, verbose = TRUE, max_count = 20000, http = "https://api.elsevier.com/content/search/scopus", headers = NULL, wait_time = 0, ...) sciencedirect_search(count = 100, ...) scidir_search(count = 100, ...)
query | Query string to search on SCOPUS |
---|---|
api_key | API Key for Elsevier |
count | number of records to retrieve (below 200 for STANDARD, below 25 for COMPLETE views, see https://dev.elsevier.com/api_key_settings.html). |
view | type of view to give, see https://api.elsevier.com/documentation/ScopusSearchAPI.wadl |
start | where should the records start gathering |
verbose | Print diagnostic messages |
max_count | Maximum count of records to be returned. |
http | Address for scopus API |
headers | additional headers to be added to
|
wait_time | The time in seconds to wait across consecutive requests of a single search (when records > 25) |
... | Arguments to be passed to the query list for
|
List of entries from SCOPUS
if (have_api_key()) { res = scopus_search(query = "all(gene)", max_count = 20, count = 10) df = gen_entries_to_df(res$entries) head(df$df) sci_res = sciencedirect_search(query = "heart+attack AND text(liver)", max_count = 30, count = 25) sci_df = gen_entries_to_df(sci_res$entries) nt = sciencedirect_search(query = "title(neurotoxin)", max_count = 20, count = 10) nt_df = gen_entries_to_df(nt$entries) nt_df = nt_df$df }#>#> list(query = "all(gene)", count = 10, start = 0, view = "STANDARD") #> $query #> [1] "all(gene)" #> #> $count #> [1] 10 #> #> $start #> [1] 0 #> #> $view #> [1] "STANDARD" #> #> Response [https://api.elsevier.com/content/search/scopus?query=all%28gene%29&count=10&start=0&view=STANDARD] #> Date: 2019-09-17 16:30 #> Status: 200 #> Content-Type: application/json;charset=UTF-8 #> Size: 16.5 kB #>#>#>#>#> | |======================================================================| 100%#>#>#> list(query = "heart+attack AND text(liver)", count = 25, start = 0, #> view = "STANDARD") #> $query #> [1] "heart+attack AND text(liver)" #> #> $count #> [1] 25 #> #> $start #> [1] 0 #> #> $view #> [1] "STANDARD" #> #> Response [https://api.elsevier.com/content/search/sciencedirect?query=heart%2Battack%20AND%20text%28liver%29&count=25&start=0&view=STANDARD] #> Date: 2019-09-17 16:30 #> Status: 200 #> Content-Type: application/json;charset=UTF-8 #> Size: 9.03 kB #>#>#>#>#> list(query = "title(neurotoxin)", count = 10, start = 0, view = "STANDARD") #> $query #> [1] "title(neurotoxin)" #> #> $count #> [1] 10 #> #> $start #> [1] 0 #> #> $view #> [1] "STANDARD" #> #> Response [https://api.elsevier.com/content/search/sciencedirect?query=title%28neurotoxin%29&count=10&start=0&view=STANDARD] #> Date: 2019-09-17 16:30 #> Status: 429 #> Content-Type: text/xml;charset=UTF-8 #> Size: 226 B #> <error-response> #> <error-code>RATE_LIMIT_EXCEEEDED</error-code> #> <error-message>Rate of requests exceeds specified limits. Recommend lower...#> Error in get_results(query, start = init_start, count = count, verbose = verbose, headers = headers, ...): Too Many Requests (RFC 6585) (HTTP 429).