Learn R Programming

rtweet (version 1.1.0)

stream: Streaming

Description

Open a streaming connection with Twitter and stores tweets for as long as you wish.

Usage

filtered_stream(
  timeout,
  file = tempfile(),
  expansions = NA,
  fields = NA,
  ...,
  token = NULL,
  append = TRUE,
  parse = TRUE
)

stream_add_rule(query, dry = FALSE, token = NULL)

stream_rm_rule(query, dry = FALSE, token = NULL)

sample_stream( timeout, file = tempfile(), expansions = NA, fields = NA, ..., token = NULL, parse = TRUE, append = TRUE )

Value

The records in the streaming.

Arguments

timeout

time, in seconds, of the recording stream.

file

Path to a file where the raw streaming should be stored.

expansions

Expansions you want to use see tweet_expansions(). Use NULL to get all expansions, use NA to not use any field, or a vector with the fields you want.

fields

Fields you want to retrieve see Fields. Use NULL to get all allowed fields, use NA to not use any field, pass a list with the fields you want.

...

Other parameters passed to the body of the request.

token

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

append

Append streaming to the file? Default does but it is recommended to have a new file for each call.

parse

If TRUE, the default, returns a tidy data frame. Use FALSE to return the "raw" list corresponding to the JSON returned from the Twitter API.

query

If NULL returns the current rules, else depending:

  • In stream_add_rule it should be a list of value and tag.

  • In stream_rm_rule it should be a vector of ids of rules to be removed

dry

Check if the addition or removal of the rule works.

Functions

  • filtered_stream(): Start a filtered stream according to the rules.

  • stream_add_rule(): Add rules for the filtered streaming.

  • stream_rm_rule(): Remove rules from the filtered streaming

  • sample_stream(): Retrieve a sample of the tweets posted.

Details

The connection can be left open as long as you wish, the data is appended to the file provided. Be aware that the stream might have incomplete records (you won't be able to read directly from the json file). One tweet might belong to multiple rules.

See Also

Examples

Run this code
# Requires a bearer token
if (FALSE) {
  # How many rules do we have
  stream_add_rule(NULL)
  # Add new rule
  new_rule <- stream_add_rule(list(value = "#rstats", tag = "rstats"))
  new_rule
  # Open filtered streaming connection for 30s
  filtered_stream(file = tempfile(), timeout = 30)
  # Remove rule
  stream_rm_rule(ids(new_rule))
  # Open random streaming connection
  sample_stream(file = tempfile(), timeout = 3)
}

Run the code above in your browser using DataLab