我是靠谱客的博主 迅速爆米花,最近开发中收集的这篇文章主要介绍scrapy 设置项和一些默认值描述指定的设置填充设置访问设置理由设置名称内置的设置参考,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

描述

在Scrapy组件的特性可以用Scrapy设置进行修改。 这些设置也可以选择Scrapy项目当前处于活动状态的情况下,如果你有多个Scrapy项目。

指定的设置

您必须通知哪些当你放弃一个网站,你正在使用设置Scrapy。 为此,重点内容环境变量SCRAPY_SETTINGS_MODULE应使用其值应在Python路径语法。

填充设置

下表显示了一些通过它可以填充设置的机制:

SN 机制和说明

1. Command line options
在这里,所传递的参数通过重写其他选项最高的优先顺序。 该-s用于覆盖一个或多个设置。
scrapy crawl myspider -s LOG_FILE=scrapy.log
2.
Settings per-spider
蜘蛛可以有自己的设置,通过使用属性custom_settings覆盖项目的。
class DemoSpider(scrapy.Spider) :
name = 'demo'
custom_settings = {
'SOME_SETTING': 'some value',
}
3. Project settings module
在这里,你可以像填充在settings.py文件添加或修改的设置您的自定义设置。
4. Default settings per-command
每个Scrapy工具命令定义自己的设置在default_settings属性,覆盖全球的默认设置。
5. Default global settings:
这些设置的scrapy.settings.default_settings模块中找到。

访问设置

他们都可以通过self.settings并初始化后在基地蜘蛛设置。
下面的例子说明了这一点:

class DemoSpider(scrapy.Spider) :
name = 'demo'
start_urls = ['http://example.com']
def parse(self, response) :
print("Existing settings: %s" % self.settings.attributes.keys() )

要在初始化之前蜘蛛使用的设置,您必须覆盖from_crawler的方法init()你的蜘蛛的方法。 您可以通过属性访问设置scrapy.crawler.Crawler.settings传递给from_crawler方法。

下面的例子说明了这一点:

class MyExtension(object) :
def __init__(self, log_is_enabled=False) :
if log_is_enabled:
print("Enabled log")
@classmethod
def from_crawler(cls, crawler) :
settings = crawler.settings
return cls(settings.getbool('LOG_ENABLED') )

理由设置名称

设置名称作为前缀添加到他们配置组件。 例如,对于扩展的robots.txt,设置名称可以ROBOTSTXT_ENABLED,ROBOTSTXT_OBEY,ROBOTSTXT_CACHEDIR等

内置的设置参考

下表给出了Scrapy的内置设置:

SN 设置和说明

1. AWS_ACCESS_KEY_ID
它是用于访问亚马逊网络服务。
默认值:无
2. AWS_SECRET_ACCESS_KEY
它是用于访问亚马逊网络服务。
3. BOT_NAME
它是一种可以用于构建用户代理机器人的名称。
默认值:“scrapybot”
4. CONCURRENT_ITEMS
在用来并行地处理所述物品处理器的现有项目的最大数目。
5. CONCURRENT_REQUESTS
其中Scrapy下载执行现有的最大请求数。
默认值:16
6.
CONCURRENT_REQUESTS_PER_DOMAIN
现有的最大请求数,对于任何单域同时进行。
默认值:8
7. CONCURRENT_REQUESTS_PER_IP
现有的请求的最大数量的同时执行任何单一的IP。
默认值:0
8. DEFAULT_ITEM_CLASS
它是用来表示商品一类。
默认值:“scrapy.item.Item”
9. DEFAULT_REQUEST_HEADERS
它是用于Scrapy的HTTP请求的默认标题。
默认值:
{
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en',
}
10. DEPTH_LIMIT
因为蜘蛛的最大深度抓取任何网站。
默认值:0
11.
DEPTH_PRIORITY
它是用于根据深度来改变请求优先级的整数。
默认值:0
12.
DEPTH_STATS
它指出是否收集详细的统计资料与否。
默认值:True
13.
DEPTH_STATS_VERBOSE
当启用此设置,请求数统计中的每个详细深入的收集。
默认值:False
14.
DNSCACHE_ENABLED
它是用来启用内存缓存DNS。
默认值:True
15.
DNSCACHE_SIZE
它定义了在内存中缓存DNS的大小。
默认值:10000
16.
DNS_TIMEOUT
它是用来设置超时DNS处理的查询。
默认值:60
17.
DOWNLOADER
它是用来抓取过程中下载。
默认值:“scrapy.core.downloader.Downloader”
18.
DOWNLOADER_MIDDLEWARES
这是辞典保持下载中间件和他们的订单。
默认值: {}
19.
DOWNLOADER_MIDDLEWARES_BASE
这是默认启用的一个辞典保持下载中间件。
默认值:{ 'scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware':100,}
20.
DOWNLOADER_STATS
此设置用于启用下载统计。
默认值:True
21.
DOWNLOAD_DELAY
它定义的总时间下载它从下载网站的网页之前。
默认值:0
22.
DOWNLOAD_HANDLERS
它与下载处理程序的字典。
默认值: {}
23.
DOWNLOAD_HANDLERS_BASE
它与默认情况下启用下载处理程序的字典。
默认值:{ '文件': 'scrapy.core.downloader.handlers.file.FileDownloadHandler',}
24.
DOWNLOAD_TIMEOUT
它的总时间下载到之前等待超时。
默认值:180
25.
DOWNLOAD_MAXSIZE
这是响应的下载器下载的最大尺寸。
默认值:1073741824 (1024MB)
26.
DOWNLOAD_WARNSIZE
它定义为响应下载警告的大小。
默认值:33554432 (32MB)
27.
DUPEFILTER_CLASS
这是用于检测和是重复的请求的滤波的类。
默认值:“scrapy.dupefilters.RFPDupeFilter”
28.
DUPEFILTER_DEBUG
当设置为true此设置记录所有重复的过滤器。
默认值:False
29. EDITOR
它是用来编辑使用编辑命令蜘蛛。
默认值:取决于环境
30.
EXTENSIONS
它是具有在项目中启用的扩展字典。
默认值: {}
31.
EXTENSIONS_BASE
它是具有内置的扩展字典。
默认值:{ 'scrapy.extensions.corestats.CoreStats':0,}
32.
FEED_TEMPDIR
它是用来设置,其中履带临时文件可以存储自定义文件夹的目录。
33.
ITEM_PIPELINES
它是具有管线的字典。
默认值: {}
34.
LOG_ENABLED
它定义如果日志被启用。
默认值:True
35.
LOG_ENCODING
它定义了将用于记录的编码类型。
默认值: 'UTF-8'
36.
LOG_FILE
它是用于记录的输出文件的名称。
默认值:无
37.
LOG_FORMAT
它是利用它的日志信息可以被格式化的字符串。
默认值: '%(asctime)小号[%(name) S] %(levelname) S: %(message) s'的
38.
LOG_DATEFORMAT
它是利用它的日期/时间可以格式化字符串。
默认值: '%Y-%间 - %D%H:%M:%S'
39.
LOG_LEVEL
它定义最低日志级别。
默认值:“DEBUG”
40.
LOG_STDOUT
此设置如果设置为true ,所有侑过程输出会出现在日志中。
默认值:False
41.
MEMDEBUG_ENABLED
它定义如果内存调试启用。
默认值:False
42.
MEMDEBUG_NOTIFY
它定义启用内存调试时,发送到特定地址的内存报告。
默认值: []
43.
MEMUSAGE_ENABLED
它定义如果存储器使用是当scrapy过程超过存储器限制被启用。
默认值:False
44.
MEMUSAGE_LIMIT_MB
如果定义了存储器的最大限制(in megabytes)被允许。
默认值:0
45.
MEMUSAGE_CHECK_INTERVAL_SECONDS
它用于通过设置间隔的长度,以检查本内存使用情况。
默认值:60.0
46.
MEMUSAGE_NOTIFY_MAIL
它是用来当内存达到极限与电子邮件列表通知。
默认值:False
47.
MEMUSAGE_REPORT
它定义如果内存使用情况报告要在关闭每个蜘蛛发送。
默认值:False
48.
MEMUSAGE_WARNING_MB
它定义被发送警告之前被允许的总存储。
默认值:0
49.
NEWSPIDER_MODULE
这是其中使用创造了新的蜘蛛模块genspider命令。
默认值: ''
50.
RANDOMIZE_DOWNLOAD_DELAY
它定义的时候了Scrapy等待下载的同时从网站上请求一个随机量。
默认值:True
51.
REACTOR_THREADPOOL_MAXSIZE
它定义为在反应器线程池的最大尺寸。
默认值:10
52.
REDIRECT_MAX_TIMES
它定义了一个请求多少次可以重定向。
默认值:20
53.
REDIRECT_PRIORITY_ADJUST
设置时,该设置,调整的请求重定向优先级。
默认值:+2
54.
RETRY_PRIORITY_ADJUST
设置时,该设置,调整请求重试的优先权。
默认值:-1
55.
ROBOTSTXT_OBEY
当设置为Scrapy遵循robots.txt政策true 。
默认值:False
56.
SCHEDULER
它定义了用于抓取目的调度。
默认值:“scrapy.core.scheduler.Scheduler”
57.
SPIDER_CONTRACTS
它是在有项目蜘蛛合同测试蜘蛛的字典。
默认值: {}
58.
SPIDER_CONTRACTS_BASE
这是保持其在Scrapy默认启用Scrapy合同的字典。
默认值:

{
'scrapy.contracts.default.UrlContract' : 1,
'scrapy.contracts.default.ReturnsContract': 2,
}
59.
SPIDER_LOADER_CLASS
它定义了实现一个类SpiderLoader API来加载蜘蛛。
默认值:“scrapy.spiderloader.SpiderLoader”
60.
SPIDER_MIDDLEWARES
这是拿着蜘蛛中间件的字典。
默认值: {}
61.
SPIDER_MIDDLEWARES_BASE
这是在Scrapy默认启用一个辞典保持蜘蛛中间件。
默认值:
{
'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware': 50,
}
62.
SPIDER_MODULES
它是一种含有蜘蛛其中Scrapy将寻找模块列表。
默认值: []
63.
STATS_CLASS
这是实现一类Stats Collector API来收集统计信息。
默认值:“scrapy.statscollectors.MemoryStatsCollector”
64.
STATS_DUMP
当设置此设置true ,转储统计到日志中。
默认值:True
65.
STATSMAILER_RCPTS
一旦蜘蛛刮完毕,Scrapy使用此设置发送统计数据。
默认值: []
66.
TELNETCONSOLE_ENABLED
它定义是否启用telnetconsole。
默认值:True
67.
TELNETCONSOLE_PORT
它定义了Telnet控制台端口。
默认值:[6023,6073]
68.
TEMPLATES_DIR
它是包含可以在创建新的项目中使用的模板目录。
默认值: templates scrapy模块内部目录
69.
URLLENGTH_LIMIT
它定义了将被允许抓取的网址的长度为URL的最大极限。
默认值:2083
70.
USER_AGENT
它定义了在抓取网站所使用的用户代理。
默认值: “Scrapy / VERSION“

最后

以上就是迅速爆米花为你收集整理的scrapy 设置项和一些默认值描述指定的设置填充设置访问设置理由设置名称内置的设置参考的全部内容,希望文章能够帮你解决scrapy 设置项和一些默认值描述指定的设置填充设置访问设置理由设置名称内置的设置参考所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部