<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 統計數據集合 > 譯者:[OSGeo 中國](https://www.osgeo.cn/) Scrapy提供了一種方便的工具,可以以鍵/值的形式收集統計信息,其中值通常是計數器。該工具稱為stats collector,可以通過 [`stats`](api.html#scrapy.crawler.Crawler.stats "scrapy.crawler.Crawler.stats") 的屬性 [爬蟲API](api.html#topics-api-crawler) ,如中的示例所示 [常用統計信息收集器使用](#topics-stats-usecases) 下面部分。 但是,stats collector始終可用,因此無論stats集合是否啟用,您都可以將其導入模塊并使用其API(以增加或設置新的stat鍵)。如果它被禁用,API仍然可以工作,但它不會收集任何東西。這是為了簡化StatsCollector的用法:在spider、scrappy擴展名或從中使用StatsCollector的任何代碼中,收集統計信息的代碼不應超過一行。 StatsCollector的另一個特性是,它在啟用時非常高效,在禁用時非常高效(幾乎不明顯)。 stats收集器為每個打開的spider保留一個stats表,該表在spider打開時自動打開,在spider關閉時關閉。 ## 常用統計信息收集器使用 通過訪問Stats Collector [`stats`](api.html#scrapy.crawler.Crawler.stats "scrapy.crawler.Crawler.stats") 屬性。以下是訪問統計信息的擴展示例: ```py class ExtensionThatAccessStats(object): def __init__(self, stats): self.stats = stats @classmethod def from_crawler(cls, crawler): return cls(crawler.stats) ``` 設置統計值: ```py stats.set_value('hostname', socket.gethostname()) ``` 增量統計值: ```py stats.inc_value('custom_count') ``` 僅當大于上一個值時設置stat值:: ```py stats.max_value('max_items_scraped', value) ``` 僅當低于上一個時設置stat值:: ```py stats.min_value('min_free_memory_percent', value) ``` 獲取統計值: ```py >>> stats.get_value('custom_count') 1 ``` 獲取所有統計數據: ```py >>> stats.get_stats() {'custom_count': 1, 'start_time': datetime.datetime(2009, 7, 14, 21, 47, 28, 977139)} ``` ## 可用的統計信息收集器 除了基本的 `StatsCollector` Scrapy中還有其他可用的統計數據收集器,它們擴展了基本統計數據收集器。您可以通過 [`STATS_CLASS`](settings.html#std:setting-STATS_CLASS) 設置。使用的默認統計信息收集器是 `MemoryStatsCollector` . ### MemoryStatsCollector ```py class scrapy.statscollectors.MemoryStatsCollector ``` 一個簡單的統計信息收集器,它在關閉后將上次(每個 Spider )抓取運行的統計信息保存在內存中。可以通過 [`spider_stats`](#scrapy.statscollectors.MemoryStatsCollector.spider_stats "scrapy.statscollectors.MemoryStatsCollector.spider_stats") 屬性,它是由 Spider 域名鍵入的dict。 這是Scrapy中使用的默認統計信息收集器。 ```py spider_stats ``` 包含每個 Spider 最后一次抓取運行的統計信息的dict的dict(由 Spider 名稱鍵控)。 ### DummyStatsCollector ```py class scrapy.statscollectors.DummyStatsCollector ``` 一個只做非常有效的統計數據收集器(因為它什么也不做)。此統計信息收集器可以通過 [`STATS_CLASS`](settings.html#std:setting-STATS_CLASS) 設置,以禁用統計信息收集以提高性能。但是,與其他零碎的工作負載(如解析頁面)相比,統計數據收集的性能損失通常是微乎其微的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看