PRAW 请求所有 Subreddit 帖子:收到 401 错误

PRAW Requesting All Subreddit Posts: Receive 401 Error

我试图从 subreddit 中抓取每一个 post,一直追溯到 2010 年开始,特别是 /r/nosleep。

我获取那些 post 的代码是通常的:

for submission in nosleep.submissions(end=int(time.time()):

它工作得很好,我已经检查了我的凭据,它们都有效,而且它可以轻松获取两年的 posts,没有任何问题。发生的事情是我 运行 上面的 for 循环,在最后的某个时刻,它 returns 一个 401 并使整个程序崩溃。

我已经检查并确认了以下情况:

围绕此的唯一 "hack" 是将工作分成两个 for 循环,将 int(time.time()) 分成两个(或更多)部分并像这样迭代每个部分:

for submission in nosleep.submissions(start=middle, end=int(time.time())):
for submission in nosleep.submissions(end=middle):

即便如此,它有时也会 returns 一个 401。我怀疑这是因为这个循环 运行ning 的时间长度,但我不知道。有人对新方法或编辑 PRAW 源有任何建议吗?

尝试使用最新的 PRAW 开发版本 (pip install --upgrade https://github.com/praw-dev/praw/archive/master.zip),因为这个问题应该 得到解决。

对于以后的Googlers来说,这个问题也可能是多次输错密码导致的。重置大约需要20分钟,然后再工作。