【发布时间】:2014-01-16 08:25:29
【问题描述】:
我正在开发一个 reddit 机器人,它需要知道哪个用户提交了评论。
根据 PRAW API 包装文档,没有特定方法可以获取 Comment 对象作者的用户名。理想情况下,我可以直接取回用户名。如果这不可能,有没有办法获取作者的全名,然后将其转换为用户名?
【问题讨论】:
我正在开发一个 reddit 机器人,它需要知道哪个用户提交了评论。
根据 PRAW API 包装文档,没有特定方法可以获取 Comment 对象作者的用户名。理想情况下,我可以直接取回用户名。如果这不可能,有没有办法获取作者的全名,然后将其转换为用户名?
【问题讨论】:
我是 PRAW 的维护者。它在哪里说您无法获得Comment 对象作者的用户名?因为这是不正确的,需要修正。
无论如何,Comment 有一个author 属性,它是作者的Redditor 实例。
import praw
r = praw.Reddit(UNIQUE_AND_DESCRIPTIVE_USERAGENT)
submission = r.get_submission("http://www.reddit.com/r/redditdev/comments/16m0uu/praw_20_is_coming_release_in_2_days/")
comment = submission.comments[0]
author = comment.author # This returns a ``Redditor`` object.
print(author.name) # The username
【讨论】:
由于声誉不足,无法发表评论。 @Humus 在他的评论中提到,PRAW readthedocs.org 文档中没有提到它。有一个简单的解决方法。我们可以使用dir(object_name) 来获取该对象的属性列表。那以后就只是猜谜游戏了。
编辑:
你也可以使用
pprint(vars(object_name))
【讨论】: