Как запустить скрипт python 24/7 с selenium webdriver - PullRequest
0 голосов
/ 10 июля 2020

Добрый день,

У меня проблема. Я начинающий программист python, и для одного из моих клиентов, для которого я делаю высокоуровневые таблицы, я написал сценарий python, который использует selenium webdriver для получения файла данных с веб-сайта. Однако этот файл должен запускаться каждое утро в 7:00, и я хотел бы знать, есть ли способ, чтобы этот скрипт работал круглосуточно и без выходных, чтобы он мог выполнять свои задачи каждое утро в 7:00. При желании у меня есть raspberry pi 4, но я никогда не использовал его ни для чего, он все еще упакован.

Заранее спасибо.

С уважением,

Thomas

Ответы [ 3 ]

0 голосов
/ 10 июля 2020

Томас, я думаю, что для вашего скрипта, который будет работать 24/7, вы можете использовать веб-хостинг (PythonAnyWhere (он бесплатный)), и что для вашего скрипта выполните некоторые задачи в 7:00 часов, вы можете сделать условие в вашем скрипте с модулем datetime. сделайте l oop, а для этого ваш скрипт будет отложен, например:

while(time != 7:00): 
    pass 
    if time == 7:00:
        do something
0 голосов
/ 10 июля 2020

Вы можете рассмотреть возможность аренды дешевого облачного сервера sh (например, от digitalocean). Существует несколько способов передачи данных из вашего скрипта python вашему боту, либо напрямую, через веб-сокет, либо через веб-страницу, которая отображает их в формате JSON или иным образом.

Поскольку вы уже используя python, вы можете изучить возможность запуска приложения flask на вашем узле вместе со скриптом или даже объединить их вместе.

Если запускать отдельно, вы можете изменить свой скрипт, чтобы вывести его содержимое в файл, а затем прочитать файл с вашим flask приложением, чтобы отобразить его на веб-странице. Например:

with open('/tmp/data.txt', 'w') as f:
f.write(yourdata)

затем в вашем flask приложении:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def show_data():
with open('/tmp/data.txt', 'r') as f:
    data = f.read()
return data
0 голосов
/ 10 июля 2020

Вы можете просто использовать crontab

0 7 * * * yourScriptCommand
...