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

如何用stackr库获取指定标签的全部问题及指定字段数据?

嗨,我来帮你调整查询代码,让你能精准获取带特定标签的Stack Overflow问题详情~

正确的查询代码(基于stackr包)

你之前用的stack_tags()其实不太适配你的需求,这个函数主要用来获取标签本身的元数据(比如标签的使用量、官方描述)。要抓取带指定标签的问题,应该用stack_questions()这个专门的问题检索函数,我给你调整好了代码:

library(stackr)

# 定义你要查询的目标标签,单个标签直接写字符串,多个标签用向量,比如c("r", "dplyr")
target_tags <- "r"

# 执行查询,获取包含所需字段的所有问题
test <- stack_questions(
  tags = target_tags,
  num_pages = 1000000,  # 设置足够大的页数,确保能抓取到所有符合条件的问题
  pagesize = 100,        # 每页最多返回100条,这是Stack Exchange API的上限
  filter = "withbody"    # 这个参数会返回问题正文,同时默认包含你需要的其他字段
)
关键细节说明
  • 函数选对才高效:stack_questions()是专门为检索问题设计的,能直接根据标签筛选内容,比stack_tags()更贴合你的需求
  • 标签设置灵活:如果要同时查询带多个标签的问题,把target_tags改成向量形式就行,比如c("r", "ggplot2"),这样就能拿到同时带这两个标签的问题
  • 所需字段全包含:filter="withbody"会返回问题正文,而stackr默认还会给你这些你需要的信息:
    • tags:问题的所有标签
    • creation_date:发布日期(如果是时间戳格式,用as.POSIXct(test$creation_date, origin="1970-01-01")就能转换成可读的日期时间)
    • body:完整的问题内容
    • owner:提问用户的详细信息(包含用户名、用户ID等)
    • score:问题的投票数
小提示

如果发现返回的结果不全,可以检查下test的行数,要是API分页限制导致没抓全,要么再调大num_pages,要么用stack_paging()函数自动处理分页(不过stack_questions()默认会自动处理分页,只要num_pages足够大一般就没问题)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:51:02