Python Reddit API:高效地解析subreddit中的所有注释

时间:2018-06-23 21:10:22

标签: python praw

我正在尝试编写一个聊天机器人,并使其扫描所有添加到其中的注释。

目前,我是通过每隔X秒扫描最后的Y条评论来做到这一点的:

handle = praw.Reddit(username=config.username,
                    password=config.password,
                    client_id=config.client_id,
                    client_secret=config.client_secret,
                    user_agent="cristiano corrector v0.1a")
while True:
    last_comments = handle.subreddit(subreddit).comments(limit=Y)
    for comment in last_comments:
        #process comments
    time.sleep(X)

我非常不满意,因为可能存在很多重叠(可以通过跟踪注释id来解决),并且某些注释被扫描了两次,而其他注释则被忽略了。使用此API是否有更好的方法?

1 个答案:

答案 0 :(得分:2)

我在PRAW API中找到了使用stream的解决方案。 https://praw.readthedocs.io/en/latest/tutorials/reply_bot.html

中的详细信息

在我的代码中:

handle = praw.Reddit(username=config.username,
                    password=config.password,
                    client_id=config.client_id,
                    client_secret=config.client_secret,
                    user_agent="cristiano corrector v0.1a")

for comment in handle.subreddit(subreddit).stream.comments():
    #process comments

这应该节省一些CPU和网络负载。