Cronjob不执行python脚本

我想使用 Cron 每天每小时执行我的 python 脚本。因此我创建了一个如下所示的 cronjob:@hourly /home/pi/Desktop/repository/auslastung_download/auslastung.py

cronjob 应执行以下脚本:

from bs4 import BeautifulSoup

from selenium.webdriver.firefox.options import Options as FirefoxOptions

from selenium import webdriver

from datetime import datetime, date



def get_auslastung_lichtenberg():

    try:

        url = "https://www.mcfit.com/de/fitnessstudios/studiosuche/studiodetails/studio/berlin-lichtenberg/"

        options = FirefoxOptions()

        options.add_argument("--headless")

        driver = webdriver.Firefox(options=options)

        driver.get(url)


        html_content = driver.page_source

        soup = BeautifulSoup(html_content, 'html.parser')


        elems = soup.find_all('div', {'class': 'sc-iJCRLp eDJvQP'})

        #print(elems)

        auslastung = str(elems).split("<span>")[1]

        #print(auslastung)

        auslastung = auslastung[:auslastung.rfind('</span>')]

        #print(auslastung)

        auslastung = str(auslastung).split("Auslastung ")[1]

        #print(auslastung)

        auslastung = auslastung[:auslastung.rfind('%')]

        print(auslastung)


        now = datetime.now()


        current_time = now.strftime("%H:%M:%S")

        #print("Current Time =", current_time)

        today = date.today()

        print(today)


        ergebnis = {'date': today, 'time':  current_time,'studio': "Berlin Lichtenberg", 'auslastung': auslastung}


        return ergebnis


    finally:

        try:

            driver.close()

        except:

            pass


"""

import json


with open('database.json', 'w') as f:

    json.dump(get_auslastung_lichtenberg(), f)

    """


import csv


with open('/home/pi/Desktop/repository/auslastung_download/data.csv', mode='a') as file:

    fieldnames = ['date', 'time', 'studio', 'auslastung']

    writer = csv.DictWriter(file, fieldnames=fieldnames)


    writer.writerow(get_auslastung_lichtenberg())


通过执行时python3 auslastung.py一切正常并且脚本写入 data.csv 文件。


拉莫斯之舞
浏览 102回答 1
1回答

慕标5832272

首先,您必须确保脚本运行。如果以交互方式运行,python3 auslastung.py为什么在 cron 上以不同的方式调用 python 脚本。您是否尝试过以交互方式运行/home/pi/Desktop/repository/auslastung_download/auslastung.py?没有初始python3,它会运行吗?python3 auslastung.py如果您的脚本在 crontab 上运行,您应该包含解释器和脚本的完整路径:@hourly /paht/to/python3 /full/path/to/script.py如果您使脚本直接运行而不需要指示解释器,那么&nbsp;/full/path/to/script.py您应该在 crontab 上包含脚本的完整路径:@hourly /full/path/to/script.py您可以包含一个 shebang:脚本的第一行指示使用哪个解释器来执行它。所以你的第一行应该是#!/path/to/your/interpreter然后您必须确保该脚本具有执行权限chmod +x auslastung.py。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python