Сегодня мы будем вытягивать ленту из телеграма на свой сайт / группы в соц. сетях и т.п.
Зачем это вам нужно? Например, если вы ведете свой блог в разных соц. сетях (например fb, telegram, vk, twitter и т.п.), что бы не дублировать вручную новости, вы можете автоматизировать это RSS лентой из данного гайда.
Так же можно тырить темы из других телег, получив, грубо говоря, сайт с автонаполнением (либо доп. контентом).
Дальше мы делаем нашу RSS ссылку, где слово — « ПоследнееСлово » меняем на название канала
Добавляем нашу RSS ссылку на сайт.
Вот что у нас получилось, при добавлении в WordPress (чисто для примера). Немного стилизации и вы получаете автонаполняемую ленту новостей с телеграм канала на свой сайт либо в соц сети.
Источник: forumteam.world
Telegram бот пересылки сообщений из RSS канала
PosterBot — бот для экспорта записей из социальных сетей в каналы Telegram
Сегодня мы напишем бота пересылки сообщений из RSS ленты в канал telegram.
Для начала нужно зарегистрировать бота в telegram.
Отправляем ему команду:
/newbot
Получаем в ответ сообщение:
Alright, a new bot. How are we going to call it? Please choose a name for your bot. |
Придумываем имя боту.
Получаем в ответ сообщение:
Good. Now let’s choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot. |
Придумываем username, должно заканчиваться обязательно на ‘bot’
Получаем в ответ сообщение:
Good. Now let’s choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot. |
Все, бот зарегистрирован, самое важное это последние сообщение с токеном бота, ни кому не сообщайте его т.к. зная токен можно полностью управлять ботом.
Долее создаем новую группу или в уже существующую добавляем бота поиском по имени которое указывали ранее.
Переходим к написанию бота.
Для начала создадим и заполним файл settings.ini в котором будем хранить настройки нашего бота.
В этом примере источник feed — RSS https://lenta.ru/rss
datetime — строка для хранения даты и времени последнего полученного сообщения RSS
bot_token — токен бота полученного ранее
channel — ваш канал в телеграмме в который будут отправляться сообщения из RSS.
Для начала нам понадобятся стандартные библиотеки, datetime, configparser и urllib
И несколько библиотек не входящих в стандартную поставку python — feedparser и telebot
Установим недостающие библиотеки, в консоли пишем следующие команды:
pip install feedparser pip install pyTelegramBotAPI
Создаем файл main.py и в самом начале файла импортируем нужные библиотеки:
import feedparser import datetime import telebot import configparser import urllib.request, urllib.parse, urllib.error
Считываем настройки из settings.ini:
Как настроить автоматический постинг (автопостинг) в Телеграм из ВК, Твиттера, Ютуба или сайта
# Считываем настройки config = configparser.ConfigParser() config.read(‘settings.ini’) FEED = config.get(‘RSS’, ‘feed’) DATETIME = config.get(‘RSS’, ‘DATETIME’) BOT_TOKEN = config.get(‘Telegram’, ‘BOT_TOKEN’) CHANNEL = config.get(‘Telegram’, ‘CHANNEL’)
Получаем RSS ленту
rss = feedparser.parse(FEED)
Инициализируем телеграмм бота
bot = telebot.TeleBot(BOT_TOKEN)
Запускаем основной цикл получения сообщений RSS и проверяем дату сообщений, в вашем источнике RSS формат даты может отличаться, поэтому в строке time = datetime.datetime.strptime(data, ‘%a, %d %b %Y %H:%M:%S %z’) подставьте свои параметры, все параметры для работы с датой можно посмотреть тут
for post in reversed(rss.entries): data = post.published time = datetime.datetime.strptime(data, ‘%a, %d %b %Y %H:%M:%S %z’) time_old = config.get(‘RSS’, ‘DATETIME’) time_old = datetime.datetime.strptime(time_old, ‘%Y-%m-%d %H:%M:%S%z’)
Пропускаем уже опубликованные посты, если пост не был опубликован — то записываем дату и время поста в файл:
# Пропускаем уже опубликованные посты if time
Получаем заголовок поста
text = post.title print(text)
Получаем картинку
# Получаем картинку img = post.links[1].href print(img)
Получаем ссылку на пост
link = post.links[0].href print(link)
Скачиваем картинку
urllib.request.urlretrieve(img, ‘img.jpg’)
Отправляем картинку и текстовое описание в Telegram
bot.send_photo(CHANNEL, open(‘img.jpg’, ‘rb’)) bot.send_message(CHANNEL, » + text + », parse_mode=’HTML’)
Цикл получения и отправки из RSS ленты в Telegram полностью:
for post in reversed(rss.entries): data = post.published time = datetime.datetime.strptime(data, ‘%a, %d %b %Y %H:%M:%S %z’) time_old = config.get(‘RSS’, ‘DATETIME’) time_old = datetime.datetime.strptime(time_old, ‘%Y-%m-%d %H:%M:%S%z’) print(time) print(time_old) # Пропускаем уже опубликованные посты if time ‘ + text + », parse_mode=’HTML’)
Вот и все, бот для отправки из RSS в Telegram готов.
Полный код бота вы можите посмотреть в моем репозитории на github
Источник: nikovit.ru
Читаем блоги, рассылки и новости подписок YouTube в одном месте
Чем чтение RSS лент удобнее посещения сайтов, соцсетей и приложений? Тем, что вы читаете статьи в хронологическом порядке без рекламы и комментариев. Вы сами выбираете, что почитать из своих подписок, а не по повелению искусственного интеллекта facebook и instagram.
Приложение для чтения RSS-лент новостей News Explorer
Это очень удобно. Я почти отказался от чтения каналов напрямую в Telegram. Все каналы я каталогизировал по рубрикам и перенес в RSS.
Отдельно хочу сказать про ленты из YouTube. Я разделил все подписки по темам (например, у меня теперь есть папка с видео про изучение английского языка). А самое главное – никакой рекламы в видео.
Что такое RSS-лента новостей?
Это специальная страничка, на которой собраны последние статьи, опубликованные на сайте. У каждого сайта или канала будет отдельная RSS-лента.
Как читать ленты в RSS-ридере?
Feedly – сервис для чтения RSS
Для того, чтобы собрать все ленты в одном месте и разбить новости по категориям, существуют специальные сайты или приложения для чтения RSS лент. Просто добавляйте в них ссылки на сайты или ссылки на RSS ленты и читайте.
Вот некоторые популярные RSS читалки, которыми пользуюсь я:
- Feedly (Web, iOS, Android)
- News Explorer (Mac, iOs)
Добавляем любимые сайты в читалку
Показываю на примере Feedly. Нажимаем на плюс, добавляем адрес сайта и выбираем в какую папку поместить ленту новых статей. И всё.
Добавляем сайт в Feedly
Добавляем email-рассылки в свою RSS ленту
Сервис Kill The Newsletter выдаёт специальный адрес для каждой рассылки, принимает на него письма и формирует отдельную RSS-ленту. Так рассылки не будут забивать ваш почтовый ящик.
Заходим на сайт, пишем название ленты:
Получаем специальный Email адрес для подписки на рассылку и ссылку на RSS ленту с письмами, которые будут приходить на этот ящик.
Подписываемся, например, на мою рассылку.
Вписываем специальный Email. Добавляем RSS-ленту в ридер. Теперь все входящие письма отображаются в виде статей. В первом письме нажмите на подтверждение подписки и ждите новые выпуски рассылки уже в ленте новостей.
RSS-лента из любого Telegram-канала, Facebook, VK, Instagram
Telegram канал в RSS-ленту
Запасной вариант – используем ссылку RSS-ленты такого вида:
https://rsshub.app/telegram/channel/mishavputi
https://bridge.squizduos.ru/?action=displayusername=mishavputihttps://venagid.ru/blog/rss-reader» target=»_blank»]venagid.ru[/mask_link]