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

解析R中reddit_content函数构建Reddit用户社交网络的原理

关于RedditExtractoR包reddit_content函数的工作逻辑与批量处理方法

单条评论URL的作者与回复对象识别逻辑

reddit_content函数核心是解析Reddit评论页面的HTML结构:

  • 评论发布者:函数定位对应评论节点的.author类元素,提取文本内容作为author字段。
  • 被回复对象:Reddit评论是嵌套结构,子评论的HTML节点携带data-parent-id属性指向父评论ID。函数通过这个ID找到父评论节点,再提取父评论的.author内容作为parent_author字段;顶级评论(无回复对象)的parent_author会返回空值。

直接调用reddit_content("单条评论URL"),查看返回数据框里的author和parent_author字段,就能直观看到两者的对应关系。

批量提取评论信息并构建社交网络

  1. 准备URL列表:把需要处理的评论URL整理成字符向量:
    comment_urls <- c(
      "https://reddit.com/r/xxx/comments/xxx/xxx/xxx1/",
      "https://reddit.com/r/xxx/comments/xxx/xxx/xxx2/",
      # 补充更多URL
    )
    
  2. 批量抓取数据:用purrr包的map_df批量调用reddit_content,合并结果为统一数据框:
    library(purrr)
    all_comment_data <- map_df(comment_urls, reddit_content)
    
  3. 提取社交网络边数据:筛选出存在parent_author的记录,构建「评论作者→被回复对象」的边列表:
    edges <- all_comment_data[!is.na(all_comment_data$parent_author), c("author", "parent_author")]
    
  4. 构建并可视化社交网络:用igraph包生成有向图并可视化:
    library(igraph)
    user_graph <- graph_from_data_frame(edges, directed = TRUE)
    plot(user_graph, vertex.size = 10, edge.arrow.size = 0.5)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:36:14