美文网首页
Scrapy基础配置详解 essiental scrapy se

Scrapy基础配置详解 essiental scrapy se

作者: 佑岷 | 来源:发表于2019-01-25 18:08 被阅读0次
    essentail Scrapy settings

    根据提供的配置图可以归为9大类:

    1. Analysis(统计分析相关),里面有细分为Logging(日志)、stats(统计)、Telnet(终端):
    Logging: {
    LOG_LEVEL(日志级别): DEBUG(最低)、INFO、WARNING、ERROR和CRITICAL(最高),此外还有SILENT(不会有任何日志输出);
    LOGSTATS_INTERVAL(统计时间间隔):LOGSTATS会间隔性统计items和pages抓取的数量,默认是60s,若抓取时间不长的话可以设置短一点,合理配置;
    LOG_ENABLED:是否启用日志;
    LOG_FILE:日志文件配置;
    LOG_STDOUT:标准输出设置,True时,可以输出到标准输出管道,譬如:console;
    }
    Stats:{
    STATS_DUMP:默认开启,当spider运行结束时,会将统计结果输出到控制台;
    DOWNLOADER_STATS:True/False,是否统计downloader;
    DEPTH_STATS:True/False,抓取深度统计;
    DEPTH_STATS_VERBOSE:True/False, 深度明细统计;
    STATSMAILER_RCPTS: 邮箱列表,当爬取结束时,发送统计信息过去;
    }
    Telnet:{
    TELNETCONSOLE_ENABLED:scrapy有内建的console,可以通过shell去执行,默认True;
    TELNETCONSOLE_PORT:端口号;
    }
    
    1. Performance(性能优化相关):
    CONCURRENT_REQUESTS:线程数;
    CONCURRENT_REQUESTS_PER_DOMAIN:每个domain线程数;
    CONCURRENT_REQUESTS_PER_IP:每个IP线程数;
    CONCURRENT_ITEMS:每次请求处理的最大item数,例如requests=16, items=100, 那么TPS是1600;
    DOWNLOAD_TIMEOUT:请求的超时时间,默认180s,通常设置10s;
    DOWNLOAD_DELAY:默认下载器的时间间隔是0,可以设置下载延迟,此参数设定的同时,还会有+/-50%的随机延迟,可以通过RANDOMIZE_DOWNLOAD_DELAY=false关闭随机延迟;
    RANDOMIZE_DOWNLOAD_DELAY:是否开启随机延迟;
    DNSCACHE_ENABLED:默认开启,将DNS映射在内存中,提高查询查询速度;
    
    1. Closing(爬虫关闭触发条件):
    CLOSESPIDER_ERRORCOUNT:错误数达到时自动关闭;
    CLOSESPIDER_ITEMCOUNT:item数达到时自动关闭;
    CLOSESPIDER_PAGECOUNT:页面数达到时自动关闭;
    CLOSESPIDER_TIMEOUT:超过一段时间自动关闭;
    
    1. Http Cache(缓存请求供离线访问):
    HTTPCACHE_ENABLED:是否启用;
    HTTPCACHE_DIR:缓存路径;
    HTTPCACHE_POLICY:缓存策略,eg:scrapy.contrib.httpcache.RFC2616Policy;
    HTTPCACHE_STORAGE:存储介质,eg:scrapy.contrib.httpcache.DbmCacheStorage;
    HTTPCACHE_DBM_MODULE:DBM类型,默认anydbm;
    HTTPCACHE_EXPIRATIOIN_SECS:过期时间;
    HTTPCACHE_IGNORE_HTTP_CODES:忽略codes;
    HTTPCACHE_IGNORE_MISSING:缓存中不存在时,是否重新下载;
    HTTPCACHE_IGNORE_SCHEMES:不缓存schemes中的数据;
    HTTPCACHE_GZIP:将会压缩存储,仅针对FileSystem系统存储;
    
    1. Crawling style(定制抓取):
    DEPTH_LIMIT:爬取网站的对大深度值,0无限制;
    DEPTH_PRIORITY:调试深度请求优先级;
    SCHEDULER_DISK_QUEUE:设定抓取顺序,深度or广度抓取;
    SCHEDULER_MEMORY_QUEUE:设定抓取顺序,深度or广度抓取;
    ROBOTSTXT_OBEY:如果启用会准守robots.txt爬取;
    COOKIES_ENABLED:用于保持状态,设置False,保持无状态请求;
    REFERER_ENABLED:略;
    USER_AGENT:略;
    DEFAULT_REQUEST_HEADERS:略;
    
    1. Feeds(数据导出):
    FEED_URI:远程or本地uri;
    FEED_FORMAT:文件格式;
    FEED_STORE_EMPTY:是否允许空文件;
    FEED_EXPORT_FIELDS:字段选取;
    FEED_URI_PARAMS:参数传递;
    
    1. Media download(存储):
    IMAGES_STORE:图片存储路径;
    IMAGES_EXPIRES:过期时间;
    IMAGES_THUMBS:缩略图设定;
    IMAGES_URLS_FIELD: 设定图片url保存字段名,默认image_urls;
    IMAGES_RESULT_FIELD:图片名存储字段名;
    IMAGES_MIN_HEIGHT:过滤小图片;
    IMAGES_MIN_WIDTH:过滤小图片;
    FILE_STORE:下载文件,存储路径;
    FILE_EXPIRES:文件过期时间;
    FILE_URLS_FIELD:文件url存储字段名;
    FILE_RESULT_FIELD:文件名存储字段名;
    
    1. AWS(亚马孙云存储配置):略;
    2. Proxying(代理配置, 环境变量):
    http_proxy:略;
    https_proxy:略;
    no_proxy:略;
    

    相关文章

      网友评论

          本文标题:Scrapy基础配置详解 essiental scrapy se

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