协成只有一个爬虫在工作

始终只有一个爬虫在工作,请问原因

img

from gevent import monkey

monkey.patch_all()
from queue import Queue
import gevent

def fun(i,n):
    print(f'第{i}个爬虫,执行任务{n}')
def crawler(i):
    while not work.empty():
        n = work.get_nowait()
        fohttps://img-mid.csdnimg.cn/release/static/image/mid/ask/31020087987615.png "#left")
r m in range(3):
            try:
                fun(i,n)
                break
            except Exception as e:
                print(e)
work = Queue()
for i in range(50):
    work.put_nowait(i)
tasks = []
for i in range(5):
    task = gevent.spawn(crawler,i)
    tasks.append(task)

gevent.joinall(tasks)

看看你的系统的线程的模式,是不是阻塞了。

参考GPT和自己的思路:

可能是由于代码中只实例化了一个爬虫对象,导致始终只有一个爬虫在工作。如果需要多个爬虫同时工作,需要实例化多个爬虫对象,每个对象分别负责一个任务。另外,如果爬虫需要处理大量数据,可以考虑使用分布式爬虫技术,将任务分发到多个节点上运行,从而提高爬虫效率。