Программирование на Python – Публикация и получение данных Reddit (Reddit Bot)
Программирование на Python – Публикация и получение данных Reddit (Reddit Bot)
Вы когда-нибудь хотели сделать карьеру в области веб-разработки, машинного обучения, добычи данных или простого применения и написания сценариев? Тогда Python – это именно тот язык, который вам нужно изучить! В последние годы Python стал одним из самых популярных языков программирования в мире благодаря своей гибкости и легкому в изучении синтаксису. В этой статье мы разработаем простой Python Script, который позволит нам размещать и получать данные Reddit.
Код, написанный в этой статье, можно использовать в качестве первого компонента бота Reddit, однако создание полноценного бота Reddit выходит за рамки данной статьи. Если у вас возникли проблемы при написании этого кода, я сделал видеоверсию, охватывающую содержание, представленное здесь: .
Если вы новичок в Python или хотите глубже понять синтаксис и код, представленный в этой статье, я сделал полный курс по Python, который находится в свободном доступе на YouTube:
Итак, без лишних предисловий приступим. Чтобы приведенный ниже код работал, вам необходимо установить/импортировать пакет Praw, так как мы будем использовать его в качестве основы для интеграции с Reddit.
Чтобы узнать больше историй от Академии Винслоев, зарегистрируйтесь и поддержите нашу работу: .
Далее нам нужно создать персональное приложение на Reddit, используя наш собственный аккаунт Reddit, чтобы получить действительный секретный ключ клиента. Личное приложение можно создать на Reddit по следующей ссылке:
При создании приложения вы выбираете Web App с URL перенаправления http://localhosy:8080, как показано на рисунке ниже.
Подключение к Reddit
После этого вы получите клиентский ключ, который вы можете использовать для интеграции Reddit в вашем Python-скрипте. Мы создадим метод redditConnect() с помощью следующего кода Python. Помните, что если вы хотите также публиковать сообщения в reddit, то вам необходимо указать имя пользователя и пароль. Используя client_id и client_secrect, вам будет разрешено только читать с reddit.
Если вы не указали имя пользователя и пароль, redditConnect() должен вывести True в консоль с помощью print(reddit.read_only).
Чтение из Subreddit
Далее мы создадим метод, используемый для печати сообщений из заданного Subreddit.
Приведенный выше метод printPostFromSubreddit() принимает два входных сигнала, а именно: соединение с Reddit, предоставляемое нашим методом redditConnection(), и субредит, предоставляемый в виде строки.
При его вызове будет выведен заголовок первых 10 сообщений в категории “Горячие” данного субреддита.
Публикация в Subreddit
Последний метод, который мы создадим, позволит нам публиковать сообщения в Subreddit. Этот метод называется postToReddit и принимает 4 входных параметра. Ему необходимо соединение с Reddit (результат redditConnection()), правильный субреддит для публикации, заголовок для сообщения и url.
При предоставлении правильных входных данных метод создаст пост и выведет сообщение в консоль. При разработке этого скрипта вы можете использовать сабреддит r/test, так как этот сабреддит не имеет правил отправки и позволяет вам тестировать свой скрипт без блокировки или удаления ваших сообщений.