Есть бот на библиотеке telebot, который парсит новости с сайта с помощью bs4. Моя задумка в том, чтобы записывать url новостей, которые бот спарсил, в отдельный текстовый документ, это я сделал. Но в случае их наличия в документе он должен не выводить их, а выводить только новости, которых ещё не было. В случае же полного отсутствия новых постов бот должен вывести сообщение о том, что новостей нет. Целый день голову ломаю, ничего не могу придумать. Вот так сейчас выглядит отрывок кода (простите, если что не так запостил, я первый раз на этом форуме):
elif message.text=='Помощник, есть новости?':
bot.send_message(message.chat.id, 'Вот последние новости.')
news_url='(сайт)'
news_headers={'User-Agent': '(агент пользователя)'}
news_response=requests.get(news_url, headers=news_headers)
result_news=BeautifulSoup(news_response.content, 'html.parser')
items_news=result_news.findAll('div', class_='list-item')
comps_news=[]
for item in items_news:
comps_news.append({'news_title': item.find('a', class_='list-item__title color-font-hover-only').get_text(strip=True), 'news_link': item.find('a', class_='list-item__title color-font-hover-only').get('href')})
news_link=item.find('a', class_='list-item__title color-font-hover-only').get('href')
news_file=open('(путь к текстовому файлу)', 'r')
news_note=set()
for line in news_file:
news_note.add(line.strip())
news_file.close()
if not str(news_link) in news_note:
news_file=open('(путь к текстовому файлу)', 'a')
news_file.write(str(news_link)+'\n')
news_note.add(news_link)
for comp in comps_news:
bot.send_message(message.chat.id, comp['news_title']+'\n'+comp['news_link'])