From 095b85cb7333d4b84d607ea13a6d577a8357169f Mon Sep 17 00:00:00 2001 From: sniperyen <871757525@qq.com> Date: Thu, 4 Jun 2020 00:39:58 +0700 Subject: [PATCH] fix: start next stage only if url is not empty --- backend/model/config_spider/scrapy.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend/model/config_spider/scrapy.go b/backend/model/config_spider/scrapy.go index ee24a3e7..cbdf4a09 100644 --- a/backend/model/config_spider/scrapy.go +++ b/backend/model/config_spider/scrapy.go @@ -178,6 +178,10 @@ func (g ScrapyGenerator) GetListParserString(stageName string, stage entity.Stag // next stage 字段 if f, err := g.GetNextStageField(stage); err == nil { + // 如果 url 为空,则不进入下一个 stage + str += g.PadCode(fmt.Sprintf(`if not item['%s']:`, f.Name), 3) + str += g.PadCode(`continue`, 4) + // 如果找到 next stage 字段,进行下一个回调 str += g.PadCode(fmt.Sprintf(`yield scrapy.Request(url=get_real_url(response, item['%s']), callback=self.parse_%s, meta={'item': item})`, f.Name, f.NextStage), 3) } else {