【发布时间】: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并查看它是否返回预期的蜘蛛?