项目中单机使用shell脚本进行多个scrapy命令的运行,即同个shell进行多个scrapy命令的执行,这样会大大提高爬取效率,好好利用CPU使用率
在shell命令行一次执行多个scrapy命令,可以有三种方式:
(一)每个命令之间用 ; 隔开
各命令的执行结果,不会影响其他命令的执行。也就是命令执行起来,不一定都能保证成功。 或的意思
scrapy crawl a;scrapy crawl b
(二)每个命令之间用 && 隔开
前面的命令执行成功后,才会执行后面的命令。这样就可以保证所有的命令执行成功了 。 与的意思
scrapy crawl a && scrapy crawl b
(三) 每个命令之间用 || 或者是 |隔开
|| 也是或的意思,但是这里是只有前面的命令执行失败后,我才会进行下一条的命令执行,直到执行成功为止。
shell的管道就是这个原理,比如我们打log,将错误日志输出到某个log上用的就是这个原理
cd /home/admin/123 || echo "error123"
总结:
虽然上面三种情况列出来了,但是我们这里使用第一种方式:
scrapy crawl a;scrapy crawl b