You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PRAW获取Reddit每日Top帖子重复返回相同ID求助

解决PRAW重复返回相同Reddit Top帖子ID的问题

嘿,我明白你碰到的问题了——这本质上是因为你调用top()方法时没有指定时间范围,PRAW的top()默认会返回全时间段内的最高赞帖子,那些长期霸榜的热门帖自然会一直占据Top1的位置,所以你每天运行代码拿到的都是同一个帖子ID。

解决方案:指定时间范围参数

你只需要给top()方法加上time_filter参数,就能限定获取特定时间段内的Top帖子。可选的时间范围包括:'hour'、'day'、'week'、'month'、'year'、'all',针对你的每日获取需求,用'day'就能获取过去24小时内的Top帖子。

另外,我注意到你的原代码里漏写了获取subreddit的步骤,这会导致运行报错,我也一起补上了:

import praw

# 初始化Reddit客户端
reddit = praw.Reddit(
    client_id='你的client_id',
    client_secret='你的client_secret',
    password='你的账号密码',
    user_agent='自定义用户代理',
    username='你的Reddit用户名'
)

# 目标subreddit(这里以funny为例,换成你需要的板块)
subreddit = reddit.subreddit('funny')

# 获取当日Top1帖子,指定time_filter为'day'
top_daily_funny = subreddit.top(limit=1, time_filter='day')

for submission in top_daily_funny:
    print(f"帖子ID: {submission.id}")
    print(f"帖子标题: {submission.title}")

额外说明

  • 如果你需要的是每周/每月更新的Top,只需要把time_filter改成对应的'week'或'month'即可。
  • 不用担心API缓存问题,只要每次运行都是全新的Reddit实例,指定时间范围后就能拿到对应时段的最新Top内容。

内容的提问来源于stack exchange,提问作者TheGamechanger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:17:44