Settings 参数记录
Posted liyongbin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Settings 参数记录相关的知识,希望对你有一定的参考价值。
DOWNLOAD_FAIL_ON_DATALOSS :
参数:TRUE、FALSE
如果设置为 True
:
scrapy.Request 有一个 errback 参数, 当 Request 请求出错的时候,会自动调用这个回调函数:
如果处理请求时引发异常,则调用该函数。这包括404个HTTP错误和失败的页面。它接收一个扭曲的故障实例作为第一个参数。有关更多信息,请参见使用回退捕获以下请求处理中的异常。
如果设置为 False
:
scrapy 会自动添加一个名为 dataloss
的 flag 到 response.flags, 用下面代码判断是否发生错误:
if ‘dataloss‘ in response.flags:
ROBOTSTXT_OBEY :
参数:TRUE、FALSE
默认为True,就是要遵守robots.txt 的规则,那么 robots.txt 是个什么东西呢?
通俗来说, robots.txt 是遵循 Robot协议
的一个文件,它保存在网站的服务器中,它的作用是,告诉搜索引擎爬虫,本网站哪些目录下的网页 不希望
你进行爬取收录。在Scrapy启动后,会在第一时间访问网站的 robots.txt 文件,然后决定该网站的爬取范围。
当然,我们并不是在做搜索引擎,而且在某些情况下我们想要获取的内容恰恰是被 robots.txt 所禁止访问的。所以,某些时候,我们就要将此配置项设置为 False ,拒绝遵守 Robot协议
FEED_EXPORT_ENCODING :
参数:编码、文件格式
设置导出文件格式
CONCURRENT_REQUESTS :
参数:并发数
Scrapy默认的全局并发限制对同时爬取大量网站的情况并不适用,因此您需要增加这个值。 增加多少取决于您的爬虫能占用多少CPU。 一般开始可以设置为 100 。不过最好的方式是做一些测试,获得Scrapy进程占取CPU与并发数的关系。 为了优化性能,您应该选择一个能使CPU占用率在80%-90%的并发数
在setting.py
文件中写上CONCURRENT_REQUESTS = 100
,scrapy中默认的并发数是32
DOWNLOAD_DELAY:
参数:时间单位秒
从同一网站获取请求时等待时间
CONCURRENT_REQUESTS_PER_IP :
参数:并发数
对单个IP进行并发请求的最大值
AUTOTHROTTLE_ENABLED :
参数:TRUE、FALSE
启用 AutoThrottle 扩展 :
根据 Scrapy 服务器及您爬取的网站的负载自动限制爬取速度,自动调整 scrapy 来优化下载速度,使得用户不用调节下载延迟及并发请求数来找到优化的值。 用户只需指定允许的最大并发请求数,剩下的都交给扩展来完成
AUTOTHROTTLE_START_DELAY :
参数:数字
初始下载延迟(单位:秒)
AUTOTHROTTLE_MAX_DELAY :
参数:数字
在高延迟情况下最大的下载延迟(单位秒)
AUTOTHROTTLE_DEBUG :
参数:数字
起用 AutoThrottle 调试(debug)模式,展示每个接收到的 response。您可以通过此来查看限速参数是如何实时被调整的
以上是关于Settings 参数记录的主要内容,如果未能解决你的问题,请参考以下文章