我正在尝试使用 cron 选项卡安排一个 python 脚本,该脚本应在 MacOS 上每天上午 9 点运行。
以下是我在 crontab 中使用的命令 -
0 9 * * * /Library/Frameworks/Python.framework/Versions/3.11/bin/python3 /Users/abhishekshukla/Desktop/python_scripts/tool/automation_test.py >> ~/cron.log 2>&1
我正在使用名为 - advertools 的 python 包,它基于 scrapy。
但是 cron 作业没有运行并抛出错误 -
FileNotFoundError:[Errno 2]没有这样的文件或目录:'scrapy'
下面是我的Python脚本-
import pandas as pd
import advertools as adv
df = pd.read_csv(r'~/Desktop/python_scripts/tool/test_urls.csv',encoding='utf-8')
url_list = df['url'].values.tolist()
print(url_list)
adv.crawl(url_list, 'cron_test_output.jl', follow_links=False)
crawl_df = pd.read_json('cron_test_output.jl')
print(crawl_df)
crawl_df.to_csv(r'~/Desktop/python_scripts/tool/cron_output.csv')
我尝试更改 python 的路径并在虚拟环境中运行相同的命令。但它抛出了同样的错误。
找到解决方案。
四件事-
导入scrapy 从 scrapy.crawler 导入 CrawlerProcess
PATH=/Library/Frameworks/Python.framework/Versions/3.11/bin (可能对你来说不同)
MySpider 类(scrapy.Spider): 您的抓取代码