天天看点

Python爬虫Scrapy框架: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'
        }
    }

           
推荐Python大牛在线分享技术 扣qun:855408893

领域:web开发,爬虫,数据分析,数据挖掘,人工智能

零基础到项目实战,7天学习上手做项目

           

二.并发和延迟

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