如何将所有CPU内核用于Scrapy

时间:2017-07-10 02:02:04

标签: scrapy

我的scrapy程序只使用一个CPU核心,无论我CONCURRENT_REQUESTS如何。如果scrapy中的某些方法可以在一个scrapy爬虫中使用所有cpu核心?

ps:在早期版本中似乎有争论max_proc,但我现在找不到它。

1 个答案:

答案 0 :(得分:2)

Scrapy不使用多个CPU。

这是设计使然。通常,Scrapy的瓶颈不是CPU,而是网络输入/输出。因此,即使使用单个CPU,Scrapy也可以比与multiprocessing结合使用的同步框架或库(例如请求)更有效。

如果您的情况是CPU的瓶颈,则应该考虑让一个单独的,启用多处理的进程来处理CPU繁重的部分。

如果您仍然想在多个进程中运行Scrapy Spider,请参阅Running Scrapy from a script。您可以将其与Python的multiprocessing模块结合使用。或者,更好的是,使用Scrapydalternatives之一。