如何检查 Reddit 帖子是否仅包含图像而没有其他内容?

2023-12-02

背景:我目前正在使用prawPython 3.7 的库。我的机器人需要做的一件事是检查某些 Reddit 子版块上的最新帖子,看看它们是否包含只是一个图像,没有其他任何东西.

鉴于 Reddit 上有不同类型的帖子(仅上传图像的帖子和带有图像的普通文本帖子),我首先决定区分这两种可能性。据我所知,praw 不提供任何获取 Reddit 帖子类型的功能。

为了处理只有图像而没有其他内容的帖子,我只需检查返回的 praw 的 URL提交 with a 特定的正则表达式:

^http(s)?://i\.redd\.it/\w+\.(png|gif|jpg|jpeg)$

如果 URL 匹配,我就下载图像。这有效。另一方面,对于恰好只包含图像的文本帖子,我检查selftext属性,对于只包含图像而没有其他内容的帖子来说是这样的:

​\n\nhttps://i.redd.it/xxxxxxxxxx.png

使用上面的正则表达式(删除开始和结束标记),我可以提取 URL 并确保只有一个存在re.findall。然而,我怎样才能确保绝对存在no帖子中的所有文本(除了空格和奇怪的转义序列​,我不明白它的目的)?


据我所知,praw 不提供任何获取 Reddit 帖子类型的功能。

PRAW 从 Reddit 的响应中动态加载属性。要了解任何给定对象的可用内容,请参阅 PRAW 文档部分确定对象的可用属性. For a Submission,它推荐以下代码片段:

import pprint

# assume you have a Reddit instance bound to variable `reddit`
submission = reddit.submission(id='39zje0')
print(submission.title) # to make it non-lazy
pprint.pprint(vars(submission))

这将打印出一个dict的可用属性。使用这个,你会发现属性.is_self and .is_reddit_media_domain。第一个会告诉您(作为布尔值)帖子是否是自我帖子,第二个会告诉您(也是作为布尔值)帖子是否是“reddit 媒体”,其中还包括视频。无需将 URL 与正则表达式匹配,只需检查.is_reddit_media_domain是真的并且.domain == 'i.redd.it'.

例如:

In [5]: reddit.submission('anr0l2').is_self
Out[5]: True

In [6]: reddit.submission('anspgf').domain == 'i.redd.it'
Out[6]: True

In [7]: reddit.submission('antg2x').domain == 'i.redd.it'
Out[7]: False

我怎样才能确保图像中完全没有文字

“图像中没有文字”是什么意思?图像中包含文本对您来说意味着什么?

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

如何检查 Reddit 帖子是否仅包含图像而没有其他内容? 的相关文章

随机推荐

  • 用于社交共享的默认网站图像

    有什么方法可以设置在 Facebook 上分享我的网站时显示的默认图像吗 我注意到 Facebook 通常会从网站获取第一张图像用作缩略图 您需要设置开放图图像元标记 欲了解更多信息 请查看docs
  • 使一个类型类实例自动成为另一个类型类实例

    我想要实现的是以下类的任何实例 SampleSpace 应该自动成为一个实例Show 因为SampleSpace包含创建字符串表示所需的整个接口 因此该类的所有可能实例实际上都是相同的 LANGUAGE FlexibleInstances
  • C# 属性强制属性

    我创建了类似的属性 AttributeUsage AttributeTargets Class AllowMultiple true Serializable public class TestPropertyAttribute Syste
  • 为什么我的 SVG 文件不使用我的字体文件?

    我在同一目录中有这个 SVG 文件这个字体的TTF 文件
  • Mongo 中不区分大小写的搜索

    我在 Mongo 中使用不区分大小写的搜索 类似于https stackoverflow com q 5500823 1028488 IE 我正在使用带有选项 i 的正则表达式 但我在将正则表达式限制为这个词时遇到了麻烦 它的表现更像是 S
  • 基于用户偏好的动态表列

    Scenario 假设用户是一名推销员 用户模型有许多 log entries 用作销售数据的每日日志 用户还具有允许他们选择在其 log entry 表单中可见的字段的首选项 因此 如果他们选择菠萝 香蕉和葡萄 这些就是表单中的字段 如果
  • 仅从 Spring MVC 3 控制器返回字符串消息

    谁能告诉我如何从控制器返回字符串消息 如果我只是从控制器方法返回一个字符串 那么 spring mvc 将其视为 jsp 视图名称 在控制器中注释你的方法 ResponseBody RequestMapping value controll
  • 如何以编程方式在 C/C++ 中引发核心转储

    我想在我的 C 应用程序中的特定位置强制进行核心转储 我知道我可以通过执行以下操作来做到这一点 int crash NULL crash 1 但我想知道是否有更干净的方法 顺便说一句 我正在使用Linux 发出 6 号信号 SIGABRT在
  • 将 NULL 数组填充到自定义聚合函数的最大长度

    从问题的回答来看如何对 varchar 使用 array agg 我们可以创建一个自定义聚合函数来聚合 Postgres 中的 n 维数组 如下所示 CREATE AGGREGATE array agg mult anyarray SFUN
  • TransactionScope 内的 Membership.GetUser() 抛出 TransactionPromotionException

    下面的代码抛出一个TransactionAbortedException带有消息 交易已中止 和内部TransactionPromotionException消息 尝试促进交易失败 using TransactionScope transa
  • C# 解析日期和时间

    我在应用程序中有一些代码 类似于 DateTime activityDate DateTime Parse tempDate tempTime Where tempDate是一个字符串 其值如 2009 12 01 即 yyyy mm dd
  • 在后台运行脚本?

    简单的问题 有没有办法在后台运行脚本而不运行终端 更多细节和背景 我有一个应用程序 它读取应用程序的 log 文件并从中提取信息 然后从日志中的信息提供信息和统计信息 应用程序的更新改变了 log 文件的写入方式 删除信息并以我无法预测的方
  • NetworkX:分层绘制图形

    我有一个按级别划分的图表 即 f e ids 0 100 are lowest level ids 101 500 are level 2 ids 501 1500 are level 3 and so on 有没有某种方法可以强制图形在分
  • 如何阻止过度访问我的网站的机器人?

    这个机器人不尊重nofollow noindex在robots txt中 我在 robots txt 中有这个 User agent Msnbot Disallow User Agent Msnbot 2 0b Disallow 到目前为止
  • Pyephem 计算当前太阳时

    我正在尝试根据 UTC 小时和经度计算当地太阳时 我已经浏览过ephem包 但无法确定执行此操作的直接方法 关于这个问题的类似问题要么引起固定位置 日出 月亮 日落 的计算 例如使用 PyEphem 计算黎明和日落时间 或接收简化方法的建议
  • pip install pydot 引发语法错误

    我从命令行运行 pip 尝试安装 pydot 因为 Django 的 django extensions 需要它来生成 UML 类图 当我运行命令时pip install pydot 它给了我这个错误 Collecting pydot Us
  • 用鼠标移动图片框

    我正在开发一个适用于 Windows Mobile Compact Framework 2 0 的应用程序 它有一个带有 PictureBox 的 WinForms 我想移动PictureBox的图像 但我不知道该怎么做 所以我选择移动Pi
  • Feed RDLC(本地)报告来自列表(实体框架)的报告

    我给自己找了一个BiningList学生 实体框架创建的类 我只想喂饱我的RDLC从中报告而不是使用DataSet或存储过程 该类包含多个属性 例如 string Name string FamilyName string Mid Date
  • Apache Rewrite:基于HTTP主机的图像目录

    我的软件支持多个域名 所有域名都指向服务器上的同一目录 当然每个域名都有不同的数据库 那么这些域 www example1 com www example2 com www example3 com 都指向 public html 在图像目
  • 如何检查 Reddit 帖子是否仅包含图像而没有其他内容?

    背景 我目前正在使用prawPython 3 7 的库 我的机器人需要做的一件事是检查某些 Reddit 子版块上的最新帖子 看看它们是否包含只是一个图像 没有其他任何东西 鉴于 Reddit 上有不同类型的帖子 仅上传图像的帖子和带有图像