PRAW, ein Akronym für „Python Reddit API Wrapper“, ist ein Python-Paket, das einen einfachen Zugriff auf die API von Reddit ermöglicht. PRAW ist benutzerfreundlich und befolgt intern alle API-Regeln von Reddit. Mit PRAW müssen Sie keine sleep
in Ihren Code einführen. Geben Sie Ihrem Kunden einen geeigneten Benutzeragenten und schon kann es losgehen.
PRAW wird auf Python 3.8+ unterstützt. Die empfohlene Methode zur Installation von PRAW ist über pip.
pip install praw
Um die neueste Entwicklungsversion von PRAW zu installieren, führen Sie stattdessen Folgendes aus:
pip install --upgrade https://github.com/praw-dev/praw/archive/master.zip
Anweisungen zur Installation von Python und pip finden Sie in den Installationshandbüchern „The Hitchhiker's Guide to Python“.
Vorausgesetzt, Sie verfügen bereits über Anmeldeinformationen für eine skriptartige OAuth-Anwendung, können Sie eine Instanz von PRAW wie folgt instanziieren:
import praw
reddit = praw . Reddit (
client_id = "CLIENT_ID" ,
client_secret = "CLIENT_SECRET" ,
password = "PASSWORD" ,
user_agent = "USERAGENT" ,
username = "USERNAME" ,
)
Mit der reddit
-Instanz können Sie dann mit Reddit interagieren:
# 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 )
Weitere Beispiele dafür, was Sie mit PRAW tun können, finden Sie in der Dokumentation von PRAW.
Wenn Sie PRAW in einer asynchronen Umgebung verwenden möchten (z. B. discord.py, asyncio), wird dringend empfohlen, Async PRAW zu verwenden. Es ist die offizielle asynchrone Version von PRAW und ihre Verwendung ist ähnlich und verfügt über die gleichen Funktionen wie PRAW.
Für diejenigen, die Python noch nicht kennen oder sich ansonsten als Python-Anfänger bezeichnen würden, sollten Sie darüber nachdenken, Fragen im Subreddit r/learnpython zu stellen. Es gibt dort wunderbare Leute, die bei allgemeinen Python- und einfachen PRAW-Fragen helfen können.
Ansonsten gibt es einige offizielle Stellen, an denen Sie Fragen zu PRAW stellen können:
r/redditdev ist der beste Ort auf Reddit, um Fragen zu PRAW zu stellen. Dieses Subreddit ist für alle Diskussionen im Zusammenhang mit der Reddit-API gedacht. Markieren Sie Ihre Beiträge daher bitte mit [PRAW] . Bitte führen Sie zunächst eine Suche im Subreddit durch, um zu sehen, ob jemand ähnliche Fragen hat.
Echtzeit-Chat kann über die PRAW-Slack-Organisation durchgeführt werden (bitte erstellen Sie ein Problem, wenn dieser Einladungslink abgelaufen ist).
Bitte senden Sie keine direkten Nachrichten an die Mitwirkenden über Reddit, E-Mail oder Slack, es sei denn, sie haben etwas anderes angegeben. Wir ermutigen jeden dringend, anderen bei ihren Fragen zu helfen.
Bitte reichen Sie Fehler und Funktionsanfragen nach der ersten Suche als Probleme auf GitHub ein, um sicherzustellen, dass nicht bereits ein ähnliches Problem gemeldet wurde. Wenn ein solches Problem bereits besteht, geben Sie ihm bitte eine „Daumen hoch“-Reaktion. Kommentare zu Themen, die zusätzliche Informationen enthalten, sind natürlich willkommen.
Notiz
Dieses Projekt wird mit einem Verhaltenskodex für Mitwirkende veröffentlicht. Durch die Teilnahme an diesem Projekt erklären Sie sich mit den Bedingungen einverstanden.
Die Dokumentation von PRAW finden Sie unter https://praw.readthedocs.io/.
August 2010: Timothy Mellor erstellt ein Github-Projekt namens reddit_api
.
März 2011: Das Python-Paket reddit
wurde registriert und auf pypi hochgeladen.
Dezember 2011: Bryce Boe übernimmt die Leitung des reddit
-Pakets.
Juni 2012: Bryce benannte das Projekt PRAW
um und das Repository wurde in die neu erstellte praw-dev-Organisation auf GitHub verschoben.
Februar 2016: Bryce beginnt mit der Arbeit an PRAW4, einer kompletten Neufassung von PRAW.
Der Quellcode von PRAW (v4.0.0+) wird unter der Simplified BSD-Lizenz bereitgestellt.
Frühere Versionen von PRAW wurden unter GPLv3 veröffentlicht.