PRAW (Python Reddit API Wrapper) es un módulo de Python que proporciona un acceso simple a la API de Reddit. PRAW es fácil de usar y sigue todas las reglas de la API de Reddit .
La documentación sobre PRAW se encuentra aquí .
Requisitos previos :
- Habilidades básicas de programación de Python
- Conocimiento básico de Reddit: Reddit es una red de comunidades basadas en los intereses de las personas. Cada una de estas comunidades se denomina subreddit. Los usuarios pueden suscribirse a múltiples subreddits para publicar, comentar e interactuar con ellos.
- Una cuenta de Reddit
Para instalar PRAW, ejecutamos el siguiente script pip en la terminal/símbolo del sistema.
pip install praw
Después de instalar PRAW, necesitamos importarlo:
Python3
import praw
Después de importar PRAW, necesitamos instanciarlo. Hay 2 tipos de instancias PRAW:
- Instancia de solo lectura: con la instancia de solo lectura, solo podemos recuperar información pública de Reddit. Información como las 10 publicaciones principales de un determinado subreddit. No podemos publicar material de esto.
- Instancia autorizada: con la instancia autorizada podemos hacer lo que una cuenta normal de reddit puede hacer. Se pueden realizar acciones como comentar, publicar, volver a publicar, votar a favor, etc.
Creación de una instancia de solo lectura:
Python3
reddit = praw.Reddit(client_id ='my client id', client_secret ='my client secret', user_agent ='my user agent') # to verify whether the instance is read-only instance or not print(reddit.read_only)
Producción:
True
Crear una instancia autorizada:
Python3
reddit = praw.Reddit(client_id ='my client id', client_secret ='my client secret', user_agent ='my user agent', username ='my username', password ='my password') # to verify whether the instance is authorized instance or not print(reddit.read_only)
Producción:
False
Para volver al modo de solo lectura:
Python3
reddit.read_only = True
Ahora veamos algunas de las operaciones que podemos lograr usando PRAW:
- Acceder a un Subreddit: En reddit existen múltiples comunidades conocidas como subreddits. Podemos obtener una instancia de subreddit usando el método subreddit.
Python3
subreddit = reddit.subreddit('GRE') # display the subreddit name print(subreddit.display_name) # display the subreddit title print(subreddit.title) # display the subreddit description print(subreddit.description)
- Producción :
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 -----
- Acceder a un envío: dentro de un subreddit hay múltiples envíos de publicaciones. Podemos iterar a través de los envíos en la instancia de envío. Reddit nos proporciona varias formas de ordenar los envíos:
- creciente
- nuevo
- caliente
- dorado
- controversial
- parte superior
- Acceder a un Reddit: en Reddit, el usuario se llama Redditor. Podemos obtener la instancia de redditor usando el método redditor. En el método pasamos el nombre de usuario del redditor.
Python3
# let the redditor be "AutoModerator" redditor = reddit.redditor('AutoModerator') # display AutoModerator's karma print(redditor.link_karma)
- Producción:
6554