- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要随时获取 subreddit 中的热门评论。
我已经尝试抓取所有提交的内容,并遍历它们,但不幸的是,您可以获得的帖子数量限制为 1000。
我试过使用 Subreddit.get_comments
,但它只返回 25 条评论。
所以我正在寻找解决方法。
你能帮帮我吗?
最佳答案
可以使用 get_comments
将参数 limit
设置为 None
以获取所有可用评论。 (默认情况下,它使用帐户金额,通常为 25)。 (用于 get_comments
的参数包括用于 get_content
的参数,包括 limit
)。
但是,这可能不会如您所愿 – get_comments
(或更具体地说是 /r/subreddit/comments
)仅提供新评论或新评论的列表镀金评论,不是热门评论。由于 get_comments
也限制为 1000 条评论,因此您将难以构建完整的热门评论列表。
所以您真正想要的是原始算法——获取 HitTest 门提交的列表,然后获取这些 HitTest 门评论。这不是完美的系统(低分帖子实际上可能有高投票评论),但它是最好的系统。
这是一些代码:
import praw
r = praw.Reddit(user_agent='top_comment_test')
subreddit = r.get_subreddit('opensource')
top = subreddit.get_top(params={'t': 'all'}, limit=25) # For a more potentially accurate set of top comments, increase the limit (but it'll take longer)
all_comments = []
for submission in top:
submission_comments = praw.helpers.flatten_tree(submission.comments)
#don't include non comment objects such as "morecomments"
real_comments = [comment for comment in submission_comments if isinstance(comment, praw.objects.Comment)]
all_comments += real_comments
all_comments.sort(key=lambda comment: comment.score, reverse=True)
top_comments = all_comments[:25] #top 25 comments
print top_comments
关于python - 我如何使用 PRAW 列出 subreddit 中的热门评论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32413633/
是否可以使用 PRAW 检查指定用户是否存在,如果存在,正确的方法是什么?我找不到执行此操作的任何内置函数,因此非常感谢您的帮助。 最佳答案 Arnav 的回答仅适用于旧版本的 PRAW (prior
我想在后台运行一个脚本,它会每隔一小时左右获取 subreddit 数据。现在因为我不想在我的数据库中有重复的条目,我想根据 created_utc 过滤我的搜索结果 这是我目前拥有的: r = pr
我想安装 PRAW,这样我就可以制作 reddit 机器人和其他东西,但是所有的安装指南都让我感到困惑,所以有人可以解释一下如何让新手尽可能友好。我对 Vanilla python 有一些经验。谢谢!
我正在尝试使用 PRAW 来组织活跃在/r/nba 中的用户根据他们的天赋发表的所有评论。如果我有用户名,是否有好的方法来获得用户的天赋? 我的最终目标是对按 NBA 球迷分组的用户评论进行一些文本分
正如标题所说,我无法在 PRAW 中找到回复 Reddit 上的帖子的功能。 到目前为止,我已经编写了一个相当简单的机器人,它可以在某个 subreddit 上寻找新帖子。我的问题是,一旦找到提交,我
所以我试图制作一个从 subreddit 中获取随机帖子 url 的机器人,并希望它检查登录凭据是否有效,所以我想出了以下内容: import praw import pandas as pd imp
当我尝试打印带有表情符号的评论或提交时收到错误消息。我怎样才能忽略并只打印字母和数字? 使用 Praw 进行网页抓取 top_posts2 = page.top(limit = 25) for pos
我正在使用 praw 编写一个机器人,我想知道自帖子发布以来已经过去了多长时间。天真的解决方案是使用datetime import datetime import praw ... """read a
是否有任何方法可以限制 Reddit 上特定帖子的评论探索深度。我们有replace_more_comments,它试图替换尽可能多的more_comments,但我们可以限制这种扩展吗?或者我是否需
编辑:在您开始删除/修改安装之前,请浏览 StvnW 的回答/摘要以确保您正在应用适合您的解决方案。 我已经安装了 python 2.7.5 和 pip [编辑:mac OSX Mountain Li
我正在阅读 doc for get_comments而且我不知道 time 参数的正确输入是什么。我知道默认值是“全部”,但我是输入具体日期,还是必须输入“天”、“周”等词? 假设我想获得用户在一周内
该脚本从 Reddit 上的特定评论中获取信息。它的工作与否取决于给它的永久链接。 import praw from pprint import pprint clipboard = ['permal
我正在尝试开始使用 PRAW,但在使用 login() 时遇到问题。 我有以下代码: import praw r = praw.Reddit('This is a test bot') r.login
我希望能够迭代帖子中的评论,最高可达 n 级别,并记录每个评论及其深度。不过,我认为在 Praw 中没有办法轻松做到这一点。 我想做这样的事情: def get_post_comments(post,
我的目标是从 Reddit 获取顶部提交,将其附加到数组中,然后获取第二个顶部提交、第三个、第四个等等。我使用 place_holder 来获取下一个提交,其中第一次有效,但随后只是循环一遍又一遍地获
我正在尝试扫描特定的 Reddit 子版 block ,以查看评论在热门提交中出现的次数。 我无法得到任何迹象表明它实际上正在读取消息,因为它根本不会打印消息正文。注意:sr = Reddit 子版
我正在尝试为我的测试 subreddit 编写一个机器人,但在运行它之前,我正在 PRAW 中测试提交方法。要提交文本帖子,请使用以下行: r.submit('Subreddit', 'Post Ti
所以我在过滤我的虾的结果时遇到了一些问题。我想在结果中排除诸如([request]、[off topic] 或 [nsfw])之类的关键字。我不想在 tweepy 上发布类似 praw 结果中的帖
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我无法理解这在 praw API 中是否可行:我想获得所有评论中提到关键字(比如“python”)的帖子的列表。似乎搜索功能总是从特定的 subreddit 中调用,如 for submission
我是一名优秀的程序员,十分优秀!