python - 使用 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 行是一个错误的命令,然后它就关闭了。
再一次,它在手动启动时工作正常,所以我不明白手动执行和系统执行之间的区别。
提前致谢 :)
解决方案
尝试以下语法,它适用于 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
推荐阅读
- reactjs - 应该如何编写反应页面中的脚本标记以将其正确包含在 webpack 中?
- javascript - document.queryselectorall 不适用于多个类 javascript
- c# - 按 id 从数据库中加载行
- selenium-webdriver - 在 Jmeter 中停止 Selenium WebDrvier 测试
- android - android content provider方法是否需要同步?
- python - 如何使用 SQLAlchemy ORM 插入子查询(将数据从一个表移动到另一个表)
- jsf - 关闭所有面板并使用 p:ajax 更新动态 p:accordionPanel
- python - 类型错误:参数 1 具有意外类型“QPushButton”
- linux - 查找和复制命令在 bash 中不起作用
- python - Python:dropbox API 中的sharing_get_shared_link_file() 示例