笔记-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的更多相关文章

  1. 笔记-scrapy与twisted

    笔记-scrapy与twisted Scrapy使用了Twisted作为框架,Twisted有些特殊的地方是它是事件驱动的,并且比较适合异步的代码. 在任何情况下,都不要写阻塞的代码.阻塞的代码包括: ...

  2. 常用的scrapy setting

    原文请参考    Scrapy 爬虫入门教程十三 Settings(设置), 讲的很详细 官网参考  Settings 设置 Scrapy 设置允许您自定义所有 Scrapy 组件的行为,包括核心,扩 ...

  3. scrapy setting 备注

    scrapy 脚本里面设置输出文件: process = CrawlerProcess(settings) process.settings.set('FEED_URI', 'wangyi.csv', ...

  4. 《Maven 实战》笔记之setting.xml介绍

    maven是什么?有什么用? Maven是一个跨平台的项目管理工具,主要服务于Java平台的项目构建,依赖管理和项目信息管理.项目构建包括创建项目框架.清理.编译.测试.到生成报告,再到打包和部署,项 ...

  5. Scrapy 初体验

    开发笔记 Scrapy 初体验 scrapy startproject project_name 创建工程 scrapy genspider -t basic spider_name website. ...

  6. Scrapy命令行详解

    官方文档:https://doc.scrapy.org/en/latest/ Global commands: startproject genspider settings runspider sh ...

  7. Python Scrapy环境配置教程+使用Scrapy爬取李毅吧内容

    Python爬虫框架Scrapy Scrapy框架 1.Scrapy框架安装 直接通过这里安装scrapy会提示报错: error: Microsoft Visual C++ 14.0 is requ ...

  8. scrapy结构及各部件介绍

    1.总览,数据流图: 2.Engine:引擎负责控制系统所有组件之间的数据流,并在发生某些操作时触发事件. 3.Scheduler:调度程序接收来自引擎的请求,并将它们排入队列,并在之后,当Engin ...

  9. scrapy的简单使用以及相关设置属性的介绍

    0. 楔子(一个最简单的案例) 1.scrapy.Spider scrapy.spiders.Spider name allowed_domains start_urls custom_setting ...

  10. scrapyd schedule.json setting 传入多个值

    使用案例: import requests adder='http://127.0.0.1:6800' data = { 'project':'v1', 'version':'12379', 'set ...

随机推荐

  1. HTML5 data-* 自定义属性操作及其注意点

    在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,命名可以用驼峰命名方式,但取值是必需全部使用小写(后面会说),使用这样的结构可以进行数 ...

  2. 数组k平移三种方法(java)

    上代码,本文用了三种方法实现,时间复杂度不一样,空间复杂度都是o(1): public class ArrayKMove { /** * 问题:数组的向左k平移,k小于数组长度 * @param ar ...

  3. java文件

    File类 为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类. 在File类中包含了大部分和文件操作的功能方法,该类的对象可以代表一个具 ...

  4. reactjs--父组件调用子组件的内部方法(转载)

    reactjs--父组件调用子组件的内部方法 发表于2016/10/11 9:21:37  965人阅读 1.引入相关js <script src="js/react.js" ...

  5. 解决Jenkins的错误“The Server rejected the connection: None of the protocols were accepted”

    1. 配置节点,配置好节点后,在节点机上运行已下载文件,双击执行,提示"The Server rejected the connection: None of the protocols w ...

  6. ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id

    远程删除key ssh-keygen -f "~/.ssh/known_hosts" -R 192.168.0.34 如果还是不可以,通过 ssh-keygen 重新生成key

  7. 【[ZJOI2015]诸神眷顾的幻想乡】

    题目 听说这是广义\(SAM\)的板子 看来对于广义\(SAM\)我也就只会板子了 叶子数很少,所以可以枚举每一个叶子节点作为根建一遍\(Trie\)树 只需要对\(Trie\)树建出\(SAM\)就 ...

  8. 剑指offer39 平衡二叉树

    剑指上用了指针传递,这里用的引用传递 class Solution { public: bool IsBalanced_Solution(TreeNode* pRoot) { ; return IsB ...

  9. Ubuntu 14.04 VPS安装配置***的方法

    #安装*** $ sudo apt-get update $ sudo apt-get install python-gevent python-pip $ sudo pip install shad ...

  10. bootstrap suggest搜索建议插件

    近日因工作需要看了下此插件. 首先下载bootstrap js包.添加此插件的引用.注意css样式要引用,不能忘记. 前台页面代码,因为楼主做的是选项卡切换查询不同的结果. <tr> &l ...