Praw AttributeError:' NoneType'对象没有属性' get_comments'

时间:2014-11-10 20:33:46

标签: python reddit praw

我写了一个简单的脚本来识别对某些subreddits有贡献的用户。作为免责声明,如果您打算使用此代码,您应该确保匿名化数据(我将通过聚合数据和删除所有用户名)。它适用于某些subreddits,但似乎不是非常健壮,正如我用/ r / nba运行它时得到的以下错误所示:

AttributeError:'NoneType'对象没有属性'get_comments'

以下是我的代码:

import praw
import pprint
users = [] #[username, flair, comments]

r=praw.Reddit(user_agent="user_agent")
r.login("username", "password")
submissions = r.get_subreddit('nba').get_top(limit=1) #won't work with higher limit?
for submission in submissions:
    submission.replace_more_comments(limit=3, threshold=5)
    flat_comments = praw.helpers.flatten_tree(submission.comments)
    for comment in flat_comments:
        user_comments = []
        for i in comment.author.get_comments(limit=2):
            user_comments.append(i.body)
            #user_comments.append(str(i.body)) #sometimes causes an error as well
        users.append([str(comment.author), comment.author_flair_text, user_comments])

pprint.pprint(users)

当我将subreddit更改为'python'时,似乎遇到的问题较少,所以希望有人可以指出我缺少的东西。提前谢谢!

1 个答案:

答案 0 :(得分:1)

好的,所以你看到了

for i in comment.author.get_comments(limit=2):

我认为你的代码失败了,因为

comment.author is None