Learn R Programming

rtweet (version 1.2.1)

stream_tweets: Collect a live stream of Twitter data

Description

Streams public statuses to a file via one of the following four methods:

  1. Sampling a small random sample of all publicly available tweets

  2. Filtering via a search-like query (up to 400 keywords)

  3. Tracking via vector of user ids (up to 5000 user_ids)

  4. Location via geo coordinates (1-360 degree location boxes)

Learn more in vignette("stream", package = "rtweet")

Usage

stream_tweets(
  q = "",
  timeout = 30,
  parse = TRUE,
  token = NULL,
  file_name = NULL,
  verbose = TRUE,
  append = TRUE,
  ...
)

Value

A tibble with one row per tweet

Arguments

q

Query used to select and customize streaming collection method. There are four possible methods:

  1. The default, q = "", returns a small random sample of all publicly available Twitter statuses.

  2. To filter by keyword, provide a comma separated character string with the desired phrase(s) and keyword(s).

  3. Track users by providing a comma separated list of user IDs or screen names.

  4. Use four latitude/longitude bounding box points to stream by geo location. This must be provided via a vector of length 4, e.g., c(-125, 26, -65, 49).

timeout

Integer specifying number of seconds to stream tweets for. Stream indefinitely with timeout = Inf.

The stream can be interrupted at any time, and file_name will still be valid file.

parse

Use FALSE to opt-out of parsing the tweets.

token

Use this to override authentication for a single API call. In many cases you are better off changing the default for all calls. See auth_as() for details.

file_name

Character with name of file. If not specified, will write to a temporary file stream_tweets*.json.

verbose

If TRUE, display a progress bar.

append

If TRUE, will append to the end of file_name; if FALSE, will overwrite.

...

Other arguments passed in to query parameters.

References

They were removed from the website.

The webpages describing how it used to work were removed.

See Also

parse_stream().

Examples

Run this code
if (FALSE) {
# stream tweets mentioning "#rstats" for 10 seconds
rstats1 <- stream_tweets("#rstats", timeout = 10, file_name = "rstats.json")
rstats1

# Download another 10s worth of data to the same file
rstats2 <- stream_tweets("#rstats", timeout = 10, file_name = "rstats.json",
                         append = TRUE)

# stream tweets about continental USA for 10 seconds
usa <- stream_tweets(location = lookup_coords("usa"), file_name = "usa.json",
                     timeout = 10)

}

Run the code above in your browser using DataLab