Python 在Scrapy中一次产生多个项目

Python 在Scrapy中一次产生多个项目,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,如何在同一时间生成多个项目?我正在抓取一个URL列表,其中每个URL都有大约10-20个嵌套URL。我从每个嵌套的URL中搜寻出10条我需要提供的信息。有没有一种方法可以同时产生10个项目?也许是通过一个列表或者我附加每个项目的东西,然后在最后产生它们?我不完全确定如何做到这一点。有什么建议吗 代码示例: OdSpider类(scrapy.Spider): 名称='od' 允许的_域=[] 起始URL=[“url1,url2,…”] def解析(自我,响应): #刮取嵌套的URL 产生scrap

如何在同一时间生成多个项目?我正在抓取一个URL列表,其中每个URL都有大约10-20个嵌套URL。我从每个嵌套的URL中搜寻出10条我需要提供的信息。有没有一种方法可以同时产生10个项目?也许是通过一个列表或者我附加每个项目的东西,然后在最后产生它们?我不完全确定如何做到这一点。有什么建议吗

代码示例:

OdSpider类(scrapy.Spider):
名称='od'
允许的_域=[]
起始URL=[“url1,url2,…”]
def解析(自我,响应):
#刮取嵌套的URL
产生scrapy.Request(嵌套的url,callback=self.parsenestedgame)
def parsenestedgame(自我,响应):
i1=项目1()
i2=项目2()
#9其他项目,然后向项目添加信息
收益率项目1(**i1)
收益率项目2(**i2)
#我怎样才能同时生产所有这些产品?

根据评论中提供的信息:

您可以拥有任意数量的项目,并在填充每个项目时立即生成它们,顺序可以是您想要的。由于
yield
语句不会终止代码执行,因此它们甚至可以按照您在示例代码中介绍的方式相互跟踪

它们都将到达项目管道,在那里,如果需要,您可以进行区分并以不同的方式对待它们


如果这不能回答你的问题,我可能还没有完全理解。请解释一下你想要达到的目标,以及你尝试过的和没有达到的目标,这样我会更有帮助。

我真的找到了答案,我只是将所有项目添加到一个列表中,如:

item\u list.append(item1(**i1))
。等

然后我迭代了以下项目:

for item in item_list:
    yield item

为什么您需要同时生成这些项目?我认为您想要的只是在一个解析方法中产生几个项,但是由于您同时提到了,我不确定。或者它们都应该是单一的物品?@renatodvc我有其他蜘蛛,它们只需要刮取一种物品类型,所以它们一次只能生产一种。这个网站是一个聚合网站,在一个地方有11种类型的这些项目。我只是想知道通过项目管道为每个嵌套URL发送这11种类型的项目的最佳方式。当我运行代码时,它只会将i1发送到项目管道,而不会发送其他项目。