一日一技:通过参数修改Scrapy的配置信息
时间:2022-06-24
本文章向大家介绍一日一技:通过参数修改Scrapy的配置信息,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
我们在开发Scrapy爬虫的时候,会把一些常用配置信息写到settings.py中。
例如爬虫需要把数据存入MongoDB里面,那么我可能会把MongoDB的链接URI写到settings.py中:
MONGODB_URI = 'mongodb://localhost'MONGODB_DB = 'test'MONGODB_COL = 'info'
但在正式的项目中,我们开发爬虫的时候,一般会有一个测试数据库,而爬虫部署以后会有一个正式数据库,他们的URI是不一样的。
这个时候,可能有一些同学会把两个配置信息都写到settings.py中:
MONGODB_URI = 'mongodb://localhost'#MONGODB_URI = 'mongodb://user:password@123.15.43.32:7766'MONGODB_DB = 'test'MONGODB_COL = 'info'
在本地开发的时候,把正式环境的地址注释掉,部署的时候,解除正式环境URI的注释,然后把测试地址注释掉。
这种方式虽然简单直接,但容易忘记。特别是一不小心在本地把测试数据写入了正式环境的数据库,那就麻烦了。
但实际上,Scrapy可以在 scrapy crawl xxx
的时候,传入配置信息。并且这个配置信息拥有最高优先级,即时settings.py中也有相同名字的配置,命令行传入的也会覆盖它。
在命令行传入配置信息的格式为:
scrapy crawl xxx -s MONGODB_URI='mongodb://user:password@123.15.43.32:7766'
当我们这样启动爬虫的时候,爬虫通过 self.settings['MONGODB_URI']
获取到的URI就是正式环境的URI了。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法