gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 08:22:45 26 4
gpt4 key购买 nike

背景:我目前正在使用 praw 制作 Reddit 机器人。 Python 3.7 的库。我的机器人需要做的一件事是检查某些 Reddit 子版 block 上的最新帖子,看看它们是否仅包含图像而没有其他内容。

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

为了处理只有图像而没有其他内容的帖子,我只需检查返回的 praw submission 的 URL与 specific regex :

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

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

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

使用上面的正则表达式(删除开始和结束标记),我可以提取 URL 并确保通过 re.findall 只有一个存在。但是,我如何确保帖子中完全没有文本(除了空格和奇怪的转义序列 ,我不知道)了解其目的)?

最佳答案

As far as I'm aware, praw doesn't provide any functionality to get the type of Reddit post.

PRAW 从 Reddit 的响应中动态加载属性。要了解任何给定对象上可用的内容,请参阅 PRAW 文档部分 Determine Available Attributes of an Object 。对于提交,它建议使用以下代码段:

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.is_reddit_media_domain。第一个会告诉您(作为 bool 值)帖子是否是 self 帖子,第二个会告诉您(也是作为 bool 值)帖子是否是“reddit 媒体”,其中还包括视频。无需将 URL 与正则表达式匹配,只需检查 .is_reddit_media_domain 是否为 true 且 .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
<小时/>

how can I make sure that there is absolutely no text at all in the image

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

关于python - 如何检查 Reddit 帖子是否仅包含图像而没有其他内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54520751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com