PRAW:get_new()漏掉了第一条帖子

0 投票
1 回答
635 浏览
提问于 2025-04-18 05:09

我正在尝试写一个脚本,让我能收到某个子版块的新帖子通知。代码的核心部分是这样的:

sub = r.get_subreddit('indianwriters',fetch=True)
time.sleep(5)
posts = sub.get_new()                
while True:
        try:
            time.sleep(2.5)                
            post = next(posts)
            print post.id,post.title

但是这个代码缺少了第一个帖子。不过,当我把代码一行一行地写成这样:

sub = r.get_subreddit('indianwriters',fetch=True)
time.sleep(5)
posts = sub.get_new()
post = next(posts)
print post.id,post.title

这个就能正常工作。那么为什么在脚本里就不行呢?

1 个回答

0

你在这里重复造轮子。其实,最简单的方法是使用流。你的代码可以这样写:

subreddit = reddit.subreddit('indianwriters')
for post in subreddit.stream.submissions():
    print("Found post! Title: " + post.title + " Link: " + post.permalink)
    #Do whatever you want to notify you here. 

撰写回答