一日一技:通过参数修改Scrapy的配置信息

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 一日一技:通过参数修改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了。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
1月前
|
数据采集 Web App开发 搜索推荐
项目配置之道:优化Scrapy参数提升爬虫效率
项目配置之道:优化Scrapy参数提升爬虫效率
|
8月前
|
Ubuntu 搜索推荐 Python
Python | Scrapy必备之配置虚拟环境
Python | Scrapy必备之配置虚拟环境
|
4月前
|
数据采集 监控 中间件
解决HTTP 429错误的Scrapy中间件配置
解决HTTP 429错误的Scrapy中间件配置
|
11月前
|
Python
Python—scrapy框架配置及实用案例
Python—scrapy框架配置及实用案例
100 0
|
数据采集 JSON API
新手教程 | Python Scrapy框架HTTP代理的配置与调试
做过python爬虫的都知道,HTTP代理的设置时要在发送请求前设置好,那HTTP代理的逻辑点在哪里呢?实际上,只需要在Scrapy 的项目结构中添加就好
新手教程 | Python Scrapy框架HTTP代理的配置与调试
|
数据采集 Python
配置Pycharm的Scrapy爬虫Spider子类通用模板
配置Pycharm的Scrapy爬虫Spider子类通用模板
191 0
|
Web App开发 前端开发 Unix
Scrapy 如何正确配置、验证xpath?
[题记]:xpath难点 在使用scrapy做爬取网页的时候,规则的匹配是关键。如:sel.xpath(‘//ul[@id=”dirlist”]/li/dl/dt’)的正确配置。 如何进行xpath的正确配置呢? Scrapy shell交互终端是一个可供较快调试、验证配置结果的好工具。
188 0
Scrapy 如何正确配置、验证xpath?
|
开发框架 Shell Python
Scrapy 如何正确配置、验证xpath?
如何进行xpath的正确配置呢?
409 0
|
数据采集 搜索推荐 Python
18、 Python快速开发分布式搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式
【百度云搜索:http://www.bdyss.cn】 【搜网盘:http://www.swpan.cn】 我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/env python # -*- coding:utf8 -*- from scrapy.
853 0
|
数据采集 API Python
scrapy爬虫加载API,配置自定义加载模块
当我们在scrapy中写了几个爬虫程序之后,他们是怎么被检索出来的,又是怎么被加载的?这就涉及到爬虫加载的API,今天我们就来分享爬虫加载过程及其自定义加载程序。 SpiderLoader API  该API是爬虫实例化API,主要实现一个类SpiderLoader class scrapy.loader.SpiderLoader 该类负责检索和处理项目中定义的spider类。
1318 0