首页 > 解决方案 > 使用 Win10 任务调度器通过批处理调度 Scrapy Spider

问题描述

我对 python 还是很陌生,但我设法让我的蜘蛛抓取我需要的东西。

然后我创建了一个批处理文件来运行那个蜘蛛。批处理如下所示:

call C:\Users\Tribic\Anaconda2\Scripts\activate.bat
call cd cmc\cmc\spiders\
call scrapy runspider cmc_job.py -o out3.csv

Line1 将 cmd 切换为 python

Line2 去对应的路径

Line3 运行蜘蛛,它将数据保存到 csv 文件。

这工作正常,只要我单击批处理(鼠标或键盘) - 但是当使用 Win10 任务计划程序进行计划时,它不起作用...... cmd 窗口打开 1/2 秒,我认为它不会等待要执行的第一行,所以第 3 行是一个错误的命令,然后它就关闭了。

再一次,它在手动启动时工作正常,所以我不明白手动执行和系统执行之间的区别。

提前致谢 :)

标签: pythonscrapyscheduled-tasks

解决方案


尝试以下语法,它适用于 Windows 任务计划程序。注意 cmdline.py 的引号和调用

@Echo Off
REM activate Python venv
CALL "C:\Users\Tribic\Anaconda2\Scripts\activate.bat"
CD "C:\cmc\cmc\spiders\"
CALL "C:\Users\Tribic\Anaconda2\Scripts\python.exe" "C:\Users\Tribic\Anaconda2\Scripts\Lib\site-packages\scrapy\cmdline.py" runspider cmc_job.py -o out3.csv
deactivate

推荐阅读