笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册

统计数据集合

发布者: 笨鸟自学网

Scrapy提供了一种方便的工具,可以以键/值的形式收集统计信息,其中值通常是计数器。该工具称为stats collector,可以通过 stats 的属性 爬虫API ,如中的示例所示 常用统计信息收集器使用 下面部分。

但是,stats collector始终可用,因此无论stats集合是否启用,您都可以将其导入模块并使用其API(以增加或设置新的stat键)。如果它被禁用,API仍然可以工作,但它不会收集任何东西。这是为了简化StatsCollector的用法:在spider、scrappy扩展名或从中使用StatsCollector的任何代码中,收集统计信息的代码不应超过一行。

StatsCollector的另一个特性是,它在启用时非常高效,在禁用时非常高效(几乎不明显)。

stats收集器为每个打开的spider保留一个stats表,该表在spider打开时自动打开,在spider关闭时关闭。

常用统计信息收集器使用

通过访问Stats Collector stats 属性。以下是访问统计信息的扩展示例:

class ExtensionThatAccessStats:

    def __init__(self, stats):
        self.stats = stats

    @classmethod
    def from_crawler(cls, crawler):
        return cls(crawler.stats)

设置统计值:

stats.set_value('hostname', socket.gethostname())

增量统计值:

stats.inc_value('custom_count')

仅当大于上一个值时设置stat值::

stats.max_value('max_items_scraped', value)

仅当低于上一个时设置stat值::

stats.min_value('min_free_memory_percent', value)

获取统计值:

>>> stats.get_value('custom_count')
1

获取所有统计信息:

>>> stats.get_stats()
{'custom_count': 1, 'start_time': datetime.datetime(2009, 7, 14, 21, 47, 28, 977139)} 

12下一页
上一篇:登录下一篇:发送电子邮件

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-7-27 18:39 , Processed in 0.062574 second(s), 17 queries .

© 2001-2020

返回顶部