无法使用 PRAW 从某些 Reddit 子版块中获取随机帖子

2023-12-03

我正在尝试使用此代码让一个不和谐的机器人从reddit发送图像(只是为了抓取而不是发送)

def random_post(subreddit):
while True:
    post = reddit.subreddit(subreddit).random()
    if not post.stickied:
        return post

它通常工作正常,但每隔一段时间我就会收到此错误

AttributeError: 'NoneType' object has no attribute 'stickied'

它只发生在某些 Reddit 子版块中。


这是 Reddit 端的一个已知问题。

有些 Reddit 子版块会拒绝给你随机提交的内容。看praw-dev/praw#885在 GitHub 上。

在这个问题上,我深入关于原因。我的发现是:当 subreddit 的版主在其 subreddit 设置中取消选中“允许此 subreddit 向 /r/all、/r/popular、默认和趋势列表中的用户公开”复选框时,它会阻止 subreddit 提供随机提交。例如,在撰写本文时,https://reddit.com/r/wallpapers/random只是重定向到https://www.reddit.com/r/wallpapers/而不是某些服从。

在我个人看来,这是一个由 Reddit 之间的混淆引起的错误/r/random(重定向到随机的 Reddit 子版块)和/r/{subreddit}/random(重定向到 Reddit 子版块内的随机提交)。就目前而言,该复选框会影响这两个设置,在我看来,只有它影响才有意义/r/random.

在同一 GitHub 问题中,一位 Reddit 开发人员插话确认:“这两种行为是相关的”并表示这种行为“这不是一个错误per se."那是两年多前的事了,自那以后 Reddit 端没有任何变化。


所以这对于你来说意味着什么?

不幸的是,没有好的方法来解决这个问题。正如您所发现的,对于某些 Reddit 子版块,subreddit.random()回报None。这是该方法的文档中注明。在您的代码中,您应该检查post is not None。如果是的话None,这取决于你如何处理。你可以回来None,或者您可以使用替代方法来获取随机提交,例如(例如)从热门列表中获取 25 个提交并使用random.choice()选择一个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 PRAW 从某些 Reddit 子版块中获取随机帖子 的相关文章

随机推荐

  • SQL 中将列求和到当前行?

    我正在尝试对当前行 在 SQL Server 中 的列求和 我该怎么做呢 select t1 CounterTime t1 StartTime t1 EndTime isNull t1 value 0 as value1 How do I
  • 使用递归进行重复排列 - JavaScript

    我正在研究一种递归算法 该算法接受具有三个不同元素的数组 例如 a b c 并返回一个二维数组 其中包含允许重复的所有可能变化 因此 a a a a a b a b b 但是我的代码失败了 我不知道为什么 var abc function
  • 为什么 Android 上的 Google 云端硬盘应用不再发送 file:// URI?

    Google Drive 用于发送file URI 作为数据ACTION VIEW意图 现在它发送content 取而代之的是 URI 为什么会发生这种变化 自 2016 年 2 月 17 日起 云端硬盘应用程序不再发送file 其他应用程
  • Git推送被拒绝“非快进”

    我对git 但目前正在使用它来管理团队环境中的代码 我遇到了一些变基问题 我使用以下方法修复了它们 git checkout ours filename txt git add filename txt git rebase continu
  • 更新 firebase-perf 插件后 Android studio 项目未编译(缺少类模块信息)

    每个人 我使用的是 gradle 版本 5 6 2 我更新了我的 android studio 项目依赖项 如下所示 dependencies classpath com android tools build gradle 3 5 1 c
  • 如何安装 PyGObject?

    我正在尝试在 Windows 7 上安装 PyGtk for Python 2 7 但是当使用 pip 安装 PyGtk 时 它说我需要 PyGObject 见图 所以我安装了 Python 的 Visual C 包 我知道我有正确的版本
  • 如何在 C# 中进行*整数*求幂?

    内置的Math Pow NET 中的函数引发了double基地到一个double指数并返回 adouble result 对整数执行相同操作的最佳方法是什么 补充 好像可以直接施法Math Pow 结果为 int 但这总是会产生正确的数字并
  • 将语音录制到 Queue 中并将其发送到服务器

    我正在开发语音应用程序 我需要某种缓冲区队列 以便我在线程中连续记录 将充满字节的缓冲区放入队列中并传输到服务器 然后从队列中取出下一个缓冲区 这是录制代码 Queue
  • 如何更改程序的工作目录

    在 Mac 上试用 Clion EAP 如何更改已启动程序的当前工作目录 它似乎被设置为二进制文件的输出目录 这可以通过以下方式更改Run gt Edit Configurations 对话框 就像 Idea 一样 需要进行更改的组合CMa
  • 为什么 @ResponseBody 将排序的 LinkedHashMap 返回为未排序?

    这是 SpringMVC 控制器代码片段 RequestMapping value getCityList method RequestMethod POST public ResponseBody LinkedHashMap
  • 如何将 UITextview 样式设置为圆角矩形文本字段?

    我正在使用文本视图作为评论编辑器 在属性检查器中 我找不到类似边框样式属性的任何内容 以便我可以使用圆角矩形 例如UITextField 所以 问题是 我该如何设计UITextView like a UITextField带有圆角矩形 没有
  • 设置 Maven 插件连接器错误

    我正在尝试将项目导入 Spring Source Tool Suite 最新版本 该项目之前是从 Maven 原型目录创建的 我收到屏幕截图中显示的错误 我能够在不同的机器上导入相同的项目 但使用相同的 Maven 存储库 我复制了整个 m
  • 1:1 或 1:0 关系的标准化

    当使用关系数据库并且您想要 3NF 您用英语称之为 3NF 吗 时 您可以将 1 1 关系拉到一张表中 但如果配给比例是 1 0 1 意思是 或 会发生什么呢 然后将它们分开以避免表格中出现空格 在这种情况下 将它们分开是有效的 3NF 吗
  • Java DOM 通过 ID 获取元素

    我正在 Java 中使用 DOM 解析器将子节点添加到现有节点中 我的 XML 是
  • 如何查找 SQL Server Management Studio 的服务器名称

    我安装了 Microsoft SQL Server 2008 当我启动 SQL Server Management Studio SSMS 时 我得到Connect to Server带有空白文本框的登录窗口Server name 我尝试了
  • 在 mysql 8 中使用 GROUP BY

    我已经升级了 MySQL 服务器 现在我遇到了 group by 问题 select from tickets WHERE status 0 group by tnumber ORDER BY created at DESC 错误是 SEL
  • mllib NaiveBayes 中的类数量有限制吗?调用 model.save() 时出错

    我正在尝试训练一个模型来预测文本输入数据的类别 我使用以下方法遇到了似乎数值不稳定的问题pyspark ml classification NaiveBayes当类别数量超过一定数量时 对词袋进行分类 在我的现实世界项目中 我有大约 10
  • Javascript for 循环和警报

    我正在循环浏览链接列表 我可以正确获取标题属性 并希望它在单击时显示 当页面加载并单击链接时 所有链接标题都会一一提醒 我究竟做错了什么 function prepareShowElement var nav document getEle
  • 仅在 apex 报告的某些行上显示“编辑”链接

    我有以下报告结构 显示全年产品的销售目标和销售额 每个产品都有两行 一行显示销售额 一行显示 sales target 目前 我的报告在报告的每一行旁边都有一个编辑链接 有没有办法从 sales target 行中删除编辑链接 select
  • 无法使用 PRAW 从某些 Reddit 子版块中获取随机帖子

    我正在尝试使用此代码让一个不和谐的机器人从reddit发送图像 只是为了抓取而不是发送 def random post subreddit while True post reddit subreddit subreddit random