Hacer aplicacion que se ejecute hasta una hora determinada en python

Estoy tratando de hacer un web spyder que obtenga información de la web. El problema es que normalmente cuando el programa cumple sus objetivos ya deja de funcionar, sin embargo las paginas de las que obtengo información se estan actualizando continuamente por lo que quiero que mi programa se ejecute continuamente sin parar de un horario a otro. Por ejemplo de 3 de la mañana a 6 de la tarde.

No se tecnicamente como se puede hacer en programacion esto para que la aplicacion se ejecute continuamente por lo que agradeceria cualquier tipo de ayuda.

un saludo y gracias de antemano!

1
задан 26.12.2016, 21:29
0 ответов

Не, что операционная система ты работал в linux, и дериваты ты можешь помещать вход в crontab. Пример:

15 10 * * * usuario /home/usuario/scripts/actualizar.sh

Рукописный шрифт actualizar.sh будет работать в каждый день в 10 часов с 15 min.

В windows в запрограммированном задании.

Привет.

1
ответ дан 03.12.2019, 17:58

Я думаю, что решение приходит с datetime:

from datetime import datetime
from datetime import time
hora_inicio = time(3,0,0) # tres de la mañana
hora_finalizacion = time(6,0,0) # seis de la mañana
while True:
    actual = datetime.now()
    actual = time(actual.hour, actual.minute,actual.second)  # este objeto se puede comparar sin tener en cuenta la fecha
    if actual > hora_inicio and actual < hora_finalizacion:
        web_spider()
    else:
        break
1
ответ дан 03.12.2019, 17:58

Я не знаю с деталью твое осуществление, но оно могло бы быть нечто похожим

import time

while true:
    web_spider()
    time.sleep(intervalo_de_tiempo_en_segundos)

Ты можешь проверять более подробно, как работать с методом time здесь

0
ответ дан 03.12.2019, 17:58
  • 1
    Но mé каждый sleep помещает, чтобы спать программа в течение времени, которую ты помещаешь ему. Я хочу, чтобы программа не заснула но он будет работать неопределенно с часа в другой час, не хочу, чтобы он остановился –  26.12.2016, 22:00
  • 2
    Ok, я понимаю ¿ Не ты servirí чтобы тогда просто удалять time.sleep? –  26.12.2016, 22:38

Я думаю, что это самое простое, что он сделал бы.

from datetime import time

start_time = time(3, 0, 0)
end_time = time(6, 0, 0)
while datetime.time.now() > start_time and datetime.time.now() < end_time:
    llama_funcion()

Я надеюсь помочь.

0
ответ дан 03.12.2019, 17:58

Теги

Похожие вопросы