python - Scrapy 自定义设置

标签 python scrapy

使用 scrapy,我有一个蜘蛛:

class IndexSpider(scrapy.Spider):
    name = "indices"

    def __init__(self, *args, **kwargs):
        super(IndexSpider, self).__init__(*args, **kwargs)

        # set custom settings
        custom_settings = {
            'DOWNLOAD_DELAY': 2,
            'ITEM_PIPELINES': {
                'freedom.pipelines.IndexPipeline': 300
            }
        }

但是,当我稍后尝试通过

访问设置时
    print(dict(self.settings.get('ITEM_PIPELINES')))

它们是空的。背景是我想在每个蜘蛛的基础上控制设置(和可能的管道)。
我在这里做错了什么?

最佳答案

custom_settings应该是一个类属性:

class IndexSpider(scrapy.Spider):
    name = "indices"

    # set custom settings
    custom_settings = {
        'DOWNLOAD_DELAY': 2,
        'ITEM_PIPELINES': {
            'freedom.pipelines.IndexPipeline': 300
        }
    }

    def __init__(self, *args, **kwargs):
        super(IndexSpider, self).__init__(*args, **kwargs)

关于python - Scrapy 自定义设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52294394/

相关文章:

python - 如何使用理解列表创建包含 lambda 表达式的字典?

python - 是否可以使用 Scrapy 通过代理访问 https 页面?

python - 在 ec2 上安装我的 Django 应用程序

python - 使用多个键填充Scrapy项目: value pair

python - Scrapy 1.0 - 从 python 脚本运行后获取返回值

python - 使用 scrapy 抓取网站

python - Scrapy爬取整个网站后是否会出现 'know'?

python - 这是访问与 Python 脚本相邻/打包的数据的批准方式吗?

python - 为什么在一台 Mac 上编译的 _mysql.co 在另一台 Mac 上无法运行?

python - python中memoization的需求是什么