美文网首页
Scrapy settings总结

Scrapy settings总结

作者: 会爬虫的小蟒蛇 | 来源:发表于2022-08-23 09:53 被阅读0次

    官方文档:https://scrapy-chs.readthedocs.io

    Scrapy配置分两种,分别是全局配置和局部配置(局部配置可以覆盖全局配置)

    全局配置以赋值的方式书写在settings.py中

    ROBOTSTXT_OBEY = False
    

    局部配置以字典形式书写在Spider文件中

    class BaiDuSpider(scrapy.Spider):
        name = 'BaiDu'
        start_urls = ['http://www.baidu.com']
        custom_settings = {
            'ROBOTSTXT_OBEY': False,
        }
        
        def parse(self, response):
            print(response)
    

    BOT_NAME

    当使用 startproject 命令创建项目时其也被自动赋值

    BOT_NAME = 'ProjectName'
    

    SPIDER_MODULES

    crawl命令到此目录下寻找爬虫运行

    SPIDER_MODULES = ['ProjectName.spiders']
    

    NEWSPIDER_MODULE

    genspider创建的爬虫被放到此目录下

    NEWSPIDER_MODULE = 'ProjectName.spiders'
    

    ROBOTSTXT_OBEY

    是否遵守机器人协议(大多数情况遵守协议是写不了爬虫的)

    ROBOTSTXT_OBEY = False
    

    CONCURRENT_REQUESTS

    最大的并发请求数量(默认16)

    CONCURRENT_REQUESTS = 16
    

    DEFAULT_REQUEST_HEADERS

    设置默认请求头(会被局部headers覆盖)

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

    USER_AGENT

    对请求头中User-AGENT进行设置

    USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.63'
    

    DOWNLOAD_DELAY

    下载器延迟

    DOWNLOAD_DELAY = 0.25 #下载延迟0.25秒
    

    DOWNLOAD_TIMEOUT

    下载器超时设置(默认180秒)

    DOWNLOAD_TIMEOUT = 180
    

    COOKIES_ENABLED

    是否携带cookies (默认True),设置为False可以起到禁用cookies的作用

    COOKIES_ENABLED = True
    

    COOKIES_DEBUG

    是否追踪cookies(默认为False)

    COOKIES_DEBUG = False
    

    PROXIES

    代理设置(建议在中间件中配置)

    PROXIES = [
       {'ip_port': '111.11.228.75:80', 'password': ''},
       {'ip_port': '120.198.243.22:80', 'password': ''},
    ]
    

    DOWNLOAD_HANDLERS

    爬虫协议管理

    DOWNLOAD_HANDLERS = {
        # 请求协议提升为http2
        'https': 'scrapy.core.downloader.handlers.http2.H2DownloadHandler',
    }
    

    HTTPERROR_ALLOWED_CODES

    忽略某些状态码(一般用于处理重定向)

    HTTPERROR_ALLOWED_CODES = [302, 304]
    

    LOG_ENABLED

    是否启用日志(默认True)

    LOG_ENABLED = True
    

    LOG_ENCODING

    日志编码设置(默认 ‘utf-8’)

    LOG_ENCODING = 'utf-8'
    

    LOG_LEVEL

    日志等级设置

    LOG_LEVEL = 'LOG_LEVEL' # 严重错误
    LOG_LEVEL = 'ERROR' # 一般错误
    LOG_LEVEL = 'WARNING' # 警告信息
    LOG_LEVEL = 'INFO' # 一般信息
    LOG_LEVEL = 'DEBUG' # 调试信息
    

    LOG_FILE

    日志输出文件名

    LOG_FILE = "test.log"
    

    相关文章

      网友评论

          本文标题:Scrapy settings总结

          本文链接:https://www.haomeiwen.com/subject/nrwngrtx.html