如何使用 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
我试图将所有 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