Программа на Python non stop

Есть скрипт на Python. Его функционал: парсит веб страницу, из всего текста на той самой странице берет лишь номера телефонов и засовывает их в бд PostgreSQL.

Раз в сутки на веб странице добавляют новый текст. Ссылка не меняется, парсер работает по одной ссылке: https://www.rttnews.com/CorpInfo/ConferenceCalls.aspx.

Подскажите, как сделать так, чтобы прога работала 24/7. Например я в 2 часа ночи её запустил, пк не выключаю, прога парсит сайт и затем повтораяет тоже самое через 24 часа. Повторюсь: пк не выключаю, работает 24 часа в сутки.

Как записать это в скрипте на Python, чтобы прогала сама раз в 24 часа повторяла процедуру парсинга? Здесь нужен time.sleep, а какой цикл?


Ответы (2 шт):

Автор решения: HelloWorld
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)
→ Ссылка
Автор решения: passant

Прямой ответ на ваш вопрос 24*60*60=86400.

Однако, на мой взгляд это не очень хорошая идея. Как и любое повторение через достаточно большой промежуток времени. Дело не в том, что вы комп не выключаете, у вас еще и постоянно должен работать интерпретатор Python. Зачем? В любой ОС есть планировщик задания. Настраиваете его так, что-бы раз в 24 часа запускался Python c указанием на выполняемый скрипт. По крайней мере загрузка системы будет существенно меньше.

Кстати, именно для таких задач планировщики и предназначены.

→ Ссылка