# Scrapy settings for scrapy_demo project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
# https://docs.scrapy.org/en/latest/topics/settings.html
# https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
# https://docs.scrapy.org/en/latest/topics/spider-middleware.html # 爬虫项目名,在你使用scrapy startproject <项目名> 时设置的。
BOT_NAME = "scrapy_demo" # 爬虫文件模块所在的路径
SPIDER_MODULES = ["scrapy_demo.spiders"]
# 使用命令scrapy genspider 生成爬虫文件时存放文件的路径
NEWSPIDER_MODULE = "scrapy_demo.spiders" # Crawl responsibly by identifying yourself (and your website) on the user-agent
# 可以在这里设置UA,也可以在默认的请求头配置DEFAULT_REQUEST_HEADERS中设置
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 SE 2.X MetaSr 1.0' # Obey robots.txt rules
# 遵守 robots.txt 规则,默认为True(遵守就不要爬了...)
# ROBOTSTXT_OBEY = True
ROBOTSTXT_OBEY = False # Configure maximum concurrent requests performed by Scrapy (default: 16)
# 配置 Scrapy 执行的最大并发请求数(针对整个scrapy)
#CONCURRENT_REQUESTS = 32 # Configure a delay for requests for the same website (default: 0)
# See https://docs.scrapy.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
# 为同一网站的请求配置延迟(默认值:0)
# 请参阅 https://docs.scrapy.org/en/latest/topics/settings.html#download-delay
# 另请参阅自动节流设置和文档
DOWNLOAD_DELAY = 5 # The download delay setting will honor only one of:
# 下载并发延迟设置(只接收下列两个中的其中一个)
#CONCURRENT_REQUESTS_PER_DOMAIN = 16 # 针对每个domain的并发最大请求数
#CONCURRENT_REQUESTS_PER_IP = 16 # 针对每个IP的并发最大请求数,如果和上面的同时开启,这个设置优先级比较大。 # Disable cookies (enabled by default)
# 是否启动Cookies,默认是启用的。有些网站并不需要使用cookies就能爬,关闭会增加效率。
#COOKIES_ENABLED = False # Disable Telnet Console (enabled by default)
#TELNETCONSOLE_ENABLED = False # Override the default request headers:
# 覆盖默认的请求头
# (也可以在这里设置UA)
#DEFAULT_REQUEST_HEADERS = {
# "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
# "Accept-Language": "en",
#} # Enable or disable spider middlewares
# See https://docs.scrapy.org/en/latest/topics/spider-middleware.html
#SPIDER_MIDDLEWARES = {
# "scrapy_demo.middlewares.ScrapyDemoSpiderMiddleware": 543,
#} # Enable or disable downloader middlewares
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
# 下载器中间件,可以在中间件中统一处理UA、代理IP,例如随机选择UA、代理IP
#DOWNLOADER_MIDDLEWARES = {
# "scrapy_demo.middlewares.ScrapyDemoDownloaderMiddleware": 543,
#} # Enable or disable extensions
# See https://docs.scrapy.org/en/latest/topics/extensions.html
#EXTENSIONS = {
# "scrapy.extensions.telnet.TelnetConsole": None,
#} # Configure item pipelines
# 配置pipelines,你写的pipelines必须在这里配置启动,就好像django的子应用需要注册一样
# See https://docs.scrapy.org/en/latest/topics/item-pipeline.html
ITEM_PIPELINES = {
"scrapy_demo.pipelines.ScrapyDemoPipeline": 300, # 这里的数值是定义优先级,数字越小,优先级越高。
} # Enable and configure the AutoThrottle extension (disabled by default)
# See https://docs.scrapy.org/en/latest/topics/autothrottle.html
# 自动限流插件
#AUTOTHROTTLE_ENABLED = True
# The initial download delay
#AUTOTHROTTLE_START_DELAY = 5
# The maximum download delay to be set in case of high latencies
#AUTOTHROTTLE_MAX_DELAY = 60
# The average number of requests Scrapy should be sending in parallel to
# each remote server
#AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
#AUTOTHROTTLE_DEBUG = False # Enable and configure HTTP caching (disabled by default)
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
#HTTPCACHE_ENABLED = True
#HTTPCACHE_EXPIRATION_SECS = 0
#HTTPCACHE_DIR = "httpcache"
#HTTPCACHE_IGNORE_HTTP_CODES = []
#HTTPCACHE_STORAGE = "scrapy.extensions.httpcache.FilesystemCacheStorage" # Set settings whose default value is deprecated to a future-proof value
REQUEST_FINGERPRINTER_IMPLEMENTATION = "2.7"
TWISTED_REACTOR = "twisted.internet.asyncioreactor.AsyncioSelectorReactor" # 定义FEED数据输出时默认的编码格式
FEED_EXPORT_ENCODING = "utf-8" # 下载器的默认超时时间(默认为180秒)
# 这里设置的时每个爬虫的默认下载器超时时间,也可以使用request.meta["download_timeout"]来为每个请求设置下载器的超时时间
DOWNLOAD_TIMEOUT = 20 ##### 自定义设置 ###
# IP地址池(一般IP地址池都是放在redis中维护,因为快呀!!)
IP_PROXY_POOL = (
"127.0.0.1:6789",
"127.0.0.1:6789",
"127.0.0.1:6789",
"127.0.0.1:6789",
)

Scrapy-settings.py常规配置的更多相关文章

  1. 调用settings.py的配置信息作为全局使用

    项目中一些比较零散的信息可以保存在数据库,也可以保存在settings.py里面   并且这些变量也可以像引用数据里面的数据使用,     可以把信息保存在settings.py里面,也可以保存在数据 ...

  2. settings.py常规配置项

    settings.py常见配置项 1. 配置Django_Admin依照中文界面显示 LANGUAGE_CODE = 'zh-hans' 2. 数据库配置(默认使用sqlite3) 使用MySQL的配 ...

  3. settings.py相关配置

    INSTALLED_APPS   #配置项目绑定的应用 TEMPLATES   #配置项目使用的模板引擎 DATABASES   #设定绑定的数据库 TIME_ZONE   #设定时区,时区的设定可能 ...

  4. scrapy 为每个pipeline配置spider

    在settings.py里面配置pipeline,这里的配置的pipeline会作用于所有的spider,我们可以为每一个spider配置不同的pipeline, 设置 Spider 的 custom ...

  5. 0007 settings.py配置文件详解

    01 DEBUG调试配置 开发期设置为True,发布时设置为False 02 INSTALLED_APPS已安装的APP配置 INSTALLED_APPS = [ 'django.contrib.ad ...

  6. scrapy实现数据持久化、数据库连接、图片文件下载及settings.py配置

    数据持久化的两种方式:(1)基于终端指令的持久化存储:(2)基于管道的持久化存储 基于终端指令的持久化存储 在爬虫文件的parse方法中必须要return可迭代对象类型(通常为列表或字典等)的返回值, ...

  7. 分布式爬虫scrapy-redis中settings.py中的配置信息

    SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 使用scrapy-redis的调度器 ITEM_PIPELINES = { 'sc ...

  8. 【5】Django项目配置settings.py详解

    夫唯不争,故天下莫能与之争 --老子<道德经> 本节内容 1.项目配置文件settings.py介绍 2.数据库配置[MySQL] 3.创建模型对象并和数据库同步 4.python官方提供 ...

  9. django项目settings.py的基础配置

    一个新的django项目初始需要配置settings.py文件: 1. 项目路径配置 新建一个apps文件夹,把所有的项目都放在apps文件夹下,比如apps下有一个message项目,如果不进行此项 ...

  10. 0004 工程配置settings.py

    两个目录的区别: 工程目录是指包含manage.py文件的目录 配置目录是批包含settings.py文件的目录 在配置目录中找到并打工settings.py文件,做以下配置: 01 DEBUG DE ...

随机推荐

  1. python flask 提供web的get/post开发

    转载请注明出处: 使用python flask框架编写web api中的get与post接口,代码编写与调试示例如下: from flask import Flask, request, jsonif ...

  2. 使用 OpenTelemetry 构建 .NET 应用可观测性(2):OpenTelemetry 项目简介

    前世今生 OpenTracing OpenTracing 项目启动于 2016 年,旨在提供一套分布式追踪标准,以便开发人员可以更轻松地实现分布式追踪. OpenTracing 定义了一套 Traci ...

  3. [Python] 今天开始学习Python3了, 纪念一下

    #! /usr/bin/env python3 import time print("你好, 请告诉我你的名字.") name = input("名前: ") ...

  4. HTML一键打包APK工具最新版1.9.1更新(附下载地址)

    HMTL网址打包APK,可以把本地HTML项目, Egret游戏,网页游戏,或者网站打包为一个安卓应用APK文件,无需编写任何代码,也无需配置安卓开发环境,支持在最新的安卓设备上安装运行. HTML一 ...

  5. 小知识:vi 查找如何不区分大小写

    在使用vi查找数据库的truncate记录日志时,发现对应语句夹杂了大小写,不够规范: 而vi默认查找是区分大小写的,如何不区分大小写查找指定内容呢? 有两种方式: (1)在查找指令后面额外加上\c标 ...

  6. .Net7自定义GC垃圾回收器

    1.前言 CLR和GC高度耦合,.Net7里面分离CLR和GC,则比较容易实现这件事情.本篇来看下,自定义一个GC垃圾回收器. 2.概述 这里首先演示下自定义GC垃圾回收后的效果. 1.下载Custo ...

  7. 使用 TensorFlow 进行机器学习

    使用 TensorFlow 进行机器学习 这是使用 TensorFlow 进行机器学习的官方代码存储库. 使用 TensorFlow(Google 最新.最好的机器学习库)开始进行机器学习. 概括 第 ...

  8. nittest单元测试框架—加载测试用例的3种方法以及测试报告存储管理

    项目结构 测试用例 import unittest class LoginTestCase(unittest.TestCase): def test_login_success(self): self ...

  9. 深度解读MediaBox SDKs如何实现技术架构升级

    本专栏将分享阿里云视频云MediaBox系列技术文章,深度剖析音视频开发利器的技术架构.技术性能.开发能效和最佳实践,一起开启音视频的开发之旅.本文为MediaBox技术架构篇,重点从音视频终端SDK ...

  10. Qt源码解析——一切从QObject说起

    关键词:Qt 源码 QObject 元对象 属性 事件 信号 槽 状态机 概述 原系列文章地址 学习和理解任何框架或库,官方文档可能都是最权威.最有效的信息.Qt也不例外,https://doc.qt ...