- Scrapy 教程
- Scrapy - 首页
- Scrapy 基本概念
- Scrapy - 概述
- Scrapy - 环境
- Scrapy - 命令行工具
- Scrapy - 爬虫
- Scrapy - 选择器
- Scrapy - 项目
- Scrapy - 项目加载器
- Scrapy - Shell
- Scrapy - 项目管道
- Scrapy - 数据导出
- Scrapy - 请求 & 响应
- Scrapy - 链接提取器
- Scrapy - 设置
- Scrapy - 异常
- Scrapy 实时项目
- Scrapy - 创建项目
- Scrapy - 定义项目
- Scrapy - 第一个爬虫
- Scrapy - 爬取
- Scrapy - 提取项目
- Scrapy - 使用项目
- Scrapy - 跟踪链接
- Scrapy - 抓取数据
- Scrapy 有用资源
- Scrapy - 快速指南
- Scrapy - 有用资源
- Scrapy - 讨论
Scrapy - 统计收集
描述
统计收集器是 Scrapy 提供的一个功能,用于以键值对的形式收集统计数据,可以通过爬虫 API 访问它(爬虫提供对所有 Scrapy 核心组件的访问)。每个爬虫都有一个统计收集表,当爬虫启动时,统计收集器会自动打开,当爬虫关闭时,统计收集器会自动关闭。
常见的统计收集器用途
以下代码使用stats属性访问统计收集器。
class ExtensionThatAccessStats(object): def __init__(self, stats): self.stats = stats @classmethod def from_crawler(cls, crawler): return cls(crawler.stats)
下表显示了可以使用各种选项与统计收集器进行交互:
序号 | 参数 | 描述 |
---|---|---|
1 |
stats.set_value('hostname', socket.gethostname()) |
用于设置统计数据的值。 |
2 |
stats.inc_value('customized_count') |
增加统计数据的值。 |
3 |
stats.max_value('max_items_scraped', value) |
仅当值大于先前的值时,才设置统计数据的值。 |
4 |
stats.min_value('min_free_memory_percent', value) |
仅当值小于先前的值时,才设置统计数据的值。 |
5 |
stats.get_value('customized_count') |
获取统计数据的值。 |
6 |
stats.get_stats() {'custom_count': 1, 'start_time': datetime.datetime(2009, 7, 14, 21, 47, 28, 977139)} |
获取所有统计数据。 |
可用的统计收集器
Scrapy 提供了不同类型的统计收集器,可以通过STATS_CLASS设置访问它们。
MemoryStatsCollector
这是默认的统计收集器,它维护每个用于抓取的爬虫的统计数据,并将数据存储在内存中。
class scrapy.statscollectors.MemoryStatsCollector
DummyStatsCollector
这个统计收集器非常高效,什么也不做。可以通过STATS_CLASS设置来使用它,并且可以用来禁用统计收集以提高性能。
class scrapy.statscollectors.DummyStatsCollector
广告