PRAW، وهو اختصار لـ "Python Reddit API Wrapper"، عبارة عن حزمة Python تسمح بالوصول البسيط إلى واجهة برمجة تطبيقات Reddit. يهدف PRAW إلى أن يكون سهل الاستخدام ويتبع داخليًا جميع قواعد Reddit API. مع PRAW ليست هناك حاجة لإدخال مكالمات sleep
في التعليمات البرمجية الخاصة بك. امنح عميلك وكيل مستخدم مناسبًا وستكون جاهزًا.
PRAW مدعوم على Python 3.8+. الطريقة الموصى بها لتثبيت PRAW هي عبر النقطة.
pip install praw
لتثبيت أحدث إصدار تطوير من PRAW، قم بتشغيل ما يلي بدلاً من ذلك:
pip install --upgrade https://github.com/praw-dev/praw/archive/master.zip
للحصول على إرشادات حول تثبيت Python وpip، راجع أدلة التثبيت "The Hitchhiker's Guide to 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.
إذا كنت تخطط لاستخدام PRAW في بيئة غير متزامنة، (على سبيل المثال، discord.py، asyncio) فمن المستحسن بشدة استخدام Async PRAW. إنها النسخة الرسمية غير المتزامنة من PRAW واستخدامها مشابه وله نفس ميزات PRAW.
بالنسبة لأولئك الجدد في لغة Python، أو الذين يعتبرون أنفسهم مبتدئين في لغة Python، يرجى التفكير في طرح الأسئلة على r/learnpython subreddit. هناك أشخاص رائعون يمكنهم المساعدة في الأسئلة العامة المتعلقة بـ Python والأسئلة البسيطة المتعلقة بـ PRAW.
بخلاف ذلك، هناك عدد قليل من الأماكن الرسمية لطرح الأسئلة حول PRAW:
r/redditdev هو أفضل مكان على Reddit لطرح الأسئلة المتعلقة بـ PRAW. هذا subreddit مخصص لجميع المناقشات المتعلقة بـ Reddit API، لذا يرجى وضع علامة [PRAW] على المشاركات المرسلة. يرجى إجراء بحث على subreddit أولاً لمعرفة ما إذا كان لدى أي شخص أسئلة مماثلة.
يمكن إجراء الدردشة في الوقت الفعلي عبر منظمة PRAW Slack (يُرجى إنشاء مشكلة إذا انتهت صلاحية رابط الدعوة هذا).
يرجى عدم إرسال رسائل مباشرة إلى أي من المساهمين عبر Reddit أو البريد الإلكتروني أو Slack ما لم يشيروا إلى خلاف ذلك. نحن نشجع الجميع بشدة على مساعدة الآخرين في الإجابة على أسئلتهم.
يرجى تقديم الأخطاء وطلبات الميزات كمشكلات على GitHub بعد البحث لأول مرة للتأكد من عدم تقديم مشكلة مماثلة بالفعل. إذا كانت هذه المشكلة موجودة بالفعل، فيرجى تقديم رد فعل ممتاز. التعليقات على القضايا التي تحتوي على معلومات إضافية هي بالتأكيد موضع ترحيب.
ملحوظة
تم إصدار هذا المشروع مع قواعد سلوك المساهمين. بمشاركتك في هذا المشروع فإنك توافق على الالتزام بشروطه.
توجد وثائق PRAW على https://praw.readthedocs.io/.
أغسطس 2010: أنشأ تيموثي ميلور مشروع جيثب يسمى reddit_api
.
مارس 2011: تم تسجيل حزمة Python reddit
وتحميلها إلى pypi.
ديسمبر 2011: تولى برايس بو منصب المشرف على حزمة reddit
.
يونيو 2012: أعاد برايس تسمية المشروع PRAW
وتم نقل المستودع إلى منظمة praw-dev المنشأة حديثًا على GitHub.
فبراير 2016: بدأ برايس العمل على PRAW4، وهو إعادة كتابة كاملة لـ PRAW.
يتم توفير مصدر PRAW (الإصدار 4.0.0+) بموجب ترخيص BSD المبسط.
تم إصدار الإصدارات السابقة من PRAW تحت GPLv3.