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 см. в Руководстве по установке «Автостопом по 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. Там есть замечательные люди, которые могут помочь с общими вопросами Python и простыми вопросами, связанными с PRAW.
В противном случае есть несколько официальных мест, где можно задать вопросы о PRAW:
r/redditdev — лучшее место на Reddit, где можно задать вопросы, связанные с PRAW. Этот субреддит предназначен для всех обсуждений, связанных с Reddit API, поэтому, пожалуйста, помечайте отправленные материалы тегом [PRAW] . Пожалуйста, сначала выполните поиск в субреддите, чтобы узнать, есть ли у кого-нибудь похожие вопросы.
Чат в реальном времени можно вести через организацию PRAW Slack (пожалуйста, создайте проблему, если срок действия этой ссылки для приглашения истек).
Пожалуйста, не отправляйте сообщения никому из участников напрямую через Reddit, электронную почту или Slack, если они не указали иное. Мы настоятельно рекомендуем всем помогать другим с их вопросами.
Пожалуйста, сообщите об ошибках и запросах функций как проблемы на GitHub после первого поиска, чтобы убедиться, что подобная проблема еще не была зарегистрирована. Если такая проблема уже существует, пожалуйста, поставьте лайк. Комментарии к вопросам, содержащим дополнительную информацию, безусловно, приветствуются.
Примечание
Этот проект выпущен с Кодексом поведения участника. Участвуя в этом проекте, вы соглашаетесь соблюдать его условия.
Документация PRAW находится по адресу https://praw.readthedocs.io/.
Август 2010: Тимоти Меллор создал проект на github под названием reddit_api
.
Март 2011 г.: пакет Python reddit
был зарегистрирован и загружен на pypi.
Декабрь 2011: Брайс Бо занял пост сопровождающего пакета reddit
.
Июнь 2012: Брайс переименовал проект PRAW
, а репозиторий был перенесен в недавно созданную организацию praw-dev на GitHub.
Февраль 2016: Брайс начал работу над PRAW4, полной переработкой PRAW.
Исходный код PRAW (v4.0.0+) предоставляется по упрощенной лицензии BSD.
Более ранние версии PRAW выпускались под лицензией GPLv3.