在PRAW中浏览特定深度的评论?

夜吼

有什么方法可以限制针对reddit上特定帖子的评论探索深度。我们有replace_more_comments,它尝试替换尽可能多的more_comments,但我们可以限制此扩展。还是我需要根据这些注释编写自己的dfs版本?

谢谢

托马斯·普拉斯科塔(Tomasz Plaskota)

既然您提到了,replace_more_comments我假设您正在谈论的是PRAW 3.5。

遗憾的是,PRAW没有以form形式提供信息comment.depth实际上,它不会将这些信息保留在任何地方。

如果要设置的注释深度很低(仅类似于第一级和第二级注释),则可以不使用dfs或bfs。

submission.replace_more_comments(limit=None,threshold=0)
for top_level_comment in submission.comments:
    for second_level_comment in top_level_comment.replies:
        print(second_level_comment.body)

如果您想要不固定的深度,那么您将拥有自己的实现。但是由于注释的设置和从reddit api中的检索方式,您应该使用bfs而不是dfs。

还有另一种方法,该方法在PRAW 4.0(已于昨天发布)中可用。是我要参考的文档的特定部分:

submission.comments.replace_more(limit=0)
comment_queue = submission.comments[:]  # Seed with top-level
while comment_queue:
    comment = comment_queue.pop(0)
    print(comment.body)
    comment_queue.extend(comment.replies)

能够进行自己的广度优先遍历确实很棒,但CommentForest提供了一种便捷方法list(),该方法返回以与上面的代码相同的顺序遍历的注释列表。因此,以上内容可以重写为:

submission.comments.replace_more(limit=0)
for comment in submission.comments.list():
    print(comment.body)

通过此操作,您将收到一份评论列表,以便bfs可以为您提供。

[first_level_comment, first_level_comment, first_level_comment, second_level_comment, 
second_level_comment, third_level_comment, ...]

在这种情况下,基于id和parent_id拆分它们并不复杂。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用PRAW在subreddit中列出最热门的评论?

来自分类Dev

PRAW 评论和粘性

来自分类Dev

如何使用PRAW获取上周的评论?

来自分类Dev

PRAW:如何仅使用评论ID获得Reddit评论对象?

来自分类Dev

PRAW:如何仅使用评论ID获得Reddit评论对象?

来自分类Dev

从django中的特定帖子获取评论数量

来自分类Dev

如何在特定帖子中添加评论?

来自分类Dev

如何遍历数组中的特定深度?

来自分类Dev

深度学习中的特定段落-Bengio

来自分类Dev

深度链接使用adb,而不是在浏览器中

来自分类Dev

PRAW:评论提交者的用户名

来自分类Dev

PRAW:使用OAuth授权会阻止我获得提交/评论

来自分类Dev

使用Praw发布时自动向reddit添加评论

来自分类Dev

PRAW:评论提交者的用户名

来自分类Dev

PRAW:使用OAuth授权会阻止我获得提交/评论

来自分类Dev

PRAW:Python 可以打印 Reddit 评论变量但不返回它

来自分类Dev

从Google+评论框中获取对特定网址的评论计数-Google+ API

来自分类Dev

自动批准特定类别wordpress帖子中的评论

来自分类Dev

如何使用Eclipse从特定视频中检索YouTube评论

来自分类Dev

如何禁用WordPress中特定类别的评论?

来自分类Dev

在C中的BST中查找特定节点的深度

来自分类Dev

循环浏览每个打开的工作簿和工作表中的所有单元,并获取评论

来自分类Dev

如何在浏览器视图页面源中隐藏或删除评论?

来自分类Dev

循环浏览每个打开的工作簿和工作表中的所有单元,并获取评论

来自分类Dev

无法在firefox浏览器中浏览特定的URL。

来自分类Dev

在JavaScript中寻找具有特定深度的元素

来自分类Dev

将特定深度的innerHTML提取到DOM树结构中

来自分类Dev

覆盖as_json以在深度嵌套模型中包含特定值

来自分类Dev

如何使用 Python 在深度嵌套的结构中收集特定值

Related 相关文章

  1. 1

    如何使用PRAW在subreddit中列出最热门的评论?

  2. 2

    PRAW 评论和粘性

  3. 3

    如何使用PRAW获取上周的评论?

  4. 4

    PRAW:如何仅使用评论ID获得Reddit评论对象?

  5. 5

    PRAW:如何仅使用评论ID获得Reddit评论对象?

  6. 6

    从django中的特定帖子获取评论数量

  7. 7

    如何在特定帖子中添加评论?

  8. 8

    如何遍历数组中的特定深度?

  9. 9

    深度学习中的特定段落-Bengio

  10. 10

    深度链接使用adb,而不是在浏览器中

  11. 11

    PRAW:评论提交者的用户名

  12. 12

    PRAW:使用OAuth授权会阻止我获得提交/评论

  13. 13

    使用Praw发布时自动向reddit添加评论

  14. 14

    PRAW:评论提交者的用户名

  15. 15

    PRAW:使用OAuth授权会阻止我获得提交/评论

  16. 16

    PRAW:Python 可以打印 Reddit 评论变量但不返回它

  17. 17

    从Google+评论框中获取对特定网址的评论计数-Google+ API

  18. 18

    自动批准特定类别wordpress帖子中的评论

  19. 19

    如何使用Eclipse从特定视频中检索YouTube评论

  20. 20

    如何禁用WordPress中特定类别的评论?

  21. 21

    在C中的BST中查找特定节点的深度

  22. 22

    循环浏览每个打开的工作簿和工作表中的所有单元,并获取评论

  23. 23

    如何在浏览器视图页面源中隐藏或删除评论?

  24. 24

    循环浏览每个打开的工作簿和工作表中的所有单元,并获取评论

  25. 25

    无法在firefox浏览器中浏览特定的URL。

  26. 26

    在JavaScript中寻找具有特定深度的元素

  27. 27

    将特定深度的innerHTML提取到DOM树结构中

  28. 28

    覆盖as_json以在深度嵌套模型中包含特定值

  29. 29

    如何使用 Python 在深度嵌套的结构中收集特定值

热门标签

归档