stream function

Streaming

Streaming

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

filtered_stream( timeout, file = tempfile(), expansions = NULL, fields = NULL, ..., 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 = NULL, fields = NULL, ..., token = NULL, parse = TRUE, append = TRUE )

Arguments

  • timeout: time, in seconds, of the recording stream.

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

  • expansions: Set NULL to not use any expansion, set NA to get all expansions, or provide a vector with the expansions you want (create it with set_expansions()).

  • fields: Set NULL to not use any field, get all allowed fields with NA, provide a list with the fields you want (create it with set_fields()).

  • ...: Other parameters passed to the body of the request.

  • token: These endpoints only accept a bearer token (can be created via rtweet_app()). In most cases you are better of changing the default for all calls via auth_as().

  • 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.

Returns

The records in the streaming.

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.

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.

Examples

# 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, parse = FALSE) # Remove rule stream_rm_rule(ids(new_rule)) # Open random streaming connection sample_stream(file = tempfile(), timeout = 3, parse = FALSE) }

See Also

Rules for filtered stream: https://developer.twitter.com/en/docs/twitter-api/tweets/filtered-stream/integrate/build-a-rule

Sampled stream: https://developer.twitter.com/en/docs/twitter-api/tweets/volume-streams/api-reference/get-tweets-sample-stream

Filtered stream: https://developer.twitter.com/en/docs/twitter-api/tweets/filtered-stream/api-reference/get-tweets-search-stream

ids()

  • Maintainer: Lluís Revilla Sancho
  • License: MIT + file LICENSE
  • Last published: 2024-02-24