def start_requests(self):
with open(“record.csv”) as f:
reader = csv.DictReader(f)
for item in reader:
yield scrapy.Request(url=item['url'], callback=self.parse_detail,dont_filter=True)
当存在大量的爬取任务需要导入时,看了下scrapy的文档说明,他应该是一次性的将里面的所有任务都生成一个请求对象,压入引擎中等待调度。我的理解正确吗?
请教下,如果这样的话,太多任务占用内存,等待很久才会轮到他们执行。
目前我准备采用的是,在压入一定的量后,time.sleep()等待一段时间。再继续载入任务。
有什么办法能解决这个问题吗?
有并发限制,不会占用很多内存。
CONCURRENT_REQUESTS 可以控制下载并发数。
https://doc.scrapy.org/en/lat...