AttributeError: 'Submission' object has no attribute 'poll_data' in PRAW
AttributeError: 'Submission' object has no attribute 'poll_data' in PRAW
我正在尝试从我正在开发的游戏的 subreddit r/WouldYouRather 访问 Reddit post 的标题和投票。在下面的代码中,我试图访问 10 个这样的 posts,获取提交的标题,以及用户提出的民意调查的选项。但是,当我 运行 代码时,我得到一个错误,指出 poll_data 属性对于提交 object 不存在,据我所知,isn't true.
请原谅我的任意变量名,但这是我所拥有的。
import os
import praw
reddit = praw.Reddit(client_id = 'H'],
client_secret = 'H'],
username = 'H'],
password = 'H'],
user_agent = 'H')
lmao = []
lmaolmao = []
sub = reddit.subreddit("wouldyourather")
hotstuff = sub.hot(limit = 10)
for submission in hotstuff:
lmao.append(submission.title)
lmaolmao.append(submission.poll_data.options)
print(lmao)
print(lmaolmao)
当我取出任何关于 poll_data 的代码时,post 标题列表打印得很好,所以我不确定为什么这段代码会出错。为什么会这样?
编辑:
我尽可能地简化了代码,但仍然得到相同的错误信息:
import os
import praw
reddit = praw.Reddit(client_id = os.environ['client_id'],
client_secret = os.environ['client_secret'],
username = os.environ['username'],
password = os.environ['password'],
user_agent = os.environ['user_agent'])
sub = reddit.subreddit("wouldyourather").hot(limit = 1)
for submission in sub:
print(submission.poll_data.options)
简单回答:最热门的 post 不是投票,因此它没有 poll_data
属性。我认为最热门的 post 只是 subreddit 的介绍。
我更新了您的代码以检查 post 是否具有属性 poll_data
,它会将所有 post 与投票数据插入您的列表:
lmao = []
lmaolmao = []
sub = reddit.subreddit("wouldyourather")
hotstuff = sub.hot(limit = 10)
for submission in hotstuff:
lmao.append(submission.title)
if hasattr(submission, 'poll_data'):
lmaolmao.append(submission.poll_data.options)
print(lmao)
print(lmaolmao)
if
检查hasattr()
是否提交有轮询数据,否则将被忽略。
我正在尝试从我正在开发的游戏的 subreddit r/WouldYouRather 访问 Reddit post 的标题和投票。在下面的代码中,我试图访问 10 个这样的 posts,获取提交的标题,以及用户提出的民意调查的选项。但是,当我 运行 代码时,我得到一个错误,指出 poll_data 属性对于提交 object 不存在,据我所知,isn't true.
请原谅我的任意变量名,但这是我所拥有的。
import os
import praw
reddit = praw.Reddit(client_id = 'H'],
client_secret = 'H'],
username = 'H'],
password = 'H'],
user_agent = 'H')
lmao = []
lmaolmao = []
sub = reddit.subreddit("wouldyourather")
hotstuff = sub.hot(limit = 10)
for submission in hotstuff:
lmao.append(submission.title)
lmaolmao.append(submission.poll_data.options)
print(lmao)
print(lmaolmao)
当我取出任何关于 poll_data 的代码时,post 标题列表打印得很好,所以我不确定为什么这段代码会出错。为什么会这样?
编辑:
我尽可能地简化了代码,但仍然得到相同的错误信息:
import os
import praw
reddit = praw.Reddit(client_id = os.environ['client_id'],
client_secret = os.environ['client_secret'],
username = os.environ['username'],
password = os.environ['password'],
user_agent = os.environ['user_agent'])
sub = reddit.subreddit("wouldyourather").hot(limit = 1)
for submission in sub:
print(submission.poll_data.options)
简单回答:最热门的 post 不是投票,因此它没有 poll_data
属性。我认为最热门的 post 只是 subreddit 的介绍。
我更新了您的代码以检查 post 是否具有属性 poll_data
,它会将所有 post 与投票数据插入您的列表:
lmao = []
lmaolmao = []
sub = reddit.subreddit("wouldyourather")
hotstuff = sub.hot(limit = 10)
for submission in hotstuff:
lmao.append(submission.title)
if hasattr(submission, 'poll_data'):
lmaolmao.append(submission.poll_data.options)
print(lmao)
print(lmaolmao)
if
检查hasattr()
是否提交有轮询数据,否则将被忽略。