我使用下面的参数DropItem
正确使用了Pipeline:
Items.py
from scrapy.item import Item, Field
class Website(Item):
name = Field()
description = Field()
url = Field()
Pipeline.py
from scrapy.exceptions import DropItem
class FilterWordsPipeline(object):
words_to_filter = ['company', 'economy']
def process_item(self, item, spider):
for word in self.words_to_filter:
if word in unicode(item['description']).lower():
raise DropItem("Contains forbidden word: %s" % word)
else:
return item
现在,我想使用参数Item使用相同的Pipeline对象,而不是使用DropItem,只有在通过管道过滤了一些单词时才保存网站的描述。
我希望得到与上面详述的Pipeline相反的结果,但我不知道如何。我怎么能这样做?