我有一个程序,它使用beautifulsoup打开一长串网页,并从中提取数据。
显然,它相当慢,因为它必须等待每个完成。我想让它一次检索多个以加快速度。
我知道 python 中的多线程很多时候比使用单线程慢。最好的是什么?多线程还是创建多处理?
这是使用Scrapy的主要原因
之一,Scrapy建立在扭曲的库之上,使HTTP调用异步,而无需使用多线程和多处理
一个好的起点可以是优秀的刮擦教程
还值得注意的是,在多核环境中进行繁重的CPU计算时,多线程/处理通常是正确的方法,但是当涉及到并行IO操作时,您最好选择异步编程解决方案,而不是让线程在阻塞操作中等待某些IO发生同时持有系统资源。