摘要:关于scrapy中settings.py的一些配置

settings.py常用参数

USER_AGENT 设置ua
ROBOTSTXT_OBEY 是否遵守robots协议,默认是遵守
CONCURRENT_REQUESTS 设置并发请求的数量,默认是16个
DOWNLOAD_DELAY 下载延迟,默认无延迟
COOKIES_ENABLED 是否开启cookie,即每次请求带上前一次的cookie,默认是开启的
DEFAULT_REQUEST_HEADERS 设置默认请求头,这里加入了USER_AGENT将不起作用(实测原作者说错了,这里面写user-agent是生效的)
SPIDER_MIDDLEWARES 爬虫中间件,设置过程和管道相同
DOWNLOADER_MIDDLEWARES 下载中间件
LOG_LEVEL 控制终端输出信息的log级别,终端默认显示的是debug级别的log信息
LOG_LEVEL = "WARNING"
LOG_FILE 设置log日志文件的保存路径,如果设置该参数,终端将不再显示信息
LOG_FILE = "./test.log"
USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like  Gecko) Chrome/75.0.3770.100 Safari/537.36"
  • DEFAULT_REQUEST_HEADERS、USER_AGENT
    DEFAULT_REQUEST_HEADERSUSER_AGENT 都可以拿来设置UA头,当两者冲突时EFAULT_REQUEST_HEADERS优先于USER_AGENT
  • DOWNLOAD_DELAY

    下载延迟,每一个请求之间的间隔.自动降速防止被检查到是爬虫

  • CONCURRENT_REQUESTS

    Scrapy downloader 并发请求(concurrent requests)的最大值,可增加这个值,增加多少取决于爬虫占CPU多少

    默认:16

  • CONCURRENT_REQUESTS_PER_DOMAIN

    对单个网站进行并发请求的最大值 默认:8

  • CONCURRENT_REQUESTS_PER_IP

    对单个IP进行并发请求的最大值。如果非0,则忽略 CONCURRENT_REQUESTS_PER_DOMAIN 设定, 使用该设定。 也就是说,并发限制将针对IP,而不是网站。该设定也影响 DOWNLOAD_DELAY: 如果 CONCURRENT_REQUESTS_PER_IP 非0,下载延迟应用在IP而不是网站上

    默认:0

参考

详细参考:scrapy框架学习 | Luke的个人博客
详细参考:scrapy(2)settings - 知乎