如何在Scrapy中使用带管道的参数项?

时间:2014-06-28 22:21:40

标签: python scrapy web-crawler pipeline

我使用下面的参数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相反的结果,但我不知道如何。我怎么能这样做?

0 个答案:

没有答案