, поэтому я хочу проверить сайт, чтобы обновлять меня всякий раз, когда есть новый опубликованный пункт. Они часто не обновляются, поэтому я уверен, что когда они будут обновлены, это будет интересным. Я хочу достичь этого, выбирая «начальный номер» и подсчитывая количество ссылок на странице, затем сравнивайте это число с количеством ссылок каждые 10 минут, пока количество ссылок больше стартового.Используйте вывод одной функции в качестве входного сигнала другой функции
Сначала я запускаю это, чтобы получить «стартовый номер» ссылок:
links=[]
for link in soup.findAll('a'):
links.append(link.get('href'))
start_num = len(links)
Затем сравните это число с количеством ссылок прямо сейчас и через каждые 5 секунд:
notify=True
while notify:
try:
page = urllib.request.urlopen('web/site/url')
soup = bs(page, "lxml")
links=[]
for link in soup.findAll('a'):
links.append(link.get('href'))
if len(links) > start_num:
message = client.messages.create(to="", from_="",body="")
print('notified')
notify=False
else:
print('keep going')
time.sleep(60*5)
except:
print("Going to sleep")
time.sleep(60*10)
Как может Я объединяю все это в 1 функцию, в которой я запускаю, может хранить начальное число ссылок, не перезаписывая его каждый раз, когда я проверяю его на текущее количество ссылок?
Если вы хотите сохранить состояние в функции, вы должны рассмотреть возможность использования класса. –