如何用rtweet的get_timeline从多账号提取含指定关键词的推文
解决方法:先获取时间线再筛选关键词
首先明确:get_timeline()函数没有q参数,你混淆了它和搜索类函数(比如search_tweets())的参数。这个函数的作用是拉取指定用户的时间线内容,本身不支持在拉取阶段直接过滤关键词,正确流程是先拉取所有目标推文,再用后续代码筛选。
完整代码示例
profiles <- c("a", "b", "c", "d") keyword <- "apple" # 拉取指定用户各10条时间线推文 tweets <- get_timeline( user = profiles, n = 10, parse = TRUE, retryonratelimit = TRUE # 开启自动处理限流,避免报错 ) # 筛选包含关键词的推文(支持忽略大小写) filtered_tweets <- tweets[grepl(keyword, tweets$text, ignore.case = TRUE), ] # 如果你习惯用dplyr,也可以这么写: # library(dplyr) # filtered_tweets <- tweets %>% # filter(grepl(keyword, text, ignore.case = TRUE))
关键说明
grepl()函数用于检测推文内容列(text)中是否包含指定关键词,返回逻辑值来筛选符合条件的行。ignore.case = TRUE是可选参数,开启后会忽略大小写匹配(比如同时匹配"apple"、"Apple"、"APPLE"),不需要的话可以去掉。
内容的提问来源于stack exchange,提问作者IL DOGE
相关产品推荐
相关产品推荐

