抓蜘蛛工作完成后如何响应数据?

时间:2019-08-19 15:30:25

标签: django scrapy scrapy-pipeline

我从网站上检索了数据,并使用django作为服务器。 Spider的工作完成后,我想通知我的服务器爬网是否完成。

我找到了可用于spider_closed方法的信号模块。

但是我仍然不知道如何从管道向服务器响应数据。

class ScrapyAppPipeline(object):
    def __init__(self, unique_id, *args, **kwargs):
        self.unique_id = unique_id

    @classmethod
    def from_crawler(cls, crawler):
        return cls(
            unique_id=crawler.settings.get('unique_id'),
        )

    def process_item(self, item, spider):
        scrapy_item = ScrapyItem()
        scrapy_item.unique_id = self.unique_id
        scrapy_item.title = item['title']
        scrapy_item.published_date = item['published_date']
        scrapy_item.views = item['views']
        scrapy_item.recommends = item['recommends']
        scrapy_item.url = item['url']

        scrapy_item.save()
        return item

    def spider_closed(self, spider):
        # how to notice 'crawling is done' to the server?

0 个答案:

没有答案