我正在从网站上抓取产品信息并检查是否有库存和可运送。如果缺货o无法发货,那么我不在乎将其添加到我的数据库中。所以,我有这个项目,它已经进入管道,一旦我看到它缺货或没有发货,我只想退出管道中的处理并转储我所拥有的所有内容并返回到蜘蛛抓住下一个要处理的项目。我希望自那以后。我尝试了提升DropItem()但没有发生任何事情。我检查了数据库,当该字段为空时应该跳过它吗?这是代码。
Ships = item['Ships']
Stock = item['InStock']
if "shipping not available" in Ships[0].lower():
raise DropItem()
if len(Stock) is 0:
raise DropItem ("Test")
if "instock" not in Stock[0].lower():
raise DropItem()
我已经测试了代码的输出,并且就if语句而言它正常工作。当我到达那个部分时它只是不工作。因此,总结那里的一个例子,当len(Stock)为0时,我想停止处理这个特定的项目,然后继续获取和处理下一个项目。
答案 0 :(得分:0)
我明白了。那里有一行代码搞乱了一切。
from __future__ import print_function
当这行代码在我的管道中时,我的print
的结果中没有任何内容。我删除了那条线,它们都汇集在一起。感谢您的建议。