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 下發布的。