亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Scrapy 中一次生成多個項目

在 Scrapy 中一次生成多個項目

夢里花落0921 2023-04-11 15:03:45
我怎樣才能同時產生多個項目?我正在抓取一個 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,如果需要,您可以在那里區分并區別對待它們。

如果那不能回答您的問題,我可能還沒有完全理解。請解釋您想要實現的目標以及您嘗試過但沒有奏效的內容,以便我提供更多幫助。


查看完整回答
反對 回復 2023-04-11
?
弒天下

TA貢獻1818條經驗 獲得超8個贊

我實際上想通了,我只是將所有項目附加到一個列表中,例如:

item_list.append(item1(**i1)). . . 。ETC

然后我迭代了以下項目:

for item in item_list:
    yield item


查看完整回答
反對 回復 2023-04-11
  • 2 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號