如何将所有 CPU 内核用于 Scrapy

pyf*_*eyr 5 scrapy

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

ps:max_proc在早期版本中似乎有争论可以使用,但我现在找不到了。

Gal*_*cio 5

Scrapy 不使用多个 CPU。

\n\n

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

\n\n

如果 CPU 是您的情况的瓶颈,您应该考虑使用一个单独的、支持多处理的进程来处理 CPU 密集的部分。

\n\n

如果您仍想在多个进程中运行 Scrapy 蜘蛛,请参阅从脚本运行 Scrapy。您可以将其与 Python\xe2\x80\x99s多处理模块结合起来。或者,更好的是,使用Scrapyd或替代方案之一。

\n