夢(mèng)里花落0921
2023-04-11 15:03:45
我怎樣才能同時(shí)產(chǎn)生多個(gè)項(xiàng)目?我正在抓取一個(gè) URL 列表,其中每個(gè) URL 都有大約 10-20 個(gè)嵌套 URL。我從每個(gè)嵌套的 URL 中抓取 10 條我需要提供的信息。有沒(méi)有辦法同時(shí)產(chǎn)出 10 件物品?也許通過(guò)列表或我附加每個(gè)項(xiàng)目的東西然后在最后全部產(chǎn)生它們?我不完全確定該怎么做。有什么建議么?代碼示例:class OdSpider(scrapy.Spider): name = 'od' allowed_domains = [] start_urls = ["url1, url2, . . . . ."] def parse(self, response): # scrape nested urls yield scrapy.Request(nested_url, callback=self.parsenestedgame) def parsenestedgame(self, response): i1 = item1() i2 = item2() # 9 other items then adding info to items yield item1(**i1) yield item2(**i2) # how can I yield all of these items at the same time?
2 回答

當(dāng)年話下
TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
鑒于評(píng)論中提供的信息:
您可以擁有任意數(shù)量的項(xiàng)目,并在填充每個(gè)項(xiàng)目時(shí)以任何順序生成它們。由于該yield
語(yǔ)句不會(huì)終止代碼執(zhí)行,它們甚至可以像您在示例代碼中顯示的那樣相互跟隨。
它們都將到達(dá) ItemPipelines,如果需要,您可以在那里區(qū)分并區(qū)別對(duì)待它們。
如果那不能回答您的問(wèn)題,我可能還沒(méi)有完全理解。請(qǐng)解釋您想要實(shí)現(xiàn)的目標(biāo)以及您嘗試過(guò)但沒(méi)有奏效的內(nèi)容,以便我提供更多幫助。

弒天下
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
我實(shí)際上想通了,我只是將所有項(xiàng)目附加到一個(gè)列表中,例如:
item_list.append(item1(**i1))
. . . 。ETC
然后我迭代了以下項(xiàng)目:
for item in item_list: yield item
添加回答
舉報(bào)
0/150
提交
取消