【问题标题】:php call scrapy by custom commandphp通过自定义命令调用scrapy
【发布时间】:2019-01-24 02:03:35
【问题描述】:

我必须同时运行五个不同的scrapy spider,所以我在scrapy 中定义了一个自定义命令

scrapy crawlall

调用这些蜘蛛。当我在命令行中独立运行时,它可以成功运行。

但是,当我使用 php shell_exec 调用相同的命令并且 php 文件中的代码类似时,它会失败

$cmd = 'scrapy crawlall';
$results = shell_exec($cmd);
echo $results;

网页不会立即回显任何内容,并且不会等待 scrapy 函数(或者甚至在开始时没有被调用,我不知道)。那么如何在 php 文件中调用这个命令或其他方式来同时运行这 5 个蜘蛛呢?谢谢!

【问题讨论】:

  • 我发现该命令已被调用并执行,但在以下位置自行停止:[scrapy.extensions.telnet] DEBUG: Telnet console listening on 127.0.0.1:6023 有人知道发生了什么吗?
  • 你确定它在那之前可以工作吗?您可以尝试从 PHP 运行 scrapy list 并查看它是否返回预期的蜘蛛?

标签: php python cmd scrapy


【解决方案1】:

我已经解决了这个问题。如果您遇到相同的情况,请尝试删除命令 python 文件中的所有注释。我不知道原因,但是在我这样做之后它就成功了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2017-12-02
    • 2011-05-30
    • 1970-01-01
    • 2016-05-13
    相关资源
    最近更新 更多