Программа на Python non stop
Есть скрипт на Python. Его функционал: парсит веб страницу, из всего текста на той самой странице берет лишь номера телефонов и засовывает их в бд PostgreSQL.
Раз в сутки на веб странице добавляют новый текст. Ссылка не меняется, парсер работает по одной ссылке: https://www.rttnews.com/CorpInfo/ConferenceCalls.aspx.
Подскажите, как сделать так, чтобы прога работала 24/7. Например я в 2 часа ночи её запустил, пк не выключаю, прога парсит сайт и затем повтораяет тоже самое через 24 часа. Повторюсь: пк не выключаю, работает 24 часа в сутки.
Как записать это в скрипте на Python, чтобы прогала сама раз в 24 часа повторяла процедуру парсинга? Здесь нужен time.sleep, а какой цикл?
Ответы (2 шт):
from datetime import datetime
import time
class Parser():
def __init__(self):
pass
while True:
time.sleep(1800) # Каждый полчаса цикл будет повторятся
if datetime.now().time().hour == 23: # Вместо 23 указывешь свое время!
pars = Parser()# Твой парсер
else:
print(datetime.now().time().hour)
Прямой ответ на ваш вопрос 24*60*60=86400.
Однако, на мой взгляд это не очень хорошая идея. Как и любое повторение через достаточно большой промежуток времени. Дело не в том, что вы комп не выключаете, у вас еще и постоянно должен работать интерпретатор Python. Зачем? В любой ОС есть планировщик задания. Настраиваете его так, что-бы раз в 24 часа запускался Python c указанием на выполняемый скрипт. По крайней мере загрузка системы будет существенно меньше.
Кстати, именно для таких задач планировщики и предназначены.