• 'pip install logparser' on host '127.0.0.1:6800' and run command 'logparser'. Or wait until LogParser parses the log.

PROJECT (event_scrapers), SPIDER (canaan_library)

  • Log analysis
  • Log categorization
  • View log
  • Crawler.stats
  • projectevent_scrapers
    spidercanaan_library
    job02716d29957f11f196af0050565fa5d9
    first_log_time2026-08-11 14:20:18
    latest_log_time2026-08-11 14:20:20
    runtime0:00:02
    crawled_pages 26
    scraped_items 5
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count0
    log_warning_count3
    log_redirect_count0
    log_retry_count0
    log_ignore_count20
    latest_crawl
    latest_scrape
    latest_log
    current_time
    latest_item{'event_url': 'https://www.newcanaanlibrary.org/event/graphic-design-workshop-grades-5-8-232618', 'platform_hash': 'd31528a0e6c3e2add072007be3174a16', 'raw_body': '<main class="main-container container" role="main"> ' '<a id="main-content" tabindex="-1"></a> ' '<div> ' '<div class="hidden" data-drupal-messages-fallback=""></div> ' '<div class="block block-views ' 'block-views-blocklc-announcements-lc-announcements-block ' 'position-relative" ' 'id="block-website-theme-views-block-lc-announcements-lc-announcements-block"> ' '<div class="views-element-container"> ' '<div class="lc-announcements view view-lc-announcements ' 'view-id-lc_announcements view-display-id-lc_announcements_block ' 'js-view-dom-id-a06d315a66e3ec09f40224050973772c7a5eb4c10754e1ccf4cfc9156fa64ba5 ' 'row"> ' '<div class="col-md-12"> ' '</div> ' '<div class="content-container py-0 col-md-12"> ' '<div class="view-content"> ' '<div class="views-row"> ' '<div class="announcement"> ' '<div class="announcement__content"> ' '<h4 class="announcement__title"> ' '<span>The Library is closed on summer Sundays through Labor ' 'Day.</span> ' '</h4> ' '</div> ' '</div> ' '</div> ' '</div> ' '</div> ' '</div> ' '</div> ' '</div> ' '<div class="block block-core block-page-title-block ' 'position-relative" id="block-website-theme-page-title"> ' '<h1 class="mb-4"> ' '<span>Graphic Design Workshop for Grades 5-8</span> ' '</h1> ' '</div> ' '<div class="block block-system block-system-main-block ' 'position-relative" id="block-website-theme-content"> ' '<article class="lc-event lc-event--full node node--type-lc-event ' 'node--promoted node--view-mode-full"> ' '<div class="lc-event__menu-tasks"><div class="lc-menu-tasks"> ' '<h2 class="visually-hidden">Primary tabs</h2> ' '<ul class="list-inline"><li class="list-inline-item"><a ' 'class="button button--primary btn-sm" ' 'data-drupal-link-system-path="events/upcoming" ' 'href="/events/upcoming">Upcoming</a></li> ' '<li class="list-inline-item"><a class="button button--primary ' 'btn-sm" data-drupal-link-system-path="events/list" ' 'href="/events/list">List</a></li> ' '<li class="list-inline-item"><a class="button button--primary ' 'btn-sm" data-drupal-link-system-path="events/month/2026/08" ' 'href="/events/month/2026/08">Month</a></li> ' '<li class="list-inline-item"><a class="button button--primary ' 'btn-sm" data-drupal-link-system-path="events/week/2026/08/11" ' 'href="/events/week/2026/08/11">Week</a></li> ' '<li class="list-inline-item"><a class="button button--primary ' 'btn-sm" data-drupal-link-system-path="events/day/2026/08/11" ' 'href="/events/day/2026/08/11">Day</a></li> ' '</ul> ' '</div> ' '</div> ' '<div class="node__content lc-event-wrapper"> ' '<aside class="lc-event-sidebar lc-event__sidebar"> ' '<div class="lc-print-row"> ' '<div class="lc-print-column"> ' '<div class="lc-event-details lc-event-section"> ' '<div aria-hidden="true" class="lc-date-icon"> ' '<span class="lc-date-icon__item lc-date-icon__item--month"> ' ' Aug ' ' </span> ' '<span class="lc-date-icon__item lc-date-icon__item--day"> ' ' 11 ' ' </span> ' '<span class="lc-date-icon__item lc-date-icon__item--year"> ' ' 2026 ' ' </span> ' '<span class="lc-date-icon__item lc-date-icon__item--day-name"> ' ' Tue ' ' </span> ' '</div> ' '<div class="lc-event-info"> ' '<h3 class="lc-event-subtitle lc-event-room"> ' ' Anderson MakerLab ' ' </h3> ' '<div class="lc-event-info-item lc-event-info-item--date"> ' ' Tuesday, August 11, 2026 ' ' </div> ' '<div class="lc-event-info-item lc-event-info-item--time"> ' ' 10:00am–11:00am ' ' </div> ' '</div> ' '</div> ' '<div class="lc-repeating-dates lc-event-section"> ' '<details class="lc-repeating-dates__details"> ' '<summary class="lc-repeating-dates__toggle"> ' ' Also Occurs On <span ' 'class="lc-repeating-dates__toggle-icon" ' 'role="presentation">:</span> ' '</summary> ' '<div class="lc-repeating-dates__wrapper"> ' '<ul class="lc-repeating-dates__list"> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link" ' 'href="/event/graphic-design-workshop-grades-5-8-232617"> ' ' 08/10/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link active" ' 'href="/event/graphic-design-workshop-grades-5-8-232618"> ' ' 08/11/26 ' ' </a> ' '</li> ' '</ul> ' '</div> ' '</details> ' '</div> ' '</div> ' '</div> ' '</aside> ' '<section class="lc-event-content lc-event__content"> ' '<div class="lc-event-share-event"> ' '<div class="lc-event-actions lc-event-actions--share-event"> ' '<ul class="lc-event-actions__list"> ' '<li class="lc-event-actions__item"> ' '<a class="button button--primary lc-event-action-link use-ajax" ' 'data-dialog-options='{"title":"Add This Event To Your ' 'Calendar","width":"auto"}' data-dialog-type="modal" ' 'data-toggle="tooltip" href="/node/232618/add_to_calendar" ' 'title="Add To My Calendar"> ' '<span class="lc-event-actions__icon ' 'lc-event-actions__icon--calendar"></span> ' '<span class="lc-event-actions__text">Add To My Calendar</span> ' '</a> ' '</li> ' '<li class="lc-event-actions__item"> ' '<a class="button button--primary lc-event-action-link" ' 'data-toggle="tooltip" href="#" onclick="window.print()" ' 'title="Print this event"> ' '<span class="lc-event-actions__icon ' 'lc-event-actions__icon--print"></span> ' '<span class="lc-event-actions__text">Print</span> ' '</a> ' '</li> ' '<li class="lc-event-actions__item"> ' '<a class="button button--primary lc-event-action-link use-ajax" ' 'data-dialog-options='{"dialogClass":"white-popup","title":"Share ' 'This Event","width":"auto"}' data-dialog-type="modal" ' 'data-toggle="tooltip" href="/node/232618/share_this_event" ' 'title="Share this event"> ' '<span class="lc-event-actions__icon ' 'lc-event-actions__icon--share"></span> ' '<span class="lc-event-actions__text">Share</span> ' '</a> ' '</li> ' '</ul> ' '</div> ' '</div> ' '<div class="lc-event__categories lc-event__program-types"> ' '<h3 class="lc-event-label lc-d-inline">Program Type:</h3> ' '<span><a ' 'href="/events/month?program_types%5B30%5D=30">Technology &amp; ' 'STEM</a></span> ' '</div> ' '<div class="lc-event__categories lc-event__age-groups"> ' '<h3 class="lc-event-label lc-d-inline"> ' ' Age Group: ' ' </h3> ' '<span><a href="/events/month?age_groups%5B41%5D=41">Tweens &amp; ' 'Teens</a></span> ' '</div> ' '<div> ' '<div class="lc-core--extra-field"> ' '<div><ul class="lc-messages"><li ' 'class="lc-messages__message">Registration is required for this ' 'event.</li> ' '<li class="lc-messages__message">Registration is no longer ' 'available for this event.</li> ' '<li class="lc-messages__message">This event is for registrants ' 'grade 5th Grade to 8th Grade.</li> ' '</ul> ' '</div> ' '</div> ' '</div> ' '<h2 class="lc-event-subtitle">Program Description</h2> ' '<h3 class="lc-event-subtitle">Event Details</h3> ' '<div class="field-container"><p>In this hands-on graphic design ' 'workshop led by high school volunteer, students will learn how ' 'to use Canva’s free tools to design eye-catching graphics that ' 'they can use for future projects! They will put their skills to ' 'the test by designing their movie posters from start to ' 'finish! </p><p>Whether you love art, photography, digital ' 'design, or yearbook, this workshop is a fun way to explore your ' 'creativity while learning valuable design skills. No prior ' 'experience is needed; just bring your imagination!</p><p>For ' 'students in grades 5-8 in Fall 2026.</p></div> ' '<h3 ' 'class="lc-event-subtitle">                         ' '</h3> ' '<div class="field-container field-lc-disclaimer"> ' '<div><div> ' '<h4 class="lc-event-subtitle"> ' '<div class="field-container">Accessibility and ' 'Accommodations</div> ' '</h4> ' '<div class="field-container"><p>We strive to facilitate access ' 'to information and Library services for all patrons. If you have ' 'questions about accessibility or a request for accommodation, ' 'please phone 203-594-5002, email the librarian in charge of this ' 'program (see contact info above), or email <a ' 'href="/cdn-cgi/l/email-protection#8fece7e6e3ebcfe1eaf8eceee1eeeee1e3e6edfdeefdf6a1e0fde8"><span ' 'class="__cf_email__" ' 'data-cfemail="e08388898c84a08e859783818e81818e8c898292819299ce8f9287">[email ' 'protected]</span></a> with as much lead time as ' 'possible.</p></div> ' '</div> ' '</div> ' '<div><div> ' '<h4 class="lc-event-subtitle"> ' '<div class="field-container">Thank You for Your Support!</div> ' '</h4> ' '<div class="field-container"><p>The Library is pleased to be ' 'able to offer free programs and events through the generous ' 'donations of patrons like you. Please consider <strong><a ' 'href="https://www.newcanaanlibrary.org/annual-fund">making a ' 'tax-deductible gift to the Library’s Annual Fund</a></strong> so ' 'we can continue to offer programs like this one.</p></div> ' '</div> ' '</div> ' '</div> ' '<div> ' '<div class="lc-core--extra-field"> ' '</div> ' '</div> ' '</section> ' '<aside class="lc-event-sidebar"> ' '<div class="lc-event-location"> ' '<h2 class="lc-event-subtitle">Location Details</h2> ' '<div class="lc-event-location-map lc-event-section"><iframe ' 'allowfullscreen="" frameborder="0" height="300" ' 'src="https://www.google.com/maps?output=embed&amp;q=New+Canaan+Library%2C+151+Main+Street%2C+New+Canaan%2C+CT+06840%2C+United+States" ' 'style="width: 100%;" title="New Canaan Library on Google Maps" ' 'width="600"></iframe> ' '</div> ' '<div class="lc-event-location-address lc-event-section"> ' '<p class="lc-font-weight-bold">New Canaan Library</p> ' '<div class="lc-address-line lc-address-line--first"> ' ' 151 Main Street ' ' </div> ' '<div class="lc-address-line lc-address-line--second"> ' ' New Canaan, ' ' CT ' ' 06840 ' ' </div> ' '<div class="lc-event-location__phone"> ' '<a href="tel:2035945000"> ' ' (203) 594-5000 ' ' </a> ' '</div> ' '<div class="lc-branch-select-map-link"> ' ' See map: ' ' <a ' 'href="https://maps.google.com/?q=151%20Main%20Street,+New%20Canaan,+CT,+06840"> ' ' Google Maps </a> ' '</div> ' '</div> ' '<div class="lc-event-address-container"> ' '<h2 class="lc-event-subtitle">Contact Info</h2> ' '<div class="lc-event-info-item lc-event-contact-name"> ' '<span class="lc-font-weight-bold"> ' ' Name: </span> ' ' ' ' Laura Miller ' ' </div> ' '<div class="lc-event-info-item lc-event-contact-email"> ' '<span class="lc-font-weight-bold"> ' ' Email: ' ' </span> ' '<a ' 'href="/cdn-cgi/l/email-protection#1e72737772727b6c5e707b697d7f707f7f7072777c6c7f6c6730716c79"> ' '<span class="__cf_email__" ' 'data-cfemail="5834353134343d2a18363d2f3b393639393634313a2a392a2176372a3f">[email ' 'protected]</span> ' '</a> ' '</div> ' '</div> ' '</div> ' '</aside> ' '</div> ' '<div> ' '<div class="lc-core--extra-field"> ' '</div> ' '</div> ' '</article> ' '</div> ' '</div> ' '</main>'}
    • WARNING+

    • warning_logs
      3 in total

      2026-08-11 14:20:18 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:41: ScrapyDeprecationWarning: EventScrapersPipeline.open_spider() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.open_spider)
      
      2026-08-11 14:20:18 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:47: ScrapyDeprecationWarning: EventScrapersPipeline.process_item() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.process_item)
      
      2026-08-11 14:20:18 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.canaan_library.CannanLibrarySpider defines the deprecated start_requests() method. start_requests() has been deprecated in favor of a new method, start(), to support asynchronous code execution. start_requests() will stop being called in a future version of Scrapy. If you use Scrapy 2.13 or higher only, replace start_requests() with start(); note that start() is a coroutine (async def). If you need to maintain compatibility with lower Scrapy versions, when overriding start_requests() in a spider class, override start() as well; you can use super() to reuse the inherited start() implementation without copy-pasting. See the release notes of Scrapy 2.13 for details: https://docs.scrapy.org/en/2.13/news.html
        warn(
      

      INFO

    • ignore_logs
      20 in total

      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/board-game-design-camp-grades-5-9-218084>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/events/list?page=1>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/craft-take-and-make-craft-pick-ages-12-19-217698>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/diy-frog-stuffy-7-year-olds-199604>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/board-game-design-camp-grades-5-9-218085>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/read-jack-dog-grades-k-5-231837>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/beaded-jumping-frogs-grades-5-8-218094>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/silent-book-club-226191>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/read-ziggy-pug-grades-k-5-235996>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/story-starters-camp-grades-1-3-219112>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/dungeons-dragons-death-save-repeat-oneshot-ages-12-18-217709>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:19 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/read-bella-golden-doodle-grades-k-5-235997>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:20 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/board-game-design-camp-grades-5-9-218083>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:20 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/story-starters-camp-grades-1-3-219111>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:20 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/read-ziggy-pug-grades-k-5-232171>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:20 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/ecco-separation-anxiety-talk-226471>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:20 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/open-tech-180888>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:20 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/computer-basics-exploring-your-macbook-231698>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:20 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/hold-morning-music-kurt-gallagher-168846>: HTTP status code is not handled or not allowed
      2026-08-11 14:20:20 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.newcanaanlibrary.org/event/next-chapter-book-discussion-221989>: HTTP status code is not handled or not allowed

      DEBUG

    • scrapy_version

      2.14.1
    • telnet_console

      127.0.0.1:6023
    • telnet_password

      e34e683ff2137306
    • latest_crawl

      2026-08-11 14:20:20 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.newcanaanlibrary.org/event/graphic-design-workshop-grades-5-8-232618> (referer: https://www.newcanaanlibrary.org/events/list)
    • latest_stat

      2026-08-11 14:20:18 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
    • latest_scrape

      2026-08-11 14:20:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.newcanaanlibrary.org/event/graphic-design-workshop-grades-5-8-232618>
    • latest_item

      {'event_url': 'https://www.newcanaanlibrary.org/event/graphic-design-workshop-grades-5-8-232618',
       'platform_hash': 'd31528a0e6c3e2add072007be3174a16',
       'raw_body': '<main class="main-container container" role="main">
      '
                   '<a id="main-content" tabindex="-1"></a>
      '
                   '<div>
      '
                   '<div class="hidden" data-drupal-messages-fallback=""></div>
      '
                   '<div class="block block-views '
                   'block-views-blocklc-announcements-lc-announcements-block '
                   'position-relative" '
                   'id="block-website-theme-views-block-lc-announcements-lc-announcements-block">
      '
                   '<div class="views-element-container">
      '
                   '<div class="lc-announcements view view-lc-announcements '
                   'view-id-lc_announcements view-display-id-lc_announcements_block '
                   'js-view-dom-id-a06d315a66e3ec09f40224050973772c7a5eb4c10754e1ccf4cfc9156fa64ba5 '
                   'row">
      '
                   '<div class="col-md-12">
      '
                   '</div>
      '
                   '<div class="content-container py-0 col-md-12">
      '
                   '<div class="view-content">
      '
                   '<div class="views-row">
      '
                   '<div class="announcement">
      '
                   '<div class="announcement__content">
      '
                   '<h4 class="announcement__title">
      '
                   '<span>The Library is closed on summer Sundays through Labor '
                   'Day.</span>
      '
                   '</h4>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '<div class="block block-core block-page-title-block '
                   'position-relative" id="block-website-theme-page-title">
      '
                   '<h1 class="mb-4">
      '
                   '<span>Graphic Design Workshop for Grades 5-8</span>
      '
                   '</h1>
      '
                   '</div>
      '
                   '<div class="block block-system block-system-main-block '
                   'position-relative" id="block-website-theme-content">
      '
                   '<article class="lc-event lc-event--full node node--type-lc-event '
                   'node--promoted node--view-mode-full">
      '
                   '<div class="lc-event__menu-tasks"><div class="lc-menu-tasks"> '
                   '<h2 class="visually-hidden">Primary tabs</h2>
      '
                   '<ul class="list-inline"><li class="list-inline-item"><a '
                   'class="button button--primary btn-sm" '
                   'data-drupal-link-system-path="events/upcoming" '
                   'href="/events/upcoming">Upcoming</a></li>
      '
                   '<li class="list-inline-item"><a class="button button--primary '
                   'btn-sm" data-drupal-link-system-path="events/list" '
                   'href="/events/list">List</a></li>
      '
                   '<li class="list-inline-item"><a class="button button--primary '
                   'btn-sm" data-drupal-link-system-path="events/month/2026/08" '
                   'href="/events/month/2026/08">Month</a></li>
      '
                   '<li class="list-inline-item"><a class="button button--primary '
                   'btn-sm" data-drupal-link-system-path="events/week/2026/08/11" '
                   'href="/events/week/2026/08/11">Week</a></li>
      '
                   '<li class="list-inline-item"><a class="button button--primary '
                   'btn-sm" data-drupal-link-system-path="events/day/2026/08/11" '
                   'href="/events/day/2026/08/11">Day</a></li>
      '
                   '</ul>
      '
                   '</div>
      '
                   '</div>
      '
                   '<div class="node__content lc-event-wrapper">
      '
                   '<aside class="lc-event-sidebar lc-event__sidebar">
      '
                   '<div class="lc-print-row">
      '
                   '<div class="lc-print-column">
      '
                   '<div class="lc-event-details lc-event-section">
      '
                   '<div aria-hidden="true" class="lc-date-icon">
      '
                   '<span class="lc-date-icon__item lc-date-icon__item--month">
      '
                   '        Aug
      '
                   '      </span>
      '
                   '<span class="lc-date-icon__item lc-date-icon__item--day">
      '
                   '        11
      '
                   '      </span>
      '
                   '<span class="lc-date-icon__item lc-date-icon__item--year">
      '
                   '      2026
      '
                   '    </span>
      '
                   '<span class="lc-date-icon__item lc-date-icon__item--day-name">
      '
                   '        Tue
      '
                   '      </span>
      '
                   '</div>
      '
                   '<div class="lc-event-info">
      '
                   '<h3 class="lc-event-subtitle lc-event-room">
      '
                   '                  Anderson MakerLab
      '
                   '                </h3>
      '
                   '<div class="lc-event-info-item lc-event-info-item--date">
      '
                   '                                  Tuesday, August 11, 2026
      '
                   '                              </div>
      '
                   '<div class="lc-event-info-item lc-event-info-item--time">
      '
                   '      10:00am–11:00am
      '
                   '    </div>
      '
                   '</div>
      '
                   '</div>
      '
                   '<div class="lc-repeating-dates lc-event-section">
      '
                   '<details class="lc-repeating-dates__details">
      '
                   '<summary class="lc-repeating-dates__toggle">
      '
                   '                  Also Occurs On <span '
                   'class="lc-repeating-dates__toggle-icon" '
                   'role="presentation">:</span>
      '
                   '</summary>
      '
                   '<div class="lc-repeating-dates__wrapper">
      '
                   '<ul class="lc-repeating-dates__list">
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link" '
                   'href="/event/graphic-design-workshop-grades-5-8-232617">
      '
                   '                          08/10/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link active" '
                   'href="/event/graphic-design-workshop-grades-5-8-232618">
      '
                   '                          08/11/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '</ul>
      '
                   '</div>
      '
                   '</details>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '</aside>
      '
                   '<section class="lc-event-content lc-event__content">
      '
                   '<div class="lc-event-share-event">
      '
                   '<div class="lc-event-actions lc-event-actions--share-event">
      '
                   '<ul class="lc-event-actions__list">
      '
                   '<li class="lc-event-actions__item">
      '
                   '<a class="button button--primary lc-event-action-link use-ajax" '
                   'data-dialog-options='{"title":"Add This Event To Your '
                   'Calendar","width":"auto"}' data-dialog-type="modal" '
                   'data-toggle="tooltip" href="/node/232618/add_to_calendar" '
                   'title="Add To My Calendar">
      '
                   '<span class="lc-event-actions__icon '
                   'lc-event-actions__icon--calendar"></span>
      '
                   '<span class="lc-event-actions__text">Add To My Calendar</span>
      '
                   '</a>
      '
                   '</li>
      '
                   '<li class="lc-event-actions__item">
      '
                   '<a class="button button--primary lc-event-action-link" '
                   'data-toggle="tooltip" href="#" onclick="window.print()" '
                   'title="Print this event">
      '
                   '<span class="lc-event-actions__icon '
                   'lc-event-actions__icon--print"></span>
      '
                   '<span class="lc-event-actions__text">Print</span>
      '
                   '</a>
      '
                   '</li>
      '
                   '<li class="lc-event-actions__item">
      '
                   '<a class="button button--primary lc-event-action-link use-ajax" '
                   'data-dialog-options='{"dialogClass":"white-popup","title":"Share '
                   'This Event","width":"auto"}' data-dialog-type="modal" '
                   'data-toggle="tooltip" href="/node/232618/share_this_event" '
                   'title="Share this event">
      '
                   '<span class="lc-event-actions__icon '
                   'lc-event-actions__icon--share"></span>
      '
                   '<span class="lc-event-actions__text">Share</span>
      '
                   '</a>
      '
                   '</li>
      '
                   '</ul>
      '
                   '</div>
      '
                   '</div>
      '
                   '<div class="lc-event__categories lc-event__program-types">
      '
                   '<h3 class="lc-event-label lc-d-inline">Program Type:</h3>
      '
                   '<span><a '
                   'href="/events/month?program_types%5B30%5D=30">Technology &amp; '
                   'STEM</a></span>
      '
                   '</div>
      '
                   '<div class="lc-event__categories lc-event__age-groups">
      '
                   '<h3 class="lc-event-label lc-d-inline">
      '
                   '            Age Group:
      '
                   '          </h3>
      '
                   '<span><a href="/events/month?age_groups%5B41%5D=41">Tweens &amp; '
                   'Teens</a></span>
      '
                   '</div>
      '
                   '<div>
      '
                   '<div class="lc-core--extra-field">
      '
                   '<div><ul class="lc-messages"><li '
                   'class="lc-messages__message">Registration is required for this '
                   'event.</li>
      '
                   '<li class="lc-messages__message">Registration is no longer '
                   'available for this event.</li>
      '
                   '<li class="lc-messages__message">This event is for registrants '
                   'grade 5th Grade to 8th Grade.</li>
      '
                   '</ul>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '<h2 class="lc-event-subtitle">Program Description</h2>
      '
                   '<h3 class="lc-event-subtitle">Event Details</h3>
      '
                   '<div class="field-container"><p>In this hands-on graphic design '
                   'workshop led by high school volunteer, students will learn how '
                   'to use Canva’s free tools to design eye-catching graphics that '
                   'they can use for future projects! They will put their skills to '
                   'the test by designing their movie posters from start to '
                   'finish! </p><p>Whether you love art, photography, digital '
                   'design, or yearbook, this workshop is a fun way to explore your '
                   'creativity while learning valuable design skills. No prior '
                   'experience is needed; just bring your imagination!</p><p>For '
                   'students in grades 5-8 in Fall 2026.</p></div>
      '
                   '<h3 '
                   'class="lc-event-subtitle">                         '
                   '</h3>
      '
                   '<div class="field-container field-lc-disclaimer">
      '
                   '<div><div>
      '
                   '<h4 class="lc-event-subtitle">
      '
                   '<div class="field-container">Accessibility and '
                   'Accommodations</div>
      '
                   '</h4>
      '
                   '<div class="field-container"><p>We strive to facilitate access '
                   'to information and Library services for all patrons. If you have '
                   'questions about accessibility or a request for accommodation, '
                   'please phone 203-594-5002, email the librarian in charge of this '
                   'program (see contact info above), or email <a '
                   'href="/cdn-cgi/l/email-protection#8fece7e6e3ebcfe1eaf8eceee1eeeee1e3e6edfdeefdf6a1e0fde8"><span '
                   'class="__cf_email__" '
                   'data-cfemail="e08388898c84a08e859783818e81818e8c898292819299ce8f9287">[email '
                   'protected]</span></a> with as much lead time as '
                   'possible.</p></div>
      '
                   '</div>
      '
                   '</div>
      '
                   '<div><div>
      '
                   '<h4 class="lc-event-subtitle">
      '
                   '<div class="field-container">Thank You for Your Support!</div>
      '
                   '</h4>
      '
                   '<div class="field-container"><p>The Library is pleased to be '
                   'able to offer free programs and events through the generous '
                   'donations of patrons like you. Please consider <strong><a '
                   'href="https://www.newcanaanlibrary.org/annual-fund">making a '
                   'tax-deductible gift to the Library’s Annual Fund</a></strong> so '
                   'we can continue to offer programs like this one.</p></div>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '<div>
      '
                   '<div class="lc-core--extra-field">
      '
                   '</div>
      '
                   '</div>
      '
                   '</section>
      '
                   '<aside class="lc-event-sidebar">
      '
                   '<div class="lc-event-location">
      '
                   '<h2 class="lc-event-subtitle">Location Details</h2>
      '
                   '<div class="lc-event-location-map lc-event-section"><iframe '
                   'allowfullscreen="" frameborder="0" height="300" '
                   'src="https://www.google.com/maps?output=embed&amp;q=New+Canaan+Library%2C+151+Main+Street%2C+New+Canaan%2C+CT+06840%2C+United+States" '
                   'style="width: 100%;" title="New Canaan Library on Google Maps" '
                   'width="600"></iframe>
      '
                   '</div>
      '
                   '<div class="lc-event-location-address lc-event-section">
      '
                   '<p class="lc-font-weight-bold">New Canaan Library</p>
      '
                   '<div class="lc-address-line lc-address-line--first">
      '
                   '              151 Main Street
      '
                   '                          </div>
      '
                   '<div class="lc-address-line lc-address-line--second">
      '
                   '              New Canaan,
      '
                   '              CT
      '
                   '              06840
      '
                   '            </div>
      '
                   '<div class="lc-event-location__phone">
      '
                   '<a href="tel:2035945000">
      '
                   '                  (203) 594-5000
      '
                   '                </a>
      '
                   '</div>
      '
                   '<div class="lc-branch-select-map-link">
      '
                   '              See map:
      '
                   '              <a '
                   'href="https://maps.google.com/?q=151%20Main%20Street,+New%20Canaan,+CT,+06840">
      '
                   '                Google Maps              </a>
      '
                   '</div>
      '
                   '</div>
      '
                   '<div class="lc-event-address-container">
      '
                   '<h2 class="lc-event-subtitle">Contact Info</h2>
      '
                   '<div class="lc-event-info-item lc-event-contact-name">
      '
                   '<span class="lc-font-weight-bold">
      '
                   '                  Name:                </span>
      '
                   '
      '
                   '                Laura Miller
      '
                   '              </div>
      '
                   '<div class="lc-event-info-item lc-event-contact-email">
      '
                   '<span class="lc-font-weight-bold">
      '
                   '                  Email:
      '
                   '                </span>
      '
                   '<a '
                   'href="/cdn-cgi/l/email-protection#1e72737772727b6c5e707b697d7f707f7f7072777c6c7f6c6730716c79">
      '
                   '<span class="__cf_email__" '
                   'data-cfemail="5834353134343d2a18363d2f3b393639393634313a2a392a2176372a3f">[email '
                   'protected]</span>
      '
                   '</a>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '</aside>
      '
                   '</div>
      '
                   '<div>
      '
                   '<div class="lc-core--extra-field">
      '
                   '</div>
      '
                   '</div>
      '
                   '</article>
      '
                   '</div>
      '
                   '</div>
      '
                   '</main>'}
    • Head

      2026-08-11 14:20:18 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
      2026-08-11 14:20:18 [scrapy.utils.log] INFO: Versions:
      {'lxml': '6.0.2',
       'libxml2': '2.14.6',
       'cssselect': '1.3.0',
       'parsel': '1.10.0',
       'w3lib': '2.0.0',
       'Twisted': '25.5.0',
       'Python': '3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]',
       'pyOpenSSL': '25.3.0 (OpenSSL 3.5.4 30 Sep 2025)',
       'cryptography': '46.0.3',
       'Platform': 'Linux-6.8.0-90-generic-x86_64-with-glibc2.39'}
      2026-08-11 14:20:18 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
      2026-08-11 14:20:18 [asyncio] DEBUG: Using selector: EpollSelector
      2026-08-11 14:20:18 [scrapy.addons] INFO: Enabled addons:
      []
      2026-08-11 14:20:18 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-08-11 14:20:18 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-08-11 14:20:18 [scrapy.extensions.telnet] INFO: Telnet Password: e34e683ff2137306
      2026-08-11 14:20:18 [scrapy.middleware] INFO: Enabled extensions:
      ['scrapy.extensions.corestats.CoreStats',
       'scrapy.extensions.logcount.LogCount',
       'scrapy.extensions.telnet.TelnetConsole',
       'scrapy.extensions.memusage.MemoryUsage',
       'scrapy.extensions.feedexport.FeedExporter',
       'scrapy.extensions.logstats.LogStats']
      2026-08-11 14:20:18 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'event_scrapers',
       'FEED_EXPORT_ENCODING': 'utf-8',
       'FEED_URI_PARAMS': <function _feed_uri_params at 0x78509b32b4c0>,
       'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/canaan_library/02716d29957f11f196af0050565fa5d9.log',
       'NEWSPIDER_MODULE': 'event_scrapers.spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'SPIDER_MODULES': ['event_scrapers.spiders']}
      2026-08-11 14:20:18 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-11 14:20:18 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-11 14:20:18 [scrapy.middleware] INFO: Enabled downloader middlewares:
      ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware',
       'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
       'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
       'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
       'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
       'scrapy.downloadermiddlewares.retry.RetryMiddleware',
       'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
       'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
       'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPIDownloaderMiddleware',
       'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
       'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
       'scrapy.downloadermiddlewares.stats.DownloaderStats']
      2026-08-11 14:20:18 [scrapy.middleware] INFO: Enabled spider middlewares:
      ['scrapy.spidermiddlewares.start.StartSpiderMiddleware',
       'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPISpiderMiddleware',
       'scrapy.spidermiddlewares.referer.RefererMiddleware',
       'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
       'scrapy.spidermiddlewares.depth.DepthMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPIRefererSpiderMiddleware']
      2026-08-11 14:20:18 [scrapy.middleware] INFO: Enabled item pipelines:
      ['event_scrapers.pipelines.EventScrapersPipeline']
      2026-08-11 14:20:18 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:41: ScrapyDeprecationWarning: EventScrapersPipeline.open_spider() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.open_spider)
      
      2026-08-11 14:20:18 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:47: ScrapyDeprecationWarning: EventScrapersPipeline.process_item() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.process_item)
      
      2026-08-11 14:20:18 [scrapy.core.engine] INFO: Spider opened
      2026-08-11 14:20:18 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.canaan_library.CannanLibrarySpider defines the deprecated start_requests() method. start_requests() has been deprecated in favor of a new method, start(), to support asynchronous code execution. start_requests() will stop being called in a future version of Scrapy. If you use Scrapy 2.13 or higher only, replace start_requests() with start(); note that start() is a coroutine (async def). If you need to maintain compatibility with lower Scrapy versions, when overriding start_requests() in a spider class, override start() as well; you can use super() to reuse the inherited start() implementation without copy-pasting. See the release notes of Scrapy 2.13 for details: https://docs.scrapy.org/en/2.13/news.html
        warn(
      
      2026-08-11 14:20:18 [canaan_library] INFO: Sending scraped events to prod API
      2026-08-11 14:20:18 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-08-11 14:20:18 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-08-11 14:20:18 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.newcanaanlibrary.org/events/list> (referer: None)
      2026-08-11 14:20:19 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.newcanaanlibrary.org/event/weekly-plant-clinic-uconn-master-gardeners-223496> (referer: https://www.newcanaanlibrary.org/events/list)
      2026-08-11 14:20:19 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.newcanaanlibrary.org/event/women-and-money-roundtable-how-make-sense-todays-financial-markets-221792> (referer: https://www.newcanaanlibrary.org/events/list)
      2026-08-11 14:20:19 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.newcanaanlibrary.org/event/adaptive-dance-party-adults-featuring-dj-dogwalker-231697> (referer: https://www.newcanaanlibrary.org/events/list)
      2026-08-11 14:20:19 [scrapy.core.engine] DEBUG: Crawled (403) <GET https://www.newcanaanlibrary.org/event/board-game-design-camp-grades-5-9-218084> (referer: https://www.newcanaanlibrary.org/events/list)
      2026-08-11 14:20:19 [scrapy.core.engine] DEBUG: Crawled (403) <GET https://www.newcanaanlibrary.org/events/list?page=1> (referer: https://www.newcanaanlibrary.org/events/list)
      2026-08-11 14:20:19 [scrapy.core.engine] DEBUG: Crawled (403) <GET https://www.newcanaanlibrary.org/event/craft-take-and-make-craft-pick-ages-12-19-217698> (referer: https://www.newcanaanlibrary.org/events/list)
      2026-08-11 14:20:19 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-11 14:20:19 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 14051
      2026-08-11 14:20:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.newcanaanlibrary.org/event/weekly-plant-clinic-uconn-master-gardeners-223496>
      {'event_url': 'https://www.newcanaanlibrary.org/event/weekly-plant-clinic-uconn-master-gardeners-223496',
       'platform_hash': 'd31528a0e6c3e2add072007be3174a16',
       'raw_body': '<main class="main-container container" role="main">\n'
                   '<a id="main-content" tabindex="-1"></a>\n'
                   '<div>\n'
                   '<div class="hidden" data-drupal-messages-fallback=""></div>\n'
                   '<div class="block block-views '
                   'block-views-blocklc-announcements-lc-announcements-block '
                   'position-relative" '
                   'id="block-website-theme-views-block-lc-announcements-lc-announcements-block">\n'
                   '<div class="views-element-container">\n'
                   '<div class="lc-announcements view view-lc-announcements '
                   'view-id-lc_announcements view-display-id-lc_announcements_block '
                   'js-view-dom-id-7a069281ef2bc12f3d9f58c544dbfce238110af8e2496eed136ddfbaddf5bb9d '
                   'row">\n'
                   '<div class="col-md-12">\n'
                   '</div>\n'
    • Tail

                   '<span class="lc-event-actions__icon '
                   'lc-event-actions__icon--calendar"></span>\n'
                   '<span class="lc-event-actions__text">Add To My Calendar</span>\n'
                   '</a>\n'
                   '</li>\n'
                   '<li class="lc-event-actions__item">\n'
                   '<a class="button button--primary lc-event-action-link" '
                   'data-toggle="tooltip" href="#" onclick="window.print()" '
                   'title="Print this event">\n'
                   '<span class="lc-event-actions__icon '
                   'lc-event-actions__icon--print"></span>\n'
                   '<span class="lc-event-actions__text">Print</span>\n'
                   '</a>\n'
                   '</li>\n'
                   '<li class="lc-event-actions__item">\n'
                   '<a class="button button--primary lc-event-action-link use-ajax" '
                   'data-dialog-options=\'{"dialogClass":"white-popup","title":"Share '
                   'This Event","width":"auto"}\' data-dialog-type="modal" '
                   'data-toggle="tooltip" href="/node/232618/share_this_event" '
                   'title="Share this event">\n'
                   '<span class="lc-event-actions__icon '
                   'lc-event-actions__icon--share"></span>\n'
                   '<span class="lc-event-actions__text">Share</span>\n'
                   '</a>\n'
                   '</li>\n'
                   '</ul>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="lc-event__categories lc-event__program-types">\n'
                   '<h3 class="lc-event-label lc-d-inline">Program Type:</h3>\n'
                   '<span><a '
                   'href="/events/month?program_types%5B30%5D=30">Technology &amp; '
                   'STEM</a></span>\n'
                   '</div>\n'
                   '<div class="lc-event__categories lc-event__age-groups">\n'
                   '<h3 class="lc-event-label lc-d-inline">\n'
                   '            Age Group:\n'
                   '          </h3>\n'
                   '<span><a href="/events/month?age_groups%5B41%5D=41">Tweens &amp; '
                   'Teens</a></span>\n'
                   '</div>\n'
                   '<div>\n'
                   '<div class="lc-core--extra-field">\n'
                   '<div><ul class="lc-messages"><li '
                   'class="lc-messages__message">Registration is required for this '
                   'event.</li>\n'
                   '<li class="lc-messages__message">Registration is no longer '
                   'available for this event.</li>\n'
                   '<li class="lc-messages__message">This event is for registrants '
                   'grade 5th Grade to 8th Grade.</li>\n'
                   '</ul>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<h2 class="lc-event-subtitle">Program Description</h2>\n'
                   '<h3 class="lc-event-subtitle">Event Details</h3>\n'
                   '<div class="field-container"><p>In this hands-on graphic design '
                   'workshop led by high school volunteer, students will learn how '
                   'to use Canva’s free tools to design eye-catching graphics that '
                   'they can use for future projects! They will put their skills to '
                   'the test by designing their movie posters from start to '
                   'finish!\xa0</p><p>Whether you love art, photography, digital '
                   'design, or yearbook, this workshop is a fun way to explore your '
                   'creativity while learning valuable design skills. No prior '
                   'experience is needed; just bring your imagination!</p><p>For '
                   'students in grades 5-8 in Fall 2026.</p></div>\n'
                   '<h3 '
                   'class="lc-event-subtitle">\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000'
                   '</h3>\n'
                   '<div class="field-container field-lc-disclaimer">\n'
                   '<div><div>\n'
                   '<h4 class="lc-event-subtitle">\n'
                   '<div class="field-container">Accessibility and '
                   'Accommodations</div>\n'
                   '</h4>\n'
                   '<div class="field-container"><p>We strive to facilitate access '
                   'to information and Library services for all patrons. If you have '
                   'questions about accessibility or a request for accommodation, '
                   'please phone 203-594-5002, email the librarian in charge of this '
                   'program (see contact info above), or email <a '
                   'href="/cdn-cgi/l/email-protection#8fece7e6e3ebcfe1eaf8eceee1eeeee1e3e6edfdeefdf6a1e0fde8"><span '
                   'class="__cf_email__" '
                   'data-cfemail="e08388898c84a08e859783818e81818e8c898292819299ce8f9287">[email\xa0'
                   'protected]</span></a> with as much lead time as '
                   'possible.</p></div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div><div>\n'
                   '<h4 class="lc-event-subtitle">\n'
                   '<div class="field-container">Thank You for Your Support!</div>\n'
                   '</h4>\n'
                   '<div class="field-container"><p>The Library is pleased to be '
                   'able to offer free programs and events through the generous '
                   'donations of patrons like you. Please consider <strong><a '
                   'href="https://www.newcanaanlibrary.org/annual-fund">making a '
                   'tax-deductible gift to the Library’s Annual Fund</a></strong> so '
                   'we can continue to offer programs like this one.</p></div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div>\n'
                   '<div class="lc-core--extra-field">\n'
                   '</div>\n'
                   '</div>\n'
                   '</section>\n'
                   '<aside class="lc-event-sidebar">\n'
                   '<div class="lc-event-location">\n'
                   '<h2 class="lc-event-subtitle">Location Details</h2>\n'
                   '<div class="lc-event-location-map lc-event-section"><iframe '
                   'allowfullscreen="" frameborder="0" height="300" '
                   'src="https://www.google.com/maps?output=embed&amp;q=New+Canaan+Library%2C+151+Main+Street%2C+New+Canaan%2C+CT+06840%2C+United+States" '
                   'style="width: 100%;" title="New Canaan Library on Google Maps" '
                   'width="600"></iframe>\n'
                   '</div>\n'
                   '<div class="lc-event-location-address lc-event-section">\n'
                   '<p class="lc-font-weight-bold">New Canaan Library</p>\n'
                   '<div class="lc-address-line lc-address-line--first">\n'
                   '              151 Main Street\n'
                   '                          </div>\n'
                   '<div class="lc-address-line lc-address-line--second">\n'
                   '              New Canaan,\n'
                   '              CT\n'
                   '              06840\n'
                   '            </div>\n'
                   '<div class="lc-event-location__phone">\n'
                   '<a href="tel:2035945000">\n'
                   '                  (203) 594-5000\n'
                   '                </a>\n'
                   '</div>\n'
                   '<div class="lc-branch-select-map-link">\n'
                   '              See map:\n'
                   '              <a '
                   'href="https://maps.google.com/?q=151%20Main%20Street,+New%20Canaan,+CT,+06840">\n'
                   '                Google Maps              </a>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="lc-event-address-container">\n'
                   '<h2 class="lc-event-subtitle">Contact Info</h2>\n'
                   '<div class="lc-event-info-item lc-event-contact-name">\n'
                   '<span class="lc-font-weight-bold">\n'
                   '                  Name:                </span>\n'
                   '\n'
                   '                Laura Miller\n'
                   '              </div>\n'
                   '<div class="lc-event-info-item lc-event-contact-email">\n'
                   '<span class="lc-font-weight-bold">\n'
                   '                  Email:\n'
                   '                </span>\n'
                   '<a '
                   'href="/cdn-cgi/l/email-protection#1e72737772727b6c5e707b697d7f707f7f7072777c6c7f6c6730716c79">\n'
                   '<span class="__cf_email__" '
                   'data-cfemail="5834353134343d2a18363d2f3b393639393634313a2a392a2176372a3f">[email\xa0'
                   'protected]</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</aside>\n'
                   '</div>\n'
                   '<div>\n'
                   '<div class="lc-core--extra-field">\n'
                   '</div>\n'
                   '</div>\n'
                   '</article>\n'
                   '</div>\n'
                   '</div>\n'
                   '</main>'}
      2026-08-11 14:20:20 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-08-11 14:20:20 [scrapy.extensions.feedexport] INFO: Stored csv feed (5 items) in: output/2026/08/11/canaan_library.csv
      2026-08-11 14:20:20 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 8470,
       'downloader/request_count': 26,
       'downloader/request_method_count/GET': 26,
       'downloader/response_bytes': 106711,
       'downloader/response_count': 26,
       'downloader/response_status_count/200': 6,
       'downloader/response_status_count/403': 20,
       'elapsed_time_seconds': 1.885037,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 8, 11, 12, 20, 20, 434481, tzinfo=datetime.timezone.utc),
       'httpcompression/response_bytes': 485414,
       'httpcompression/response_count': 26,
       'httperror/response_ignored_count': 20,
       'httperror/response_ignored_status_count/403': 20,
       'item_scraped_count': 5,
       'items_per_minute': 300.0,
       'log_count/DEBUG': 41,
       'log_count/INFO': 23,
       'memusage/max': 99500032,
       'memusage/startup': 99500032,
       'request_depth_max': 1,
       'response_received_count': 26,
       'responses_per_minute': 1560.0,
       'scheduler/dequeued': 26,
       'scheduler/dequeued/memory': 26,
       'scheduler/enqueued': 26,
       'scheduler/enqueued/memory': 26,
       'start_time': datetime.datetime(2026, 8, 11, 12, 20, 18, 549444, tzinfo=datetime.timezone.utc)}
      2026-08-11 14:20:20 [scrapy.core.engine] INFO: Spider closed (finished)
    • Log

      /1/log/utf8/event_scrapers/canaan_library/02716d29957f11f196af0050565fa5d9/?job_finished=True

    • Source

      http://127.0.0.1:6800/logs/event_scrapers/canaan_library/02716d29957f11f196af0050565fa5d9.log

  • sourcelog
    last_update_time2026-08-11 14:20:20
    last_update_timestamp1786450820
    downloader/request_bytes8470
    downloader/request_count26
    downloader/request_method_count/GET26
    downloader/response_bytes106711
    downloader/response_count26
    downloader/response_status_count/2006
    downloader/response_status_count/40320
    elapsed_time_seconds1.885037
    feedexport/success_count/FileFeedStorage1
    finish_reasonfinished
    finish_timedatetime.datetime(2026, 8, 11, 12, 20, 20, 434481, tzinfo=datetime.timezone.utc)
    httpcompression/response_bytes485414
    httpcompression/response_count26
    httperror/response_ignored_count20
    httperror/response_ignored_status_count/40320
    item_scraped_count5
    items_per_minute300.0
    log_count/DEBUG41
    log_count/INFO23
    memusage/max99500032
    memusage/startup99500032
    request_depth_max1
    response_received_count26
    responses_per_minute1560.0
    scheduler/dequeued26
    scheduler/dequeued/memory26
    scheduler/enqueued26
    scheduler/enqueued/memory26
    start_timedatetime.datetime(2026, 8, 11, 12, 20, 18, 549444, tzinfo=datetime.timezone.utc)