| Title: | Analyse Citation Data from Google Scholar |
|---|---|
| Description: | Provides tools to retrieve, analyse, and format publication and citation data from Google Scholar profiles. It supports profile lookup, publication records, citation histories, scholar comparison, coauthor networks, journal ranking queries, CV-ready publication lists, and citation metric summaries. |
| Authors: | Guangchuang Yu [aut, cre] (ORCID: <https://orcid.org/0000-0002-6485-8781>), James Keirstead [aut], Gregory Jefferis [aut] (ORCID: <https://orcid.org/0000-0002-0587-9355>), Gordon Getzinger [ctb], Jorge Cimentada [ctb], Max Czapanskiy [ctb], Dominique Makowski [ctb] |
| Maintainer: | Guangchuang Yu <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 1.0.1 |
| Built: | 2026-10-29 17:24:37 UTC |
| Source: | https://github.com/cran/scholar |
Get author rank in authors list.
author_position(authorlist, author)author_position(authorlist, author)
authorlist |
list of publication authors |
author |
author's name to look for |
dataframe with author's position and normalized position (a normalized index, with 0 corresponding, 1 to last and 0.5 to the middle. Note that single authorship will be considered as last, i.e., 1).
Dominique Makowski
## Not run: library(scholar) id <- "DO5oG40AAAAJ" authorlist <- scholar::get_publications(id)$author author <- scholar::get_profile(id)$name author_position(authorlist, author) ## End(Not run)## Not run: library(scholar) id <- "DO5oG40AAAAJ" authorlist <- scholar::get_publications(id)$author author <- scholar::get_profile(id)$name author_position(authorlist, author) ## End(Not run)
Compares the careers of multiple scholars based on their citation
histories. The scholar's career is defined by the number
of citations to his or her work in a given year (i.e. the bar
chart at the top of a scholar's profile). The function has an
career option that allows users to compare scholars
directly, i.e. relative to the first year in which their
publications are cited.
compare_scholar_careers(ids, career = TRUE)compare_scholar_careers(ids, career = TRUE)
ids |
a character vector of Google Scholar IDs |
career |
a boolean, should a column be added to the results measuring the year relative to the first citation year. Default = TRUE |
## How do Richard Feynmann and Stephen Hawking compare? # Compare Feynman and Stephen Hawking ids <- c("B7vSqZsAAAAJ", "DO5oG40AAAAJ") df <- compare_scholar_careers(ids)## How do Richard Feynmann and Stephen Hawking compare? # Compare Feynman and Stephen Hawking ids <- c("B7vSqZsAAAAJ", "DO5oG40AAAAJ") df <- compare_scholar_careers(ids)
Compares the citation records of multiple scholars. This function compiles a data frame comparing the citations received by each of the scholar's publications by year of publication.
compare_scholars(ids, pagesize = 100)compare_scholars(ids, pagesize = 100)
ids |
a vector of Google Scholar IDs |
pagesize |
an integer specifying the number of articles to fetch for each scholar |
a data frame giving the ID of each scholar and the total number of citations received by work published in a year.
## Not run: ## How do Richard Feynmann and Stephen Hawking compare? ids <- c("B7vSqZsAAAAJ", "DO5oG40AAAAJ") df <- compare_scholars(ids) ## End(Not run)## Not run: ## How do Richard Feynmann and Stephen Hawking compare? ids <- c("B7vSqZsAAAAJ", "DO5oG40AAAAJ") df <- compare_scholars(ids) ## End(Not run)
This function converts first and middle names to initials
format_authors(string)format_authors(string)
string |
a character vector of names |
Format publication list
format_publications(scholar.profile, author.name = NULL)format_publications(scholar.profile, author.name = NULL)
scholar.profile |
scholar profile ID |
author.name |
name of author to be highlighted using bold font |
a vector of formatted publications
R Thériault and modified by Guangchuang Yu
## Not run: library(scholar) format_publications("DO5oG40AAAAJ") ## End(Not run)## Not run: library(scholar) format_publications("DO5oG40AAAAJ") ## End(Not run)
Gets the citation history of a single article
get_article_cite_history(id, article)get_article_cite_history(id, article)
id |
a character string giving the id of the scholar |
article |
a character string giving the article id. |
a data frame giving the year, citations per year, and publication id
Gets the URL to the google scholar website of an article.
get_article_scholar_url(id, pubid)get_article_scholar_url(id, pubid)
id |
a character string specifying the Google Scholar ID. |
pubid |
a character string specifying the article id. |
a String that contains the URL to the scholar website of the article
Gets the number of citations to a scholar's articles over the past nine years.
get_citation_history(id)get_citation_history(id)
id |
a character string specifying the Google Scholar ID. If multiple ids are specified, only the first value is used and a warning is generated. |
This information is displayed as a bar plot at the top of a standard Google Scholar page and only covers the past nine years.
a data frame giving the number of citations per year to work by the given scholar
Follows the "cited by" link of one publication and returns the works Google Scholar lists as citing it, ten at a time. The citation counts on a profile say how often a paper was cited; this says by whom, and through which venue, so that a citation curve can be split by community, an autocitation rate measured, or the speed of adoption plotted.
get_citing_articles(id, pubid, max_pages = 5, delay = 0, publications = NULL)get_citing_articles(id, pubid, max_pages = 5, delay = 0, publications = NULL)
id |
a character string specifying the Google Scholar ID of the author whose publication is to be expanded. |
pubid |
a character vector of publication IDs, as found in the
|
max_pages |
the number of ten-entry pages to read per publication. |
delay |
seconds to wait between pages, for the benefit of the shared rate limit. |
publications |
a table as returned by |
number on a profile page, and it is bounded the same way: Scholar exposes at
most the first thousand citing works in ten-entry pages, and folds the
versions of one work into a single entry. Google guards this list more
strictly than it guards a profile page, so a hosted or data-centre IP is
frequently answered with a captcha instead of data; see
scholar-package and set_scholar_cookie. A refusal is reported
as a warning and returns an empty table, never a silently short list.
a data frame with one row per citing publication and the columns
pubid, the publication it cites; title; author;
venue; year; cites, citations to the citing work
itself; url, the publisher page where Scholar links to one; and
cid, Scholar's citation key for the citing work, which can be
handed to this function's internals to follow the list one step further.
Rows keep the order Scholar uses, which is by relevance. The table is
empty when nothing cites the publication or when Scholar refused.
get_publications for the pubid column, and
get_article_cite_history for citations to one publication per year.
pubs <- get_publications("B7vSqZsAAAAJ") # Scholar can refuse the list outright, in which case there is nothing to # expand: get_publications() answers with NA rather than an empty table if (is.data.frame(pubs) && nrow(pubs)) { get_citing_articles("B7vSqZsAAAAJ", pubs$pubid[1], publications = pubs, max_pages = 1) }pubs <- get_publications("B7vSqZsAAAAJ") # Scholar can refuse the list outright, in which case there is nothing to # expand: get_publications() answers with NA rather than an empty table if (is.data.frame(pubs) && nrow(pubs)) { get_citing_articles("B7vSqZsAAAAJ", pubs$pubid[1], publications = pubs, max_pages = 1) }
Gets the network of coauthors of a scholar
get_coauthors(id, n_coauthors = 5, n_deep = 1)get_coauthors(id, n_coauthors = 5, n_deep = 1)
id |
a character string specifying the Google Scholar ID. If multiple ids are specified, only the first value is used and a warning is generated. |
n_coauthors |
Number of coauthors to explore. This number should usually be between 1 and 10 as choosing many coauthors can make the network graph too messy. |
n_deep |
The number of degrees that you want to go down the network. When |
Considering that scraping each publication for all coauthors is error prone, get_coauthors
grabs the coauthors listed by Google Scholar for the profile, not from all
publications. It first tries Google Scholar's full colleagues list and falls
back to the profile sidebar if that list is unavailable.
A data frame with two columns showing all authors and coauthors.
## Not run: library(scholar) coauthor_network <- get_coauthors('amYIKXQAAAAJ') plot_coauthors(coauthor_network) ## End(Not run)## Not run: library(scholar) coauthor_network <- get_coauthors('amYIKXQAAAAJ') plot_coauthors(coauthor_network) ## End(Not run)
Found as Muhammad Qasim Pasta's solution here https://github.com/jkeirstead/scholar/issues/21
get_complete_authors(id, pubid, delay = 0.4, initials = TRUE)get_complete_authors(id, pubid, delay = 0.4, initials = TRUE)
id |
a Google Scholar ID |
pubid |
a Publication ID from a given google Scholar ID |
delay |
average delay between requests. A delay is needed to stop Google identifying you as a bot |
initials |
if TRUE (default), first and middle names will be abbreviated |
a string containing the complete list of authors
Muhammad Qasim Pasta
Abram B. Fleishman
James H. Conigrave
A profile reports one h-index, at one moment. This rebuilds the number year by year, from the citation history of each publication, so that the shape of a career is visible: whether the h-index was set early by a few papers, is still climbing, or plateaued when an author stopped publishing.
get_h_index_history(id, publications = NULL, delay = 0, flush = FALSE)get_h_index_history(id, publications = NULL, delay = 0, flush = FALSE)
id |
a character string specifying the Google Scholar ID. |
publications |
a table, as returned by |
delay |
seconds to wait between the per-publication requests. Worth setting on a shared or data-centre IP, where a loop over a long publication list is exactly what gets a connection rate limited. |
flush |
whether to discard the cached citation histories and fetch them again. |
apiece. That is the expensive part, so the histories are cached with
R.cache the way get_publication_date caches its pages,
and a second call for the same profile costs nothing. Publications with no
citations are skipped: they cannot enter an h-index in any year. The years
covered are the years Google reports per publication, so a publication whose
history Google truncates contributes only the years it publishes.
The h-index in a given year is counted from the citations accumulated up to
and including that year, which is what the number means on a profile today.
The result is a plain data frame, so plotting the trajectory is one ggplot2
call away (geom_step(direction = "hv") suits a step function); the
package vignette carries the worked example.
a data frame with one row per year, oldest first: year,
h_index counted up to that year, and citations, the
citations accumulated across all publications by that year. The h-index
never falls as the years advance, since accumulated citations do not
decrease.
get_profile for the h-index Google reports today,
get_article_cite_history for one publication's history, and
get_publication_metrics for h-index, g-index and i10-index
counted over a set of publications.
pubs <- get_publications("B7vSqZsAAAAJ") # Scholar may refuse the list outright, answering with NA if (is.data.frame(pubs) && nrow(pubs)) { # one request per publication, so start from the few that matter few <- head(pubs[pubs$cites > 0, c("pubid", "cites")], 3) head(get_h_index_history("B7vSqZsAAAAJ", publications = few)) }pubs <- get_publications("B7vSqZsAAAAJ") # Scholar may refuse the list outright, answering with NA if (is.data.frame(pubs) && nrow(pubs)) { # one request per publication, so start from the few that matter few <- head(pubs[pubs$cites > 0, c("pubid", "cites")], 3) head(get_h_index_history("B7vSqZsAAAAJ", publications = few)) }
Deprecated: 'get_journalrank()' no longer downloads anything. SCImago has served its ranking page behind a JavaScript challenge since late 2025, so a script is answered with HTTP 403 and cannot read the table at all, and the table itself carries no published licence - it derives from Elsevier's Scopus. Calling the function now says where journal metrics can honestly be obtained instead of failing after a download nobody can make.
get_journalrank(journals, max.distance = 0.05)get_journalrank(journals, max.distance = 0.05)
journals |
a character vector of journal names. Unused; kept so that existing calls reach this message rather than an unrelated error. |
max.distance |
unused, kept for the same reason. |
For journal metrics, OpenAlex is openly licensed, made for
programmatic use and needs no scraping:
https://api.openalex.org/sources?search=Nature returns the h-index,
i10-index, work and citation counts, and the ISSNs of a journal. If you
need SCImago's SJR quartiles specifically, the table has to be saved by
hand from https://www.scimagojr.com/journalrank.php in a browser,
and can then be read with utils::read.csv2().
Never returns: an error is raised with the alternatives.
Dominique Makowski and Guangchuang Yu
## Not run: get_journalrank(c("Nature", "Science")) ## End(Not run)## Not run: get_journalrank(c("Nature", "Science")) ## End(Not run)
Calculate how many articles a scholar has published.
get_num_articles(id)get_num_articles(id)
id |
a character string giving the Google Scholar ID |
an integer value (max 100)
Gets the number of distinct journals in which a scholar has published. Note that Google Scholar doesn't provide information on journals per se, but instead gives a title for the containing publication where applicable. So a journal here might actually be a journal, a book, a report, or some other publication outlet.
get_num_distinct_journals(id)get_num_distinct_journals(id)
id |
a character string giving the Google Scholar id |
the number of distinct journals
Gets the number of top journals in which a scholar has published. The definition of a 'top journal' comes from Acuna et al. and the original list was based on the field of neuroscience. This function allows users to specify that list for themselves, or use the default Acuna et al. list.
get_num_top_journals(id, journals)get_num_top_journals(id, journals)
id |
a character string giving a Google Scholar ID |
journals |
a character vector giving the names of the top journals. Defaults to Nature, Science, Nature Neuroscience, Proceedings of the National Academy of Sciences, and Neuron. |
DE Acuna, S Allesina, KP Kording (2012) Future impact: Predicting scientific success. Nature 489, 201-202. doi:10.1038/489201a.
Gets the year of the oldest article published by a given scholar.
get_oldest_article(id)get_oldest_article(id)
id |
a character string giving the Google Scholar ID |
the year of the oldest article
Gets profile information for a researcher from Google Scholar. Each scholar profile page gives the researcher's name, affiliation, their homepage (if specified), and a summary of their key citation and publication availability metrics. The scholar ID can be found by searching Google Scholar at http://scholar.google.com.
get_profile(id)get_profile(id)
id |
a character string specifying the Google Scholar ID. If multiple ids are specified, only the first value is used and a warning is generated. See the example below for how to profile multiple scholars. |
a list containing the scholar's name, affiliation, citations, impact and publication availability metrics, research interests, homepage and coauthors.
Metrics include:
total_cites combined citations to all publications
h_index the largest number h such that h publications each have at least h citations
i10_index the number of publications that each have at least 10 citations
available the number of publications that have a version online that can be read for free (though not necessarily reusable under an open access license)
not_available the number of publications only available behind a paywall
## Gets profiles of some famous physicists ids <- c("xJaxiEEAAAAJ", "DO5oG40AAAAJ") profiles <- lapply(ids, get_profile)## Gets profiles of some famous physicists ids <- c("xJaxiEEAAAAJ", "DO5oG40AAAAJ") profiles <- lapply(ids, get_profile)
Gets the abstract for a publication id.
get_publication_abstract(id, pub_id, flush = FALSE)get_publication_abstract(id, pub_id, flush = FALSE)
id |
a character string specifying the Google Scholar ID. |
pub_id |
a character string specifying the publication id. |
flush |
Whether or not to clear the cache |
a String that contains the abstract of the publication.
Gets the full data for a publication
get_publication_data_extended(id, pub_id, flush = FALSE)get_publication_data_extended(id, pub_id, flush = FALSE)
id |
a character string specifying the Google Scholar ID. |
pub_id |
a character string specifying the publication id. |
flush |
Whether or not to clear the cache |
a list that contains the full data
Gets the full date for a publication
get_publication_date(id, pub_id, flush = FALSE)get_publication_date(id, pub_id, flush = FALSE)
id |
a character string specifying the Google Scholar ID. |
pub_id |
a character string specifying the publication id. |
flush |
Whether or not to clear the cache |
a String that contains the publication date
Calculates common citation metrics from a publication data frame, such as
the result returned by get_publications.
get_publication_metrics(publications)get_publication_metrics(publications)
publications |
a data frame containing a numeric |
a data frame with h-index, g-index, i10-index, i50-index, i100-index, total citations, and publication count
Gets the PDF URL for a publication id.
get_publication_url(id, pub_id, flush = FALSE)get_publication_url(id, pub_id, flush = FALSE)
id |
a character string specifying the Google Scholar ID. |
pub_id |
a character string specifying the publication id. |
flush |
Whether or not to clear the cache |
a String that contains the URL to the PDF of the publication.
Gets the publications of a specified scholar.
get_publications( id, cstart = 0, cstop = Inf, pagesize = 100, flush = FALSE, sortby = "citation" )get_publications( id, cstart = 0, cstop = Inf, pagesize = 100, flush = FALSE, sortby = "citation" )
id |
a character string specifying the Google Scholar ID. If multiple IDs are specified, only the publications of the first scholar will be retrieved. |
cstart |
an integer specifying the first article to start counting. To get all publications for an author, omit this parameter. |
cstop |
an integer specifying the last article to process. |
pagesize |
an integer specifying the number of articles to fetch in one batch. It is recommended to leave the default value of 100 unless you experience time-out errors. Note this is not the total number of publications to fetch. |
flush |
should the cache be flushed? Search results are cached by default to speed up repeated queries. If this argument is TRUE, the cache will be cleared and the data reloaded from Google. |
sortby |
a character with value |
Google uses two id codes to uniquely reference a
publication. The results of this method includes cid which
can be used to link to a publication's full citation history
(i.e. if you click on the number of citations in the main scholar
profile page), and pubid which links to the details of the
publication (i.e. if you click on the title of the publication in
the main scholar profile page.)
a data frame listing the publications and their details. These include the publication title, author, journal, number, cites, year, and two id codes (see details).
Gets a scholar's publications and fills truncated author lists by calling
get_complete_authors only for publications whose author field
contains ....
get_publications_all_authors(id, delay = 0.8, initials = TRUE, ...)get_publications_all_authors(id, delay = 0.8, initials = TRUE, ...)
id |
a character string specifying the Google Scholar ID. |
delay |
average delay between requests for complete author lists. See
|
initials |
if TRUE, first and middle names in completed author lists
will be abbreviated. See |
... |
additional arguments passed to |
a data frame listing the publications and their details, with truncated author lists replaced where possible.
Deprecated for anonymous use: Google now answers author search
with a sign-in page, so this works only where a browser session has been
supplied with set_scholar_cookie, or through a mirror that
serves the endpoint. search_openalex_authors does the same
job with no session at all and is the route to prefer for new code.
get_scholar_id(last_name = "", first_name = "", affiliation = NA)get_scholar_id(last_name = "", first_name = "", affiliation = NA)
last_name |
Researcher last name. |
first_name |
Researcher first name. |
affiliation |
Researcher affiliation. |
Google Scholar ID as a character string.
get_scholar_id(first_name = "kristopher", last_name = "mcneill") get_scholar_id(first_name = "michael", last_name = "sander", affiliation = NA) get_scholar_id(first_name = "michael", last_name = "sander", affiliation = "eth") get_scholar_id(first_name = "michael", last_name = "sander", affiliation = "ETH Zurich") get_scholar_id(first_name = "michael", last_name = "sander", affiliation = "Mines") get_scholar_id(first_name = "james", last_name = "babler")get_scholar_id(first_name = "kristopher", last_name = "mcneill") get_scholar_id(first_name = "michael", last_name = "sander", affiliation = NA) get_scholar_id(first_name = "michael", last_name = "sander", affiliation = "eth") get_scholar_id(first_name = "michael", last_name = "sander", affiliation = "ETH Zurich") get_scholar_id(first_name = "michael", last_name = "sander", affiliation = "Mines") get_scholar_id(first_name = "james", last_name = "babler")
Fetches a scholar's publications with get_publications and
calculates common citation metrics.
get_scholar_metrics(id, pagesize = 100, flush = FALSE)get_scholar_metrics(id, pagesize = 100, flush = FALSE)
id |
a character string specifying the Google Scholar ID |
pagesize |
an integer specifying the number of articles to fetch in one
batch. See |
flush |
should the publication cache be flushed? |
a data frame with h-index, g-index, i10-index, i50-index, i100-index, total citations, and publication count
see scholar-package documentation for details about Scholar
session cookies.
get_scholar_resp(url, attempts_left = 5)get_scholar_resp(url, attempts_left = 5)
url |
URL to fetch |
attempts_left |
The number of times to try and fetch the page |
an [response][httr::response] object
[GET][httr::GET]
Plot a network of coauthors
plot_coauthors(network, size_labels = 5)plot_coauthors(network, size_labels = 5)
network |
A data frame given by |
size_labels |
Size of the label names |
a ggplot2 object but prints a plot as a side effect.
## Not run: library(scholar) coauthor_network <- get_coauthors('amYIKXQAAAAJ&hl') plot_coauthors(coauthor_network) ## End(Not run)## Not run: library(scholar) coauthor_network <- get_coauthors('amYIKXQAAAAJ&hl') plot_coauthors(coauthor_network) ## End(Not run)
Predicts the h-index for a researcher each year for ten years into the future using Acuna et al's method (see source). The model was fit to data from neuroscience researchers with an h-index greater than 5 and between 5 to 12 years since publishing their first article. So naturally if this isn't you, then the results should be taken with a large pinch of salt.
predict_h_index(id, journals)predict_h_index(id, journals)
id |
a character string giving the Google Scholar ID |
journals |
optional character vector of top
journals. See |
Since the model is calibrated to neuroscience researchers, it is entirely possible that very strange (e.g. negative) h-indices will be predicted if you are a researcher in another field. A warning will be displayed if the sequence of predicted h-indices contains a negative value or is non-increasing.
a data frame giving predicted h-index values in future
A scientist has an h-index of n if he or she publishes n papers with at least n citations each. Values returned are fractional so it's up to your own vanity whether you want to round up or down.
DE Acuna, S Allesina, KP Kording (2012) Future impact: Predicting scientific success. Nature 489, 201-202. doi:10.1038/489201a. Thanks to DE Acuna for providing the full regression coefficients for each year ahead prediction.
## Predict h-index of original method author ## Not run: id <- "DO5oG40AAAAJ" df <- predict_h_index(id) ## End(Not run)## Predict h-index of original method author ## Not run: id <- "DO5oG40AAAAJ" df <- predict_h_index(id) ## End(Not run)
Google Scholar put author search behind a Google login, so
get_scholar_id and search_scholar_ids can only reach it with a
session borrowed from a browser. OpenAlex is the alternative that needs no
session and no scraping: it is an openly licensed index of scholarly
records, maintained for programmatic use, and it publishes the h-index and
i10-index alongside the works it counted.
search_openalex_authors(name, max_results = 10)search_openalex_authors(name, max_results = 10)
name |
a character string to search for, such as
|
max_results |
the number of author records to return, at most 50. Results come back in OpenAlex's relevance order, so the person you want is usually first when the name is not common. |
The numbers will not match Google Scholar's. OpenAlex counts citations in its own corpus, so an h-index here is usually lower than the one a Scholar profile shows, and the two should not be mixed in one table.
a data frame with one row per candidate author and the columns
openalex_id, orcid, display_name, affiliation,
works_count, cited_by_count, h_index,
i10_index and url.
OpenAlex asks callers who can be identified to
pass an email address, which routes the request to a separately managed
pool. Set options(scholar_openalex_mailto = "[email protected]") or
the SCHOLAR_OPENALEX_MAILTO environment variable to do so; without
it the lookup still works.
get_scholar_id for the Google Scholar route, and
get_scholar_metrics for the same metrics as Scholar reports them.
search_openalex_authors("Guangchuang Yu") search_openalex_authors("Richard Feynman", max_results = 3)search_openalex_authors("Guangchuang Yu") search_openalex_authors("Richard Feynman", max_results = 3)
Searches Google Scholar author results and returns matching author IDs.
Author search is deprecated for anonymous use: Google redirects it to a
sign-in page unless the request carries a browser session, see
set_scholar_cookie.
search_openalex_authors returns the same kind of candidate
list without any session.
search_scholar_ids(name, max_pages = Inf, delay = 0)search_scholar_ids(name, max_pages = Inf, delay = 0)
name |
author search query |
max_pages |
maximum number of search result pages to fetch |
delay |
number of seconds to wait between result pages |
a data frame with columns id, name, affiliation,
email, interests, and url
search_scholar_ids("hao xu", max_pages = 1)search_scholar_ids("hao xu", max_pages = 1)
set the Scholar session
set_scholar_cookie(cookie = NULL, file = NULL)set_scholar_cookie(cookie = NULL, file = NULL)
cookie |
a |
file |
path to a cookie file exported from a browser, either in the
Netscape format used by |
Supply the session that lets Google Scholar treat this R session like the browser you are already signed in with. Some endpoints, author search among them, answer an anonymous request with a Google sign-in page while showing data in a browser; the difference is the cookie.
Google's own cookies are HttpOnly, so a browser will not
reveal them to a script or a copy button: take them from the developer
tools under Application, or with an extension that exports a cookie file.
Published lifetimes are six months for NID and thirteen for
_Secure-ENID and SOCS, counted from last use, and Google
ends a session sooner when it looks automated, so expect to export it
again. On a server or in CI, where there is no browser to copy from, set
the SCHOLAR_COOKIE_FILE environment variable rather than passing
the value here: a session is a credential, and an option or an argument
lands in the command history. The session is sent only to a Google host,
so a mirror set with set_scholar_mirror never receives it.
NULL, invisibly; the values are stored as options
Guangchuang Yu
## Not run: set_scholar_cookie(cookie = "NID=abc123; GSP=XQwERT") set_scholar_cookie(file = "~/scholar-cookies.txt") ## End(Not run)## Not run: set_scholar_cookie(cookie = "NID=abc123; GSP=XQwERT") set_scholar_cookie(file = "~/scholar-cookies.txt") ## End(Not run)
set scholar mirror
set_scholar_mirror(mirror = NULL)set_scholar_mirror(mirror = NULL)
mirror |
compatible scholar mirror |
setting google scholar mirror
Guangchuang Yu