Python 3.x PRAW请求所有子Reddit帖子:接收401错误

Python 3.x PRAW请求所有子Reddit帖子:接收401错误,python-3.x,praw,reddit,Python 3.x,Praw,Reddit,我正试图从subreddit中抓取每一篇文章,一直追溯到2010年,特别是/r/nosleep 我获取这些帖子的代码通常是: for submission in nosleep.submissions(end=int(time.time()): 它工作得很好,我已经检查了我的证书,它们都很有效,而且它可以轻松获得两年的帖子,没有任何问题。我运行上面的for循环,在最后的某个时刻,它返回一个401并使整个程序崩溃 我已经检查并确认了以下场景: 它将从2010年到2011年抢占,点击subred

我正试图从subreddit中抓取每一篇文章,一直追溯到2010年,特别是/r/nosleep

我获取这些帖子的代码通常是:

for submission in nosleep.submissions(end=int(time.time()):
它工作得很好,我已经检查了我的证书,它们都很有效,而且它可以轻松获得两年的帖子,没有任何问题。我运行上面的for循环,在最后的某个时刻,它返回一个401并使整个程序崩溃

我已经检查并确认了以下场景:

  • 它将从2010年到2011年抢占,点击subreddit的“开始”并认为在subreddit开始之前禁止抢占帖子是没有问题的
  • 我已经在每个循环上打印出了
    reddit.auth.limits
    ,它们都以
    None
    响应,所以我不会耗尽请求许可
唯一的“破解”方法是将工作分成两个for循环,将
int(time.time())
分成两个(或更多)部分,并按如下方式进行迭代:

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

即便如此,它有时也会返回401。我怀疑这是因为这个循环运行的时间太长,但我不知道。是否有人对新方法或编辑PRAW源代码以适应需要有任何建议?

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

对于未来的谷歌用户,此问题也可能是由于多次密码错误造成的。重置大约需要20分钟,然后它将再次工作