Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在scrapy中使用爬虫初始化管道对象_Python_Scrapy - Fatal编程技术网

Python 在scrapy中使用爬虫初始化管道对象

Python 在scrapy中使用爬虫初始化管道对象,python,scrapy,Python,Scrapy,基于此,我有: class MyPipeline(object): def __init__(self, crawler): self.crawler = crawler 我试图更好地理解代码,尤其是上面列出的开头几行。为什么要用爬虫初始化管道对象。我有很多管道没有包括这个或任何init方法。使用爬虫程序初始化管道的目的是什么?完全不需要,因为您已经检查了它在没有爬虫程序的情况下是否可以工作。该示例显示了该对象的需要,因为它稍后将在process\u item方法上使用

基于此,我有:

class MyPipeline(object):
    def __init__(self, crawler):
        self.crawler = crawler

我试图更好地理解代码,尤其是上面列出的开头几行。为什么要用爬虫初始化管道对象。我有很多管道没有包括这个或任何init方法。使用爬虫程序初始化管道的目的是什么?

完全不需要,因为您已经检查了它在没有爬虫程序的情况下是否可以工作。该示例显示了该对象的需要,因为它稍后将在
process\u item
方法上使用它。因此,这将是一个组合示例:使用包含的爬虫实例实例化管道对象,以便利用后者的功能(调度程序等),而不是“创建”爬虫实例,只是通过这个变量在管道中访问同一个实例,我不太了解在scrapy中这些部分是如何组合在一起的。我可以请你详细说明一下吗。爬虫是如何参与的?
from_crawler()
是一种类方法,允许您将一些
爬虫
属性传递给管道类。爬行器有点脏,它把所有的东西都放在一起管理。这个特定的体系结构可能有点让人困惑,但我发现从文档中可以很好地涵盖它!根本不需要它,因为您已经检查过它在没有它的情况下是否可以工作。该示例显示了该对象的需要,因为它稍后将在
process\u item
方法上使用它。因此,这将是一个组合示例:使用包含的爬虫实例实例化管道对象,以便利用后者的功能(调度程序等),而不是“创建”爬虫实例,只是通过这个变量在管道中访问同一个实例,我不太了解在scrapy中这些部分是如何组合在一起的。我可以请你详细说明一下吗。爬虫是如何参与的?
from_crawler()
是一种类方法,允许您将一些
爬虫
属性传递给管道类。爬行器有点脏,它把所有的东西都放在一起管理。这个特定的体系结构可能有点让人困惑,但我发现从文档中可以很好地涵盖它!