PRAW (Python Reddit API Wrapper) is a Python module that provides a simple access to Reddit’s API. PRAW is easy to use and follows all of Reddit’s API rules.
The documentation regarding PRAW is located here.
- Basic Python Programming Skills
- Basic Reddit Knowledge : Reddit is a network of communities based on people’s interests. Each of these communities is called a subreddit. Users can subscribe to multiple subreddits to post, comment and interact with them.
- A Reddit Account
To install PRAW, we run the following
pip script on the terminal / command prompt.
pip install praw
After installing PRAW, we need to import it:
After importing PRAW, we need to instantiate it. There are 2 types of PRAW instances:
- Read-only Instance: With read-only instance we can only retrieve public information from Reddit. Information like top 10 posts from a certain subreddit. We can’t post material from this.
- Authorized Instance: With authorised instance we can do whatever a normal reddit account can do. Actions like comment, post, repost, upvote etc. can be performed.
Creating a read-only instance:
Creating an authorized instance:
To switch back to read-only mode:
Now let us see some of the operations we can acheive using PRAW:
- Access a Subreddit: In reddit there are multiple communities known as subreddits. We can obtain a subreddit instance using the method
# display the subreddit name
# display the subreddit title
# display the subreddit description
GRE GRE #/r/GRE This subreddit is for discussion of the GRE (Graduate Record Examination). If you're studying for the GRE, or can help people who are studying for the GRE, you're in the right place! ----- #Rules - You must read and follow the rules! https://www.reddit.com/r/gre/about/rules -----
- Access a Submission: Within a subreddit there are multiple post submissions. We can iterate through the submissions in the submission instance. Reddit provides us multiple ways to sort submissions:
These methods will return a ListingGenerator, therefore we will need to iterate through it.
# to find the top most submission in the subreddit "GRE"
# displays the submission title
# displays the net upvotes of the submission
# displays the submission's ID
# displays the url of the submission
me irl 483 de58vq https://i.redd.it/0mqck4323yq31.png
- Access a Redditor: In Reddit, the user is called a Redditor. We can obtain the redditor instance using the method
redditor. In the method we pass the username of the redditor.
# let the redditor be "AutoModerator"
# display AutoModerator's karma
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.
- Python - Making a Reddit bot with PRAW
- Python PRAW - Checking whether a redditor is an employee of Reddit or not
- Python PRAW – Check whether a redditor has Reddit premium or not
- Python PRAW - Getting the ID of a comment in Reddit
- Python PRAW - Getting the body of a comment in Reddit
- Python PRAW - Checking whether a commenter is also the author of the submission in Reddit
- Python PRAW - Checking whether a comment has been edited or not in Reddit
- Python PRAW - Getting the time when a comment was posted on Reddit
- Python PRAW - Checking whether a comment is distinguished or not in Reddit
- Python PRAW - Getting the permalink of a comment in Reddit
- Python PRAW - Getting the parent ID of a comment in Reddit
- Python PRAW - Getting the ID of the submission that a comment belongs to in Reddit
- Python PRAW - Checking whether a comment is stickied or not in Reddit
- Python PRAW - Getting the score of a comment in Reddit
- Python PRAW - Getting the subreddit on which a comment is posted in Reddit
- Python PRAW - Getting the author of a comment in Reddit
- Python PRAW - Getting the subreddit ID that a comment belongs to in Reddit
- Python PRAW - Downvoting a comment in Reddit
- Python PRAW - Upvoting a comment in Reddit
- Python PRAW - Clearing the vote of a comment in Reddit
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.