gpt4 book ai didi

python - 使用 scrapy 进行 CPU 密集型解析

转载 作者:行者123 更新时间:2023-11-28 20:45:59 27 4
gpt4 key购买 nike

位于 http://doc.scrapy.org/en/latest/topics/settings.html#concurrent-items 的 CONCURRENT_ITEMS 部分定义为:

Maximum number of concurrent items (per response) to process in parallel in the Item Processor (also known as the Item Pipeline).

这让我很困惑。这是否意味着发送到管道的项目是并行处理的,即。真的是多进程吗?

假设我的解析涉及大量 lxml 查询和 xpath'ing。我应该在蜘蛛的解析方法本身中执行它们,还是应该发送一个包含整个响应的 Item 并让自定义管道类通过解析响应主体来填充 Item 的字段?

最佳答案

CONCURRENT_ITEMS 设置是指在处理蜘蛛输出的项目时限制并发事件。所谓并发事件,我指的是 twisted(Scrapy 使用的底层框架)将同时执行的操作——通常是网络请求之类的东西。

Scrapy不使用多线程,不会使用多核。如果您的爬虫受 CPU 限制,通常的加速方法是使用多个单独的 scrapy 进程,避免 python GIL 的任何瓶颈。

关于python - 使用 scrapy 进行 CPU 密集型解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21744924/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com