У меня есть скрипт, который использует bs4 для очистки веб-страницы и получения строки с именем «Последнее обновление: 4/3/2020, 20:28». Затем я назначаю эту строку переменной и отправляю ее по электронной почте. Сценарий планируется запускать один раз в день. Однако дата и время на сайте меняются через день. Поэтому вместо того, чтобы каждый раз запускать скрипт по электронной почте, я бы хотел настроить триггер так, чтобы он отправлялся только тогда, когда дата отличается. Как настроить скрипт для обнаружения этого изменения?
Строка в HTML:
<h1>COVID-19 News Updates</h1>
<br>Last Updated 4/3/2020, 12:08 p.m.
'''Checks municipal websites for changes in meal assistance during C19 pandemic'''
# Import requests (to download the page)
import requests
# Import BeautifulSoup (to parse what we download)
from bs4 import BeautifulSoup
import re
#list of urls
urls = ['http://www.vofil.com/covid19_updates']
#set the headers as a browser
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
#download the homepage
response = requests.get(urls[0], headers=headers)
#parse the downloaded homepage and grab all text
soup = BeautifulSoup(response.text, "lxml")
#Find string
last_update_fra = soup.findAll(string=re.compile("Last Updated"))
print(last_update_fra)
#Put something here (if else..?) to trigger an email.
#I left off email block...
Ответ, который я нашел в шкафу, был такой, но он ссылается на теги, не строка Разбор меняющихся тегов BeautifulSoup