@flow_sad

Как сделать, чтобы в парсере обновлялась инфа?

Я сделал парсер, но не обновляется информация.
Помогите пожалуйста.
код:
import telebot
import requests
from bs4 import BeautifulSoup as b

URL = "https://region15.ru/"
r = requests.get(URL)
soup = b(r.text, 'html.parser')
news = soup.find_all('div', class_='news-item')
clear_news = [c.text for c in news]
bot = telebot.TeleBot('мой токен') # Replace with your bot token
@bot.message_handler(commands=['start']) # Handle the '/start' command
def send_welcome(message):
bot.reply_to(message, 'Добро пожаловать, {}! \nЭто бот новостей Алании. \n команда на новости:/new_news'.format(message.from_user.first_name))
@bot.message_handler(commands=['new_news']) # Handle the '/start' command
def send_news(message):
bot.send_message(message.chat.id, clear_news[0])
bot.send_message(message.chat.id, clear_news[1])
bot.send_message(message.chat.id, clear_news[2])
bot.send_message(message.chat.id, clear_news[3])
bot.send_message(message.chat.id, clear_news[4])
bot.send_message(message.chat.id, clear_news[5])
bot.send_message(message.chat.id, clear_news[6])
bot.send_message(message.chat.id, clear_news[7])
bot.send_message(message.chat.id, clear_news[8])
bot.send_message(message.chat.id, clear_news[9])


bot.polling() # Start the bot
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
@dima20155
you don't choose c++. It chooses you
import telebot
import requests
from bs4 import BeautifulSoup as b

bot = telebot.TeleBot('мой токен') # Replace with your bot token

URL = "https://region15.ru/"
clear_news = []

def update_news_page():
    r = requests.get(URL)
    soup = b(r.text, 'html.parser')
    news = soup.find_all('div', class_='news-item')
    global clear_news
    clear_news = [c.text for c in news]

@bot.message_handler(commands=['start']) # Handle the '/start' command
def send_welcome(message):
    bot.reply_to(message, 'Добро пожаловать, {}! \nЭто бот новостей Алании. \n команда на новости:/new_news'.format(message.from_user.first_name))
    
@bot.message_handler(commands=['new_news']) # Handle the '/start' command
def send_news(message):
    update_news_page()
    for i in range(10):
        bot.send_message(message.chat.id, clear_news[i])

bot.polling() # Start the bot
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@igor6130
Нужно каждый раз делать новый запрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы