Сделал я бота в телеграмме с отправкой новостей из определенного сайта.
Когда включаю сам парсер без бота, то он выводит всю информацию из ленты новостей в консоль, а когда включаю бот и пишу команду в тг для получения информации, то он отправляет всего одну новость. Можете исправить мой код и сделать так, чтобы он отправил 5 или 10 новостей из ленты вместо одного.
from bs4 import BeautifulSoup
import requests
import telebot
bot = telebot.TeleBot('config.token')
url = 'http://mignews.com/mobile'
page = requests.get(url)
new_news = []
soup = BeautifulSoup(page.text, "html.parser")
news = soup.findAll('a', class_='lenta')
for i in range(len(news)):
if news[i].find('span', class_='time2 time3') is not None:
new_news.append(news[i].text)
for i in range(len(new_news)):
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Привет, ты написал мне /start')
@bot.message_handler(content_types=['text'])
def send_text(message):
if message.text == 'Новости':
bot.send_message(message.chat.id, new_news[:5])
elif message.text == 'News':
bot.send_message(message.chat.id, new_news[:5])
bot.polling()