telegrambot
Описание
Этот бот парсит список статей с сайтов в телеграм канал по команде "новости". Бот выгружает в телеграм канал заголовок и ссылку на статью с сайта. Парсинг осуществляется постоянно, пока бот в работе. Инструкция по установке и использованию находится в файле README.md
Языки
- Python100%
Установка и настройка
Данный Telegram-бот написан на языке Python и использует следующие библиотеки:
- telebot: для взаимодействия с Telegram Bot API
- requests: для выполнения HTTP-запросов
- BeautifulSoup: для парсинга HTML-страниц
Для работы бота необходимо выполнить следующие шаги:
Linux
-
Создайте папку для размещения файлов бота (допустим telegramBot) и активируйте виртуальное окружение в этой папке:
-
Установите необходимые библиотеки:
-
Разместите папку с файлом бота в папке с виртуальным окружением
-
Перейдите в папку с ботом:
-
Запустите бота:
Windows
-
Создайте папку для размещения файлов бота (допустим telegramBot) и активируйте виртуальное окружение в этой папке:
-
Установите необходимые библиотеки:
-
Разместите папку с файлом бота в папке с виртуальным окружением
-
Перейдите в папку с ботом:
-
Запустите бота:
Настройка
- Замените token и channel_id в файле bot/Bot.py на ваши собственные значения.
- Заполните значение на своё:
- url = "ссылка на сайт со списком статей";
- post_elements = soup.find_all("название тега контейнера карточки", class_="его класс");
- post_url_element = post_element.select_one("селектор ссылки на статью");
- post_url = "ссылка на сайт со списком статей" + post_url_element["href"];
- title_element = post_element.select_one("селектор заголовка статьи")
- Убедитесь, что ваш Telegram-канал может принимать сообщения от бота.
Запуск бота
Для запуска бота выполните следующую команду в активированном виртуальном окружении:
Бот будет ожидать команду "новости" от пользователей, после чего начнет парсить последнюю статью и отправлять ее в указанный Telegram-канал.
Использование
Чтобы использовать бота, отправьте ему сообщение "новости". Бот будет периодически проверять наличие новых статей и отправлять их в указанный Telegram-канал.
Логирование
Бот использует модуль logging для вывода информационных и отладочных сообщений. Логи сохраняются в консоли.
Остановка бота
Вы можете остановить бота, нажав Ctrl+C в консоли или терминале, где запущен бот.
Дополнительная информация
- Файл с кодом бота находится в папке bot/Bot.py.
- Бот использует глобальные переменные last_post_url для хранения информации о последней отправленной статье.
- Функция signal_handler обрабатывает сигнал Ctrl+C для корректного завершения работы бота.