yield 和return 都有返回数据的作用,最主要的不同在于yield在返回值后还可以继续运行接下来的代码,而return在返回后就不在执行代码。
在scrapy中,爬取的数据量往往十分巨大,如果使用return和list存储之后在一次性返回将带来巨大的内存消耗。而yield可以在返回一组数据后再处理下一组数据,大大减少了内存的浪费。
yield 和return 都有返回数据的作用,最主要的不同在于yield在返回值后还可以继续运行接下来的代码,而return在返回后就不在执行代码。
在scrapy中,爬取的数据量往往十分巨大,如果使用return和list存储之后在一次性返回将带来巨大的内存消耗。而yield可以在返回一组数据后再处理下一组数据,大大减少了内存的浪费。