PRAW เป็นตัวย่อสำหรับ "Python Reddit API Wrapper" เป็นแพ็คเกจ Python ที่ช่วยให้สามารถเข้าถึง API ของ Reddit ได้อย่างง่ายดาย PRAW มุ่งหวังที่จะใช้งานง่ายและปฏิบัติตามกฎ API ของ Reddit ทั้งหมดเป็นการภายใน ด้วย 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 โปรดดูคำแนะนำในการติดตั้ง "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 โปรดลองถามคำถามใน subreddit r/learnpython มีคนที่ยอดเยี่ยมที่นั่นซึ่งสามารถช่วยเหลือเกี่ยวกับ Python ทั่วไปและคำถามง่ายๆ ที่เกี่ยวข้องกับ PRAW ได้
มิฉะนั้น มีสถานที่อย่างเป็นทางการสองสามแห่งที่จะถามคำถามเกี่ยวกับ PRAW:
r/redditdev เป็นสถานที่ที่ดีที่สุดใน Reddit เพื่อถามคำถามที่เกี่ยวข้องกับ PRAW subreddit นี้มีไว้สำหรับการสนทนาที่เกี่ยวข้องกับ Reddit API ทั้งหมด ดังนั้นโปรดแท็กการส่งด้วย [PRAW] โปรดทำการค้นหาใน subreddit ก่อนเพื่อดูว่ามีใครมีคำถามที่คล้ายกันหรือไม่
สามารถดำเนินการแชทแบบเรียลไทม์ผ่าน PRAW Slack Organisation (โปรดสร้างปัญหาหากลิงก์คำเชิญนั้นหมดอายุ)
โปรดอย่าส่งข้อความถึงผู้มีส่วนร่วมโดยตรงผ่าน Reddit, อีเมล หรือ Slack เว้นแต่พวกเขาจะระบุไว้เป็นอย่างอื่น เราขอแนะนำให้ทุกคนช่วยเหลือผู้อื่นในการตอบคำถามของพวกเขา
โปรดแจ้งข้อบกพร่องและคำขอคุณลักษณะเป็นปัญหาบน GitHub หลังจากค้นหาครั้งแรกเพื่อให้แน่ใจว่าไม่ได้ยื่นปัญหาที่คล้ายกัน หากปัญหาดังกล่าวมีอยู่แล้ว โปรดยกนิ้วให้ ยินดีรับฟังความคิดเห็นในประเด็นที่มีข้อมูลเพิ่มเติมอย่างแน่นอน
บันทึก
โครงการนี้เผยแพร่พร้อมกับจรรยาบรรณของผู้ร่วมให้ข้อมูล การเข้าร่วมในโครงการนี้แสดงว่าคุณตกลงที่จะปฏิบัติตามข้อกำหนด
เอกสารของ PRAW อยู่ที่ https://praw.readthedocs.io/
สิงหาคม 2010: Timothy Mellor ได้สร้างโครงการ github ชื่อ reddit_api
มีนาคม 2554: ลงทะเบียนแพ็คเกจ Python reddit
และอัปโหลดไปยัง pypi
ธันวาคม 2011: Bryce Boe เข้ามาเป็นผู้ดูแลแพ็คเกจ reddit
มิถุนายน 2555: ไบรซ์เปลี่ยนชื่อโครงการ PRAW
และย้ายพื้นที่เก็บข้อมูลไปยังองค์กร praw-dev ที่สร้างขึ้นใหม่บน GitHub
กุมภาพันธ์ 2016: ไบรซ์เริ่มทำงานกับ PRAW4 ซึ่งเป็นการเขียน PRAW ใหม่ทั้งหมด
แหล่งที่มาของ PRAW (v4.0.0+) มีให้ภายใต้ใบอนุญาต BSD แบบง่าย
PRAW เวอร์ชันก่อนหน้าเผยแพร่ภายใต้ GPLv3