from bs4 import BeautifulSoup
import requests
import smtplib
import time
def live_news():
source = requests.get(
"https://economictimes.indiatimes.com/news/politics-and-nation/coronavirus-
cases-in-india-live-news-latest-updates-april6/liveblog/75000925.cms"
).text
soup = BeautifulSoup(source, "lxml")
livepage = soup.find("div", class_="pageliveblog")
each_story = livepage.find("div", class_="eachStory")
news_time = each_story.span.text
new_news = each_story.div.text[8::]
print(f"{news_time}\n{new_news}")
while(True):
live_news()
time.sleep(300)
Итак, в основном я пытаюсь почерпнуть последние обновления новостей с новостного сайта. То, что я ищу, - это печатать только последние новости вместе со временем, а не заголовки всех новостей. С помощью приведенного выше кода я могу получать последние обновления новостей, и программа будет отправлять запрос на сервер каждые 5 минут (это задержка, которую я дал). Но проблема здесь в том, что он напечатает те же ранее напечатанные новости снова через 5 минут, если на странице не будет обновлено никаких других последних новостей. Я не хочу, чтобы программа снова печатала те же новости, вместо этого я хотел бы добавить некоторые условия в программу. Так что Он будет проверять каждые 5 минут, есть ли новые обновления или те же самые предыдущие новости. Если есть какие-либо новые обновления, он должен печатать его, иначе не должен.