Я переключаюсь с использования twitteR
на Rtweet
для автоматического поиска в Твиттере новых твитов (twitteR
, кажется, усекает текст до 140 символов). Функция searchTwitter()
в пакете twitteR содержала sinceID
аргумент, который позволил мне легко искать только самые новые твиты и добавлять их в мой существующий набор данных.Я не могу найти аналогичную функцию в функции search_tweets()
пакета Rtweet
.Есть ли способ избежать необходимости загружать весь набор твитов, а затем удалять дубликаты и вместо этого загружать только самые новые твиты?
Вот функция и пример того, что я сейчас использую:
library(tidyverse)
library(tidytext)
library(twitteR)
# FUNCTION ----------
searchtwitterlastweek_ft <- function(topic, sinceID){
today <- as.character(Sys.Date())
lastweek <- as.character(Sys.Date() - 6)
searchtwitterfortopic <- searchTwitteR(topic, n = 15000, since = lastweek, until = today, sinceID = sinceID)
if(!length(searchtwitterfortopic) == 0){
twListToDF(searchtwitterfortopic)
} else {
data.frame(list())
}
}
# LOAD DATASET FROM PREVIOUS WEEKS ---------
load("DATA/rstats.Rda")
df_r <- df_r %>%
arrange(desc(id))
# figure out last ID, i.e. last tweet on subject
lastid <- first(df_r$id)
df_temporary <- searchtwitterlastweek_ft("#rstats", lastid)
df_r <- rbind(df_r, df_temporary) %>%
arrange(desc(id))