Skip to content

Instantly share code, notes, and snippets.

@mkearney
Last active April 22, 2023 02:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mkearney/a477b8800e27ecdec0e6b1e7920fe1c0 to your computer and use it in GitHub Desktop.
Save mkearney/a477b8800e27ecdec0e6b1e7920fe1c0 to your computer and use it in GitHub Desktop.
Using rtweet v0.7.0 to search Twitter's standard API
#------------------------------------------------------------------------------#
# API KEYS/SECRETS
#------------------------------------------------------------------------------#
# twitter keys - these are fake replace these with your twitter keys found
# at https://developer.twitter.com/en
# be careful with these – do not share or save to cloud. use environment
# variables, follow best practices, don't be careless :)
consumer_key = "IYWxHaPxjpalssdfkj"
consumer_secret = "Cyx8OqcOtniCe63ZmaPxvvq6HvstV6PuS1AjwY9g1awnbaIUp4"
access_token = "1054430643355538049-90adsf87aGsdcOQZFmGo8H0TJXxcfB"
access_secret = "ke5l7V1KIralssdfkjalssjCTElwBgoVHBibH9asdfasdf"
#------------------------------------------------------------------------------#
# install dependencies
#------------------------------------------------------------------------------#
install.packages(
c("httpuv", "progress", "tibble", "httr"),
repos = c(CRAN = "https://cloud.r-project.org")
)
#------------------------------------------------------------------------------#
# install rtweet
#------------------------------------------------------------------------------#
# remove rtweet if version besides 0.7.0 is installed
if ("rtweet" %in% .packages(TRUE) && packageVersion("rtweet") != "0.7.0") {
remove.packages("rtweet")
}
# download and install correct version
if (!"rtweet" %in% .packages(TRUE)) {
download.file(
"https://cran.r-project.org/src/contrib/Archive/rtweet/rtweet_0.7.0.tar.gz",
"rtweet_0.7.0.tar.gz"
)
install.packages(
"rtweet_0.7.0.tar.gz", repos=NULL
)
file.remove("rtweet_0.7.0.tar.gz")
}
#------------------------------------------------------------------------------#
# create token
#------------------------------------------------------------------------------#
# create token with your keys - "app" (name) can be anything
# replace the [fake] keys that are used below
token <- rtweet::create_token(
app = "elonsucks",
consumer_key = consumer_key,
consumer_secret = consumer_secret,
access_token = access_token,
access_secret = access_secret,
set_renv = FALSE
)
#------------------------------------------------------------------------------#
# search tweets
#------------------------------------------------------------------------------#
# run search
tweets <- rtweet::search_tweets(
"filter:blue_verified lang:en",
n = 45000,
token = rtweet::bearer_token(token),
include_rts = FALSE
)
# plot time series
rtweet::ts_plot(tweets, "10 secs")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment