【问题标题】:AttributeError: 'Submission' object has no attribute 'poll_data' in PRAWAttributeError:“提交”对象在 PRAW 中没有属性“poll_data”
【发布时间】:2021-07-21 05:24:54
【问题描述】:

我正在尝试从 subreddit r/WouldYouRather 访问 Reddit 帖子的标题和投票,以获取我正在开发的游戏。在下面的代码中,我尝试访问 10 个这样的帖子,获取提交的标题,以及用户提出的投票选项。但是,当我运行代码时,我收到一个错误,指出提交对象的 poll_data 属性不存在,据我所知,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 的任何代码时,帖子标题列表打印得很好,所以我不确定为什么这段代码会出错。为什么会这样?

编辑:

我尽可能地简化了代码,但仍然得到同样的错误信息:

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)

【问题讨论】:

  • 建议:尝试在您的问题中制作一个最小的工作示例。换句话说,仍然导致相同错误消息的最少代码量是多少?
  • 我把代码简化了,但是这里的格式不太好,所以我把它放在帖子里。

标签: python praw


【解决方案1】:

简单的回答:最热门的帖子不是投票,因此它没有poll_data 属性。我认为最热门的帖子只是 subreddit 的介绍。

我更新了您的代码以检查帖子是否具有属性poll_data,它将所有带有投票数据的帖子插入到您的列表中:

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)

ifhasattr() 检查提交是否有投票数据,否则将被忽略。

【讨论】:

    猜你喜欢
    • 2015-01-07
    • 2015-04-22
    • 1970-01-01
    • 2019-02-24
    • 2020-04-07
    • 2020-02-10
    • 2012-12-01
    • 2021-04-19
    • 2021-11-22
    相关资源
    最近更新 更多