PRAW 是“Python Reddit API Wrapper”的缩写,是一个允许简单访问 Reddit API 的 Python 包。 PRAW 的目标是易于使用,并在内部遵循 Reddit 的所有 API 规则。使用 PRAW,无需在代码中引入sleep
调用。为您的客户提供合适的用户代理,您就完成了。
Python 3.8+ 支持 PRAW。推荐的安装 PRAW 的方式是通过 pip。
pip install praw
要安装 PRAW 的最新开发版本,请运行以下命令:
pip install --upgrade https://github.com/praw-dev/praw/archive/master.zip
有关安装 Python 和 pip 的说明,请参阅“Python 漫游指南”安装指南。
假设您已经拥有脚本类型 OAuth 应用程序的凭据,您可以实例化 PRAW 实例,如下所示:
import praw
reddit = praw . Reddit (
client_id = "CLIENT_ID" ,
client_secret = "CLIENT_SECRET" ,
password = "PASSWORD" ,
user_agent = "USERAGENT" ,
username = "USERNAME" ,
)
通过reddit
实例,您可以与 Reddit 进行交互:
# Create a submission to r/test
reddit . subreddit ( "test" ). submit ( "Test Submission" , url = "https://reddit.com" )
# Comment on a known submission
submission = reddit . submission ( url = "https://www.reddit.com/comments/5e1az9" )
submission . reply ( "Super rad!" )
# Reply to the first comment of a weekly top thread of a moderated community
submission = next ( reddit . subreddit ( "mod" ). top ( time_filter = "week" ))
submission . comments [ 0 ]. reply ( "An automated reply" )
# Output score for the first 256 items on the frontpage
for submission in reddit . front . hot ( limit = 256 ):
print ( submission . score )
# Obtain the moderator listing for r/test
for moderator in reddit . subreddit ( "test" ). moderator ():
print ( moderator )
请参阅 PRAW 的文档,了解有关 PRAW 功能的更多示例。
如果您计划在异步环境(例如discord.py、asyncio)中使用PRAW,强烈建议使用Async PRAW。它是PRAW的官方异步版本,其用法与PRAW类似,具有相同的功能。
对于那些 Python 新手,或者认为自己是 Python 初学者的人,请考虑在 r/learnpython subreddit 上提问。那里有很多很棒的人可以帮助解决一般的 Python 和简单的 PRAW 相关问题。
另外,还有几个官方地方可以询问有关 PRAW 的问题:
r/redditdev 是 Reddit 上询问 PRAW 相关问题的最佳场所。此 Reddit 子版块适用于所有 Reddit API 相关讨论,因此请使用[PRAW]标记提交内容。请先在 Reddit 子版块上搜索一下,看看是否有人有类似的问题。
可以通过 PRAW Slack Organization 进行实时聊天(如果邀请链接已过期,请创建问题)。
请不要通过 Reddit、电子邮件或 Slack 直接向任何贡献者发送消息,除非他们另有说明。我们强烈鼓励每个人帮助他人解决问题。
首次搜索后,请在 GitHub 上将错误和功能请求作为问题提交,以确保尚未提交类似问题。如果此类问题已经存在,请竖起大拇指。当然欢迎对包含附加信息的问题发表评论。
笔记
该项目随贡献者行为准则一起发布。参与该项目即表示您同意遵守其条款。
PRAW 的文档位于 https://praw.readthedocs.io/。
2010 年 8 月:Timothy Mellor 创建了一个名为reddit_api
的 github 项目。
2011年3月:Python包reddit
注册并上传到pypi。
2011 年 12 月:Bryce Boe 接任reddit
软件包的维护者。
2012 年 6 月:Bryce 将项目重命名为PRAW
,并将存储库迁移到 GitHub 上新创建的 praw-dev 组织。
2016 年 2 月:Bryce 开始开发 PRAW4,这是对 PRAW 的完全重写。
PRAW 的源代码 (v4.0.0+) 在简化 BSD 许可证下提供。
PRAW 的早期版本是在 GPLv3 下发布的。