笔记-scrapy-setting
笔记-scrapy-setting
1. 简介
Scrapy设置允许您自定义所有Scrapy组件的行为,包括核心,扩展,管道和蜘蛛本身.
可以使用不同的机制来填充设置,每种机制都有不同的优先级。以下按优先级降序排列:
命令行选项(最优先)
每个蜘蛛的设置
项目设置模块settings.py
每个命令的默认设置
默认的全局设置(优先级较低)
2. 使用
2.1. 在spider中查看和修改设置
可以手动修改设置文件,但有内置属性可以访问设置:self.settings:
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['http://example.com']
custom_settings = { 'SOME_SETTING': 'some value',}
def parse(self, response):
print("Existing settings: %s" % self.settings.attributes.keys())
2.2. 一些参数
BOT_NAME:项目名称
CONCURRENT_ITEMS 项目管道中并行处理的最大并行数 默认: 100
CONCURRENT_REQUESTS 下载器并发数,默认16
CONCURRENT_REQUESTS_PER_DOMAIN 将对任何单个域执行的并发(即同时)请求的最大数量默认: 8
DEFAULT_REQUEST_HEADERS 默认请求头部
DEPTH_LIMIT 最大抓取深度,默认0,代表不使用该参数
DEPTH_PRIORITY 根据深度调整优先级:
0默认,不会调整;
正值,降低优先级,后处理
负值,提高优先级,先处理
DNSCACHE_ENABLED 启用 DNS内存缓存,默认True启用
DOWNLOADER 下载器Default: 'scrapy.core.downloader.Downloader'
DOWNLOADER_MIDDLEWARES 是否使用下载中间件,默认不使用
DOWNLOAD_DELAY 下载器在下载连续页面(同一网站)时的间隔,默认0(不太在什么地方识别是否为同一网站连续页面)
DOWNLOAD_TIMEOUT 下载超时等待时间
DOWNLOAD_MAXSIZE 下载器下载最大响应大小(字节),反反爬用,某此网站。。。
此功能需要twisted>=11.1
DOWNLOAD_WARNSIZE 下载器发出警告的响应大小
ITEM_PIPELINES 管道对象,顺序任意
日志部分:
LOG_ENABLED 是否启用日志
LOG_ENCODING
LOG_FILE
LOG_FORMAT
LOG_DATEFORMAT
LOG_LEVEL 默认DEBUG
LOG_STDOUT 默认False
内存部分:
MEMUSAGE_LIMIT_MB 默认0,限制使用内存大小(得将MEMUSAGE_ENABLED设为True)
MEMUSAGE_NOTIFY_MAIL 达到内存使用限制后邮件通知
例MEMUSAGE_NOTIFY_MAIL = [ 'user@example.com' ]
MEMUSAGE_WARNING_MB 配合上一参数使用
笔记-scrapy-setting的更多相关文章
- 笔记-scrapy与twisted
笔记-scrapy与twisted Scrapy使用了Twisted作为框架,Twisted有些特殊的地方是它是事件驱动的,并且比较适合异步的代码. 在任何情况下,都不要写阻塞的代码.阻塞的代码包括: ...
- 常用的scrapy setting
原文请参考 Scrapy 爬虫入门教程十三 Settings(设置), 讲的很详细 官网参考 Settings 设置 Scrapy 设置允许您自定义所有 Scrapy 组件的行为,包括核心,扩 ...
- scrapy setting 备注
scrapy 脚本里面设置输出文件: process = CrawlerProcess(settings) process.settings.set('FEED_URI', 'wangyi.csv', ...
- 《Maven 实战》笔记之setting.xml介绍
maven是什么?有什么用? Maven是一个跨平台的项目管理工具,主要服务于Java平台的项目构建,依赖管理和项目信息管理.项目构建包括创建项目框架.清理.编译.测试.到生成报告,再到打包和部署,项 ...
- Scrapy 初体验
开发笔记 Scrapy 初体验 scrapy startproject project_name 创建工程 scrapy genspider -t basic spider_name website. ...
- Scrapy命令行详解
官方文档:https://doc.scrapy.org/en/latest/ Global commands: startproject genspider settings runspider sh ...
- Python Scrapy环境配置教程+使用Scrapy爬取李毅吧内容
Python爬虫框架Scrapy Scrapy框架 1.Scrapy框架安装 直接通过这里安装scrapy会提示报错: error: Microsoft Visual C++ 14.0 is requ ...
- scrapy结构及各部件介绍
1.总览,数据流图: 2.Engine:引擎负责控制系统所有组件之间的数据流,并在发生某些操作时触发事件. 3.Scheduler:调度程序接收来自引擎的请求,并将它们排入队列,并在之后,当Engin ...
- scrapy的简单使用以及相关设置属性的介绍
0. 楔子(一个最简单的案例) 1.scrapy.Spider scrapy.spiders.Spider name allowed_domains start_urls custom_setting ...
- scrapyd schedule.json setting 传入多个值
使用案例: import requests adder='http://127.0.0.1:6800' data = { 'project':'v1', 'version':'12379', 'set ...
随机推荐
- jquery的html()、text()、val()的区别和用法
1.html() html()[无参]的使用方法是获取某元素内部的HTML代码,包括各种标签: 例:句1:<p>不知道大家高考的理综试卷里有没有关于科学家及其成就的选择题</p> ...
- QtWebkits如何向QtWebEngine过渡
QtWebkits如何向QtWebEngine过渡 1. 前言 很遗憾,QtWebkits在Qt5.6以上版本被淘汰了,对于这个接口良且和其他类例如QWebFrame完美结合的组件就这么没了,我只能表 ...
- Java—包装类、Date和SimpleDateFormat、Calendar类
包装类 基本数据类型不能调用方法,功能简单,为了让基本数据类型也具备对象的特性,Java为每个基本数据类型提供了一个包装类,这样就可以像操作对象那样来操作基本数据类型. 基本类型和包装类之间的对应关系 ...
- 笨办法学Python(三十二)
习题 32: 循环和列表 现在你应该有能力写更有趣的程序出来了.如果你能一直跟得上,你应该已经看出将“if 语句”和“布尔表达式”结合起来可以让程序作出一些智能化的事情. 然而,我们的程序还需要能很快 ...
- 笨办法学Python(十三)
习题 13: 参数.解包.变量 在这节练习中,我们将讲到另外一种将变量传递给脚本的方法(所谓脚本,就是你写的 .py 程序).你已经知道,如果要运行 ex13.py,只要在命令行运行 python e ...
- Microsoft EDP(enterprise database protection)配置策略中的三种Rule template
搭建Microsoft EDP环境: Microsoft 10 insider preview,Microsoft Intune,ie10(要安装插件silverlight) 这里暂时只说在进行配置策 ...
- java多线程安全
class Ticket implements Runnable { public int sum=10; public void run() { while(true) { if(sum>0) ...
- Cmake 01
1. sdsf(single direction single file) 1.1 The directory tree /* ./template | +--- build | +---main. ...
- 【HDU4676】Sum Of Gcd(莫队+欧拉函数)
点此看题面 大致题意: 多组询问,求\(\sum_{i=L}^R\sum_{j=i+1}^Rgcd(i,j)\). 推式子 这道题我们可以考虑,每个因数\(d\)被统计答案的次数,肯定与其出现次数有关 ...
- BestCoder Round #91 1002 Lotus and Horticulture
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6012 题意: 这几天Lotus对培养盆栽很感兴趣,于是她想搭建一个温室来满足她的研究欲望. Lotus ...