2011-11-02 79 views
0

通过shell脚本调用scrapy爬行程序,该脚本用作crontab项中的命令行。 shell脚本的样子:从cron调用的scrapy脚本只有构造函数调用

scrapy爬行targethost.com

时,时间已到而它确实执行,但似乎只是调用构造函数(我与调试输出验证)。问题是由重新编写shell脚本解决为:

scrapy爬行targethost.com &> cronlog.log

我只是不知道是什么原因。

回答

1

Scrapy执行正确,但不会将其所有消息输出到标准输出,因此简单管道(>)不会将所有内容都重定向到您的文件中,只会导致到标准输出(正如您所说的那样)只是构造函数)。

&>它从scrapy获取所有消息并将它们放入日志中。

+0

但它确实在process_item中调用了记录器方法,但没有记录任何内容,这表明process_item未被调用。然而,&&process_item被调用并且抓取成功。 – user891260

+0

'command&> file'只是将'command'的所有输出重定向到'file'。它对'command'的执行没有影响(至少我不知道)。你的问题必须在别的地方,但我坦白说,只要把那个'&>放在那里,让它成为。 – naeg