scrapy常用配置

一.基本配置

1.项目名称

2.爬虫应用路径

SPIDER_MODULES = ['Amazon.spiders']
NEWSPIDER_MODULE = 'Amazon.spiders'

3.客户端User-Agent请求头

USER_AGENT = 'Amazon (+http://www.yourdomain.com)'

4.是否遵循爬虫协议

ROBOTSTXT_OBEY = False

5.是否支持cookie,cookiejar进行操作cookie

COOKIES_ENABLED = True

6.Telnet用于查看当前爬虫的

TELNETCONSOLE_ENABLED = False
TELNETCONSOLE_HOST = '127.0.0.1'
TELNETCONSOLE_PORT = [6023,]

7.全局设置使用的请求头

DEFAULT_REQUEST_HEADERS = {  
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',  
'Accept-Language': 'en',
}

8.局部设置使用的请求头

#爬虫程序类中设置
    custom_settings = {
        'DEFAULT_REQUEST_HEADERS' : {
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
            'Accept-Language': 'en',
            "User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'
        }
    }

二.并发和延迟

1.下载器总共最大处理的并发请求数

CONCURRENT_REQUESTS = 32默认值16

2.每个域名能够被执行的最大并发请求数目

CONCURRENT_REQUESTS_PER_DOMAIN = 16默认值8

3.能够被单个IP处理的并发请求数

默认值0,代表无限制,需要注意两点

  • 如果不为零,那CONCURRENT_REQUESTS_PER_DOMAIN将被忽略,即并发数的限制是按照每个IP来计算,而不是每个域名
  • 该设置也影响DOWNLOAD_DELAY,如果该值不为零,那么DOWNLOAD_DELAY下载延迟是限制每个IP而不是每个域
    CONCURRENT_REQUESTS_PER_IP = 16

4.如果没有开启智能限速

这个值就代表一个规定死的值,代表对同一网址延迟请求的秒数

DOWNLOAD_DELAY = 3

5.延迟

开启True,默认False
AUTOTHROTTLE_ENABLED = True
起始的延迟
AUTOTHROTTLE_START_DELAY = 5
最小延迟
DOWNLOAD_DELAY = 3
最大延迟
AUTOTHROTTLE_MAX_DELAY = 10

每秒并发请求数的平均值

AUTOTHROTTLE_TARGET_CONCURRENCY = 16.0不能高于 CONCURRENT_REQUESTS_PER_DOMAIN或CONCURRENT_REQUESTS_PER_IP

6.调试

AUTOTHROTTLE_DEBUG = True
CONCURRENT_REQUESTS_PER_DOMAIN = 16
CONCURRENT_REQUESTS_PER_IP = 16

posted @ 2019-10-23 20:51  小小咸鱼YwY  阅读(820)  评论(2编辑  收藏  举报