You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用rtweet拉取仅含单个Cashtag的推文?

筛选仅含单个Cashtag的推文(R rtweet实现)

核心思路

先拉取目标推文,统计每条推文包含的Cashtag数量,最后筛选出数量为1的条目即可。rtweet自带的实体解析功能能准确识别Cashtag,比正则表达式更可靠。

具体代码实现

  1. 加载依赖包并拉取推文
# 安装依赖(首次运行需执行)
install.packages(c("rtweet", "purrr"))

library(rtweet)
library(purrr)

# 拉取包含目标Cashtag的推文,比如$AAPL
# include_rts=FALSE可排除转推,避免重复数据
tweets <- search_tweets(q = "$AAPL", n = 1000, include_rts = FALSE)
  1. 统计每条推文的Cashtag数量
    rtweet返回的数据框中,cashtags列是列表类型,每个元素对应一条推文的所有Cashtag向量。我们用map_int快速统计每条的长度:
# 添加Cashtag数量列
tweets$cashtag_count <- map_int(tweets$cashtags, length)
  1. 筛选仅含单个Cashtag的推文
# 筛选出Cashtag数量等于1的结果
single_cashtag_tweets <- tweets[tweets$cashtag_count == 1, ]

备选方案(正则提取)

如果你的推文数据中没有cashtags列(罕见情况),可以用正则表达式提取Cashtag并统计数量:

library(stringr)

# 匹配$开头的字母数字组合,统计出现次数
tweets$cashtag_count <- str_count(tweets$text, "\\$[A-Za-z0-9]+")
single_cashtag_tweets <- tweets[tweets$cashtag_count == 1, ]

注意:正则可能会误识别文本中类似$100这种非Cashtag的内容,所以优先用rtweet自带的cashtags字段。

内容的提问来源于stack exchange,提问作者8nracing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:36:23