首页 > 学院 > 开发设计 > 正文

scrapy 设置项和一些默认值

2019-11-08 03:23:14
字体:
来源:转载
供稿:网友

描述

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

指定的设置

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

填充设置

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

SN 机制和说明

1. Command line options在这里,所传递的参数通过重写其他选项最高的优先顺序。 该-s用于覆盖一个或多个设置。scrapy crawl myspider -s LOG_FILE=scrapy.log2. 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下载执行现有的最大请求数。默认值:166. CONCURRENT_REQUESTS_PER_DOMAIN 现有的最大请求数,对于任何单域同时进行。默认值:87. CONCURRENT_REQUESTS_PER_ip现有的请求的最大数量的同时执行任何单一的IP。默认值:08. 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因为蜘蛛的最大深度抓取任何网站。默认值:011. DEPTH_PRIORITY它是用于根据深度来改变请求优先级的整数。默认值:012. DEPTH_STATS它指出是否收集详细的统计资料与否。默认值:True13. DEPTH_STATS_VERBOSE当启用此设置,请求数统计中的每个详细深入的收集。默认值:False14. DNSCACHE_ENABLED它是用来启用内存缓存DNS。默认值:True15. DNSCACHE_SIZE它定义了在内存中缓存DNS的大小。默认值:1000016. DNS_TIMEOUT它是用来设置超时DNS处理的查询。默认值:6017. DOWNLOADER它是用来抓取过程中下载。默认值:“scrapy.core.downloader.Downloader”18. DOWNLOADER_MIDDLEWARES这是辞典保持下载中间件和他们的订单。默认值: {}19. DOWNLOADER_MIDDLEWARES_BASE这是默认启用的一个辞典保持下载中间件。默认值:{ 'scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware':100,}20. DOWNLOADER_STATS此设置用于启用下载统计。默认值:True21. DOWNLOAD_DELAY它定义的总时间下载它从下载网站的网页之前。默认值:022. DOWNLOAD_HANDLERS它与下载处理程序的字典。默认值: {}23. DOWNLOAD_HANDLERS_BASE它与默认情况下启用下载处理程序的字典。默认值:{ '文件': 'scrapy.core.downloader.handlers.file.FileDownloadHandler',}24. DOWNLOAD_TIMEOUT它的总时间下载到之前等待超时。默认值:18025. DOWNLOAD_MAXSIZE这是响应的下载器下载的最大尺寸。默认值:1073741824 (1024MB)26. DOWNLOAD_WARNSIZE它定义为响应下载警告的大小。默认值:33554432 (32MB)27. DUPEFILTER_CLASS这是用于检测和是重复的请求的滤波的类。默认值:“scrapy.dupefilters.RFPDupeFilter”28. DUPEFILTER_DEBUG当设置为true此设置记录所有重复的过滤器。默认值:False29. EDITOR它是用来编辑使用编辑命令蜘蛛。默认值:取决于环境30. EXTENSIONS它是具有在项目中启用的扩展字典。默认值: {}31. EXTENSIONS_BASE它是具有内置的扩展字典。默认值:{ 'scrapy.extensions.corestats.CoreStats':0,}32. FEED_TEMPDIR它是用来设置,其中履带临时文件可以存储自定义文件夹的目录。33. ITEM_PIPELINES它是具有管线的字典。默认值: {}34. LOG_ENABLED它定义如果日志被启用。默认值:True35. 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 ,所有侑过程输出会出现在日志中。默认值:False41. MEMDEBUG_ENABLED它定义如果内存调试启用。默认值:False42. MEMDEBUG_NOTIFY它定义启用内存调试时,发送到特定地址的内存报告。默认值: []43. MEMUSAGE_ENABLED它定义如果存储器使用是当scrapy过程超过存储器限制被启用。默认值:False44. MEMUSAGE_LIMIT_MB如果定义了存储器的最大限制(in megabytes)被允许。默认值:045. MEMUSAGE_CHECK_INTERVAL_SECONDS它用于通过设置间隔的长度,以检查本内存使用情况。默认值:60.046. MEMUSAGE_NOTIFY_MAIL它是用来当内存达到极限与电子邮件列表通知。默认值:False47. MEMUSAGE_REPORT它定义如果内存使用情况报告要在关闭每个蜘蛛发送。默认值:False48. MEMUSAGE_WARNING_MB它定义被发送警告之前被允许的总存储。默认值:049. NEWSPIDER_MODULE这是其中使用创造了新的蜘蛛模块genspider命令。默认值: ''50. RANDOMIZE_DOWNLOAD_DELAY它定义的时候了Scrapy等待下载的同时从网站上请求一个随机量。默认值:True51. REACTOR_THREADPOOL_MAXSIZE它定义为在反应器线程池的最大尺寸。默认值:1052. REDIRECT_MAX_TIMES它定义了一个请求多少次可以重定向。默认值:2053. REDIRECT_PRIORITY_ADJUST设置时,该设置,调整的请求重定向优先级。默认值:+254. RETRY_PRIORITY_ADJUST设置时,该设置,调整请求重试的优先权。默认值:-155. ROBOTSTXT_OBEY当设置为Scrapy遵循robots.txt政策true 。默认值:False56. 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 ,转储统计到日志中。默认值:True65. STATSMAILER_RCPTS一旦蜘蛛刮完毕,Scrapy使用此设置发送统计数据。默认值: []66. TELNETCONSOLE_ENABLED它定义是否启用telnetconsole。默认值:True67. TELNETCONSOLE_PORT它定义了Telnet控制台端口。默认值:[6023,6073]68. TEMPLATES_DIR它是包含可以在创建新的项目中使用的模板目录。默认值: templates scrapy模块内部目录69. URLLENGTH_LIMIT它定义了将被允许抓取的网址的长度为URL的最大极限。默认值:208370. USER_AGENT它定义了在抓取网站所使用的用户代理。默认值: “Scrapy / VERSION“
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表