我怎樣才能同時產生多個項目?我正在抓取一個 URL 列表,其中每個 URL 都有大約 10-20 個嵌套 URL。我從每個嵌套的 URL 中抓取 10 條我需要提供的信息。有沒有辦法同時產出 10 件物品?也許通過列表或我附加每個項目的東西然后在最后全部產生它們?我不完全確定該怎么做。有什么建議么?代碼示例: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 回答

當年話下
TA貢獻1890條經驗 獲得超9個贊
鑒于評論中提供的信息:
您可以擁有任意數量的項目,并在填充每個項目時以任何順序生成它們。由于該yield
語句不會終止代碼執行,它們甚至可以像您在示例代碼中顯示的那樣相互跟隨。
它們都將到達 ItemPipelines,如果需要,您可以在那里區分并區別對待它們。
如果那不能回答您的問題,我可能還沒有完全理解。請解釋您想要實現的目標以及您嘗試過但沒有奏效的內容,以便我提供更多幫助。

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