@ghazar7an

Python telegram bot || Можете помочь с ботом, парсером?

Сделал я бота в телеграмме с отправкой новостей из определенного сайта.
Когда включаю сам парсер без бота, то он выводит всю информацию из ленты новостей в консоль, а когда включаю бот и пишу команду в тг для получения информации, то он отправляет всего одну новость. Можете исправить мой код и сделать так, чтобы он отправил 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()
  • Вопрос задан
  • 244 просмотра
Решения вопроса 1
Надо отправлять не new_news[:5], а
' '.join(new_news[:5])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы