2

我已经像这样安装了scrapyd

pip install scrapyd

我想使用scrapyd-deploy

当我输入scrapyd

我在cmd中遇到了这个异常:

'scrapyd' 不是内部或外部命令、可运行程序或批处理文件。

4

4 回答 4

15

我遇到了同样的问题,我还阅读了一些关于scrapyd不可用/无法在Windows上运行并几乎放弃它的意见(我打算部署到Linux机器上并不真正需要它,想要scrapyd在 Windows 上用于调试)。但是,经过一番研究,我找到了一种方法。由于我还没有找到任何明确的说明,我会尽量让我的答案尽可能详细,列出所有对我有用的步骤。

假设您想在本地机器上运行 scrapyd,您将需要运行两条命令行:第一个用于连接到 scrapyd 并保持连接打开,第二个用于部署和调度。

  • 你已经 pip 安装了 scrapyd。

  • 在此文件夹中创建一个文件夹 C:\scrapyd 和一个名为 scrapyd.log 的空 .log 文件(不确定此步骤是否必要)。

  • 打开你的 cmd 和 cd 到 Python 中的 Scripts 文件夹。这通常类似于:C:\Python27\Scripts。类型:python scrapyd

  • 此时您应该会看到类似的内容:

    2014-03-26 13:57:30+0200 [-] Log opened.
    
    2014-03-26 13:57:30+0200 [-] twistd 13.2.0 (C:\Python27\python.exe 2.7.6) starting up.
    
    2014-03-26 13:57:30+0200 [-] reactor class: twisted.internet.selectreactor.SelectReactor.
    
    2014-03-26 13:57:30+0200 [-] Site starting on 6800
    
    2014-03-26 13:57:30+0200 [-] Starting factory <twisted.web.server.Site instance at 0x0000000003F69208>
    
    2014-03-26 13:57:30+0200 [Launcher] Scrapyd 1.0.1 started: max_proc=16, runner='scrapyd.runner'
    
  • 如果您可以打开浏览器并转到,http://localhost:6800那么您就可以了。命令行窗口应在后台保持打开状态,因为如果您关闭它,连接将被关闭。

  • 在 Windows 资源管理器中,导航到您的 scrapy 项目文件夹并编辑在那里找到的 scrapy.cfg 文件:例如写下您的部署目标名称:[deploy:scrapyd],然后取消注释 url 行。

  • 打开第二个命令行并 cd 到您的 scrapy 项目文件夹。类型:scrapy deploy -l

  • 部署:输入:scrapy deploy scrapyd -p project_name(scrapyd 是你的目标)。您应该得到一个服务器响应代码 200 和一个 ok 状态。您还可以通过键入以下内容来检查部署是否成功:scrapy deploy -L scrapyd

  • 调度:你需要为windows安装curl。方法如下:questions/9507353/steps-to-setup-curl-in-windows 类型:curl http://localhost:6800/schedule.json -d project=project_name -d spider=spider_name 再次,您应该获得 ok 状态,并且在浏览器中http://localhost:6800的作业下,您可以检查作业是否确实已安排。

我希望这有帮助。

于 2014-03-26T13:45:56.190 回答
1

对我来说,上面提出的解决方案不起作用。

下面对我有用:(适用于 0.24 版的scrapy)。

转到C:\Python27\Scripts并创建两个文件:

scrapy.bat

scrapyd-deploy.bat

用记事本编辑这两个文件并粘贴:

scrapy.bat文件中:

@echo off
c:\Python27\python c:\Python27\Scripts\scrapy %*

scrapyd-deploy.bat文件中:

@echo off
c:\Python27\python c:\Python27\Scripts\scrapyd-deploy %*

然后保存这些文件并重新启动cmd。

如果你有C:\Python27\Python并且C:\Python27\Scripts在你的PATHthen 两个命令中scrapy并且scrapyd-deploy应该工作。

于 2015-09-24T21:18:45.103 回答
1

如果您使用pip install scrapyd-client我建议安装scrapyed-client,请尝试以下命令:

pip install git+https://github.com/scrapy/scrapyd-client

它对我有用。

由于没找到scrapyd-client命令

于 2018-08-01T09:45:59.887 回答
0

Marcin Rapacz 的回答对我有用。但是,我使用 anaconda 来管理我的 python 库。因此,文件应位于“C:\Program Files (x86)\Anaconda3\Scripts”中,文件中的内容应更改为:

@echo off
"C:\Program Files (x86)\Anaconda3\python.exe" "C:\Program Files 
(x86)\Anaconda3\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9
于 2017-09-21T06:53:35.850 回答