关于Scrapy: 如何分别从Spider、Middleware、Pipeline获取settings.py里的参数

本文介绍了在Scrapy项目中,如何在Spider、Middleware和Pipeline中分别获取settings.py的参数。详细讲解了settings的优先级,包括命令行选项、项目设定、命令默认设定和全局默认设定。并通过实例展示了在Spider的parse函数、Middleware和Pipeline中获取settings的方式。同时提到了get_project_setting()方法的优缺点,虽然简单但无法识别命令行传入的高优先级参数。
摘要由CSDN通过智能技术生成

运行环境

PyCharm 2018.1
Scrapy 1.5.1
Python 3.5.4
Windows 10


settings的优先级

官方文档中scrapy中settings参数有四个级别:

  1. 命令行选项(Command line Options)(最高优先级)
  2. 项目设定模块(Project settings module)
  3. 命令默认设定模块(Default settings per-command)
  4. 全局默认设定(Default global settings) (最低优先级)


Spider

  1. 在parse()函数中获取settings
def parse(self, response):
	print(self.settings.get('CONFIG_KEY'))
  1. 在实例化spider时获取settings:
class MySpider(scrapy.Spider):
	
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提示 CTRL Q: 在参数列表位置,显示可以输入的所有参数。 CTRL Q: 查看选方法的文档字符串 阅读 CTRL -: 折叠当前代码 CTRL +: 展开当前代码 CTRL SHIFT -: 折叠所有代码 CTRL SHIFT +: 展开所有代码 CTRL SHIFT F7:  将当前单词在整个文件高亮,F3移动到下一个,ESC取消高亮。 CTRL F11 | F11: 设置书签. SHIFT F11: 显示所有书签。 CTRL F12: 当一个文件方法太多,要快速跳到某个方法时,可以用此快捷键打开LIST, 除了用上下箭选择外,还可以输入字母。 移动 ALT F7: 查找哪些地方使用了选的方法。 ALT UP: 移到上一个方法 ALT DOWN: 移到下一个方法 CTRL B | CTRL 单击: 转到方法定义处 CTRL SHIFT UP: 将当前行上移一行 CTRL SHIFT UP: 将当前行下移一行 SHIFT ENTER: 在行间执行时,智能跳到下一行。 注释 CTRL /: 注释、取消注释行 选择 ALT 左键: 列模式选择 CTRL W: 选当前单词,继续按,选它所属的行/IF/方法. 编辑 CTRL D: 未选时,复制当前行到下一行,选时复制粘贴选部分。 CTRL J: 输入模板 SHIFT F6: 更改变量/方法名字 删除 CTRY Y: 删除当前行 调试 CTRL F8: 设置/取消断点 其它 CTRL E: 最近访问的文件列表 ESC: 焦点从其它窗口到编辑窗口 SHIFT ESC:  隐藏当前窗口,焦点到编辑窗口 F12: 焦点从编辑窗口到上一个使用窗口 编辑器右键,local history, show history: 显示本地修改记录
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值