如何使用 praw 从 subreddit 获取下一个 post?

How to get the next post from a subreddit using praw?

我试图将所有 10 个 post 附加到列表,然后获取下一个 post,但它在附加到列表之前打印了所有 post.url。我想在用户输入内容时获取下一个 post。感谢任何帮助。

如果您需要,这是我的代码:

   posts = submissions.top(limit=10)
   for post in posts:
     url = post.url
     if (url.endswith(('.jpg', '.png', '.gif', '.jpeg'))):
     print(post.url)

首先欢迎来到stack overflow!

其次,您没有真正解释“我想在用户键入内容时获得下一个 post”的意思,并且您的代码似乎是错误的,因为您没有完成如果声明。我想你希望它是以下内容:

posts = submissions.top(limit=10)
for post in posts:
    url = post.url
    if (url.endswith(('.jpg', '.png', '.gif', '.jpeg'))):
        print(post.url)

据我从你的问题中了解到,如果用户键入某些内容,你希望打印更多 url。由于 praw 只能获取一定数量的 posts(最多 1000),仅此而已(请参阅:https://www.reddit.com/r/redditdev/comments/ckkj11/how_do_i_fetch_more_than_1000_items_using_praw/),我是这样做的:

allposts = list(submissions.top(limit=1000))
posts = []
def next_ten_posts():
    posts.clear
    for x in range(10):
        posts.append(allposts.pop(0))
        loop()
def loop():
    for post in posts:
        url = post.url
        if (url.endswith(('.jpg', '.png', '.gif', '.jpeg'))):
            print(post.url)
    input()
    next_ten_posts()

next_ten_posts()

这只是我的做法,还有其他方法可以解决问题。如果这不能回答您的问题,请尝试更新您的 post