Постинг свежих новостей в телеграм-канал через бота
Есть бот, который парсит новостной сайт и отправляет каждую свежую новость в телеграм-канал. В теории, он должен каждые полчаса проверять, не появилось ли на сайте чего-то нового, если не появилось - засыпать обратно на полчаса. Но у меня он продолжает слать одну и ту же новость по несколько раз, если не было запощено ничего нового.
Проблема в том, что у новостей нет уникального id, поэтому я не знаю, как сравнить их между собой и не отправлять одну и ту же статью несколько раз. Буду рада любым подсказкам.
import telebot
import requests
from bs4 import BeautifulSoup
import os
import time
token = os.environ['TOKEN']
bot = telebot.TeleBot(os.getenv('TOKEN'))
channel_id = '@name'
url = 'https://vc.ru/new'
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
post = soup.find('div', class_="feed__item l-island-round")
title = post.find("div", class_="content-container").text.strip()
post_url = post.find("a", class_="content-link", href=True)["href"].strip()
@bot.message_handler(commands=["start"])
def main(message):
bot.send_message(channel_id, 'Начинаем постинг новостей')
while True:
n = bot.send_message(channel_id, title + post_url)
time.sleep(1800)
if message.text == n.text:
time.sleep(1800)
bot.polling(none_stop=True)