"Python Reddit API Wrapper"의 약어인 PRAW는 Reddit의 API에 대한 간단한 액세스를 허용하는 Python 패키지입니다. PRAW는 사용하기 쉬운 것을 목표로 하며 내부적으로 Reddit의 모든 API 규칙을 따릅니다. PRAW를 사용하면 코드에 sleep
호출을 도입할 필요가 없습니다. 클라이언트에 적절한 사용자 에이전트를 제공하면 설정이 완료됩니다.
PRAW는 Python 3.8 이상에서 지원됩니다. 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 하위 레딧에 질문하는 것을 고려해 보세요. 일반적인 Python 및 간단한 PRAW 관련 질문에 도움을 줄 수 있는 훌륭한 사람들이 있습니다.
그렇지 않은 경우 PRAW에 관해 질문할 수 있는 공식 장소가 몇 군데 있습니다.
r/redditdev는 Reddit에서 PRAW 관련 질문을 할 수 있는 가장 좋은 장소입니다. 이 하위 레딧은 Reddit API와 관련된 모든 토론을 위한 것이므로 제출물에 [PRAW] 태그를 달아주세요. 비슷한 질문이 있는 사람이 있는지 먼저 하위 레딧에서 검색해 보세요.
PRAW Slack 조직을 통해 실시간 채팅을 진행할 수 있습니다. (초대 링크가 만료된 경우 이슈를 생성해 주세요.)
달리 명시하지 않는 한 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는 PRAW를 완전히 재작성한 PRAW4 작업을 시작했습니다.
PRAW 소스(v4.0.0+)는 Simplified BSD License에 따라 제공됩니다.
PRAW의 이전 버전은 GPLv3에 따라 출시되었습니다.