• '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
    jobf018b8ff692911f192060050565fa5d9
    first_log_time2026-06-16 04:20:30
    latest_log_time2026-06-16 04:21:11
    runtime0:00:41
    crawled_pages 341
    scraped_items 327
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count316
    log_warning_count2
    log_redirect_count0
    log_retry_count0
    log_ignore_count0
    latest_crawl
    latest_scrape
    latest_log
    current_time
    latest_item{'event_url': 'https://www.newcanaanlibrary.org/event/next-chapter-book-discussion-221993', '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-core block-page-title-block ' 'position-relative" id="block-website-theme-page-title"> ' '<h1 class="mb-4"> ' '<span>Next Chapter Book Discussion</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/09" ' 'href="/events/month/2026/09">Month</a></li> ' '<li class="list-inline-item"><a class="button button--primary ' 'btn-sm" data-drupal-link-system-path="events/week/2026/09/29" ' 'href="/events/week/2026/09/29">Week</a></li> ' '<li class="list-inline-item"><a class="button button--primary ' 'btn-sm" data-drupal-link-system-path="events/day/2026/09/29" ' 'href="/events/day/2026/09/29">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"> ' ' Sep ' ' </span> ' '<span class="lc-date-icon__item lc-date-icon__item--day"> ' ' 29 ' ' </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"> ' ' McLaughlin Meeting Room ' ' </h3> ' '<div class="lc-event-info-item lc-event-info-item--date"> ' ' Tuesday, September 29, 2026 ' ' </div> ' '<div class="lc-event-info-item lc-event-info-item--time"> ' ' 4:00pm–5:00pm ' ' </div> ' '<div class="lc-event-info-item"> ' '<strong> ' ' Featured </strong> ' '</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/next-chapter-book-discussion-221983"> ' ' 05/12/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link" ' 'href="/event/next-chapter-book-discussion-221984"> ' ' 05/26/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link" ' 'href="/event/next-chapter-book-discussion-221985"> ' ' 06/09/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link" ' 'href="/event/next-chapter-book-discussion-221986"> ' ' 06/30/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link" ' 'href="/event/next-chapter-book-discussion-221987"> ' ' 07/07/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link" ' 'href="/event/next-chapter-book-discussion-221988"> ' ' 07/21/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link" ' 'href="/event/next-chapter-book-discussion-221989"> ' ' 08/04/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link" ' 'href="/event/next-chapter-book-discussion-221990"> ' ' 08/18/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link" ' 'href="/event/next-chapter-book-discussion-221991"> ' ' 09/01/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link" ' 'href="/event/next-chapter-book-discussion-221992"> ' ' 09/15/26 ' ' </a> ' '</li> ' '<li class="lc-repeating-dates__item"> ' '<a class="lc-repeating-dates__link active" ' 'href="/event/next-chapter-book-discussion-221993"> ' ' 09/29/26 ' ' </a> ' '</li> ' '</ul> ' '</div> ' '</details> ' '</div> ' '</div> ' '<div class="lc-print-column"> ' '<div class="lc-event-featured-image lc-event-section"> ' '<div class="field-container"><a class="use-ajax" ' 'data-dialog-options='{"width":"auto"}' ' 'data-dialog-type="modal" ' 'href="/library-calendar/image-dialog/1507/lc_featured_image?alternative_text=Image%20of%20Next%20Chapter%20Book%20Club%20"><img ' 'alt="Image of Next Chapter Book Club " class="img-fluid" ' 'height="375" ' 'src="https://www.newcanaanlibrary.org/sites/default/files/styles/large/public/2023-08/Next-Chapter-Book-Club-bottom-1.jpg" ' 'width="480"/> ' '</a> ' '</div> ' '</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/221993/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/221993/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%5B25%5D=25">Book ' 'Groups</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>, ' ' <span><a ' 'href="/events/month?age_groups%5B42%5D=42">Adults</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 will close on ' 'September 29, 2026 @ 4:00pm.</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>The Next Chapter Book Club is a ' 'social, community-based book club for older teens and adults ' 'with intellectual and developmental disabilities who enjoy ' 'reading or listening to stories.  At every meeting each ' 'member is given a turn to read regardless of their reading ' 'level. The group reads a page or two and then discusses the ' 'book. This club is about supportive friendships and having ' 'fun.  There is no homework with this book club!  We ' 'welcome all abilities and new members are always encouraged to ' 'join. </p><p>Caregivers are also welcome to attend and ' 'participate.   </p><p>This book club meets bi-weekly and ' 'is open to individuals ages 16 and up. </p><p>Registration is ' 'required.</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">Library Parking</div> ' '</h4> ' '<div class="field-container"><p>The Library leases 76 spaces ' 'marked "LIBRARY" in the Center School Lot to offer free parking ' 'for our patrons. All other numbered spaces in the lot remain ' 'municipal and are subject to metering rates. View more ' 'parking info <a ' 'href="https://www.newcanaanlibrary.org/hours-location">here</a>.</p></div> ' '</div> ' '</div> ' '<div><div> ' '<h4 class="lc-event-subtitle"> ' '<div class="field-container">Accessibility</div> ' '</h4> ' '<div class="field-container"><p>We are committed to ensuring ' 'that all patrons have access to information and Library ' 'services. To request accommodations, please contact us at ' '203-594-5003 or <a ' 'href="/cdn-cgi/l/email-protection#dcb3b2b0b5b2b9aeb9ba9cb2b9abbfbdb2bdbdb2b0b5beaebdaea5f2b3aebb"><span ' 'class="__cf_email__" ' 'data-cfemail="6807060401060d1a0d0e28060d1f0b090609090604010a1a091a1146071a0f">[email ' 'protected]</span></a> with as much notice as possible to ' 'allow us to best meet your needs. Our accessibility features ' 'include but are not limited to assistive hearing loops in the ' 'auditorium, early access to programs, and seating arrangements ' 'with space for mobility equipment or service animals. ' '</p></div> ' '</div> ' '</div> ' '</div> ' '<div> ' '<div class="lc-core--extra-field"> ' '<div ' 'class="lc-registration-ui-registration-form-opener"><fieldset ' 'class="js-form-item form-item js-form-wrapper form-wrapper"> ' '<legend> ' '<span class="fieldset-legend">Register for this event</span> ' '</legend> ' '<div class="fieldset-wrapper"> ' '<form accept-charset="UTF-8" ' 'action="/event/next-chapter-book-discussion-221993" ' 'class="lc-registration-ui-registration-form-opener-form" ' 'data-drupal-selector="lc-registration-ui-registration-form-opener-form" ' 'id="lc-registration-ui-registration-form-opener-form" ' 'method="post"> ' '<input autocomplete="off" ' 'data-drupal-selector="form-bx0etasymfwfxouykcpwqjqq8u7qwtchor-sd6euatw" ' 'name="form_build_id" type="hidden" ' 'value="form-bX0etAsYMFWfxOuyKCPWqjqq8U7QWTChOr-sD6euAtw"/> ' '<input ' 'data-drupal-selector="edit-lc-registration-ui-registration-form-opener-form" ' 'name="form_id" type="hidden" ' 'value="lc_registration_ui_registration_form_opener_form"/> ' '<button class="button button--primary btn-lg js-form-submit ' 'form-submit" data-drupal-selector="edit-offline" ' 'id="edit-offline" name="op" type="submit" value=""><div ' 'data-drupal-selector="edit-main">Register</div></button><noscript ' 'class="text-muted" ' 'data-drupal-selector="edit-noscript">JavaScript is required to ' 'register for this event.</noscript> ' '</form> ' '</div> ' '</fieldset> ' '</div> ' '</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> ' ' ' ' Tara Key ' ' </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#83f7e8e6fac3ede6f4e0e2ede2e2edefeae1f1e2f1faadecf1e4"> ' '<span class="__cf_email__" ' 'data-cfemail="1b6f707e625b757e6c787a757a7a75777279697a69623574697c">[email ' 'protected]</span> ' '</a> ' '</div> ' '</div> ' '</div> ' '</aside> ' '</div> ' '<div> ' '<div class="lc-core--extra-field"> ' '</div> ' '</div> ' '</article> ' '</div> ' '</div> ' '</main>'}
    • WARNING+

    • error_logs
      316 in total

      2026-06-16 04:20:32 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:32 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:32 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:32 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:33 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:33 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:33 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:33 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:33 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:33 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:34 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:34 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:34 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:34 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:34 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:34 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:34 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:34 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:34 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:34 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:35 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:35 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:35 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:35 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:35 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:35 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:35 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:36 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:36 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:36 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:36 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:36 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:36 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:37 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:38 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:38 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:38 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:38 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:38 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:38 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:38 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:38 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:38 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:39 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:39 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:39 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:39 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:39 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:39 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:39 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:39 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:39 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:39 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:40 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:40 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:40 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:40 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:40 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:40 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:40 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:40 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:41 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:41 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:41 [canaan_library] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 04:20:41 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:41 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:41 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:41 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:41 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:41 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:41 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:42 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:42 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:42 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:42 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:42 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:42 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:42 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:42 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:42 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:43 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:43 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:43 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:43 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:43 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:43 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:43 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:43 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:43 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:43 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:44 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:44 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:44 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:44 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:44 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:44 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:44 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:45 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:45 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:45 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:45 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:45 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:45 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:45 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:46 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:46 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:46 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:46 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:46 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:46 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:46 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:46 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:46 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:46 [canaan_library] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 04:20:47 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:47 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:47 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:47 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:47 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:47 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:47 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:47 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:47 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:48 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:48 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:48 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:48 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:48 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:48 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:48 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:48 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:48 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:48 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:49 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:49 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:49 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:49 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:49 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:49 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:49 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:49 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:49 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:49 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:50 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:50 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:50 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:50 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:50 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:50 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:50 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:50 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:50 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:51 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:51 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:51 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:51 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:51 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:51 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:51 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:51 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:51 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:52 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:52 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:52 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:52 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:52 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:52 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:52 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:52 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:52 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:53 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:53 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:53 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:53 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:53 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:53 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:53 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:53 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:53 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:53 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:54 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:54 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:54 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:54 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:54 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:54 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:54 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:54 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:54 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:55 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:55 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:55 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:55 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:55 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:55 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:56 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:57 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:57 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:57 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:57 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:57 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:57 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:57 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:58 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:58 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:58 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:58 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:58 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:58 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:58 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:58 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:58 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:58 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:59 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:59 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:59 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:59 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:59 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:59 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:59 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:59 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:59 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:00 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:00 [canaan_library] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 04:21:00 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:00 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:00 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:01 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:01 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:02 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:02 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:02 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:02 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:02 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:02 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:02 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:03 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:03 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:03 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:03 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:04 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:04 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:04 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:04 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:04 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:05 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:05 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:05 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:05 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:05 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:05 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:05 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:06 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:06 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:06 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:06 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:06 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:06 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:06 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:06 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:07 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:07 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:07 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:07 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:07 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:07 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:08 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:08 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:08 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:08 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:08 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:08 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:09 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:09 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:09 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:09 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:09 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:09 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:09 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:09 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:10 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:10 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:10 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:10 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:10 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:10 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:10 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:10 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:11 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:11 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:11 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:11 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:11 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:11 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:21:11 [canaan_library] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
    • warning_logs
      2 in total

      2026-06-16 04:20:30 [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-06-16 04:20:30 [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

      DEBUG

    • scrapy_version

      2.14.1
    • telnet_console

      127.0.0.1:6023
    • telnet_password

      484e7421090f6f1b
    • latest_crawl

      2026-06-16 04:21:10 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.newcanaanlibrary.org/event/next-chapter-book-discussion-221993> (referer: https://www.newcanaanlibrary.org/events/list?page=10)
    • latest_stat

      2026-06-16 04:20:30 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
    • latest_scrape

      2026-06-16 04:21:11 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.newcanaanlibrary.org/event/next-chapter-book-discussion-221993>
    • latest_item

      {'event_url': 'https://www.newcanaanlibrary.org/event/next-chapter-book-discussion-221993',
       '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-core block-page-title-block '
                   'position-relative" id="block-website-theme-page-title">
      '
                   '<h1 class="mb-4">
      '
                   '<span>Next Chapter Book Discussion</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/09" '
                   'href="/events/month/2026/09">Month</a></li>
      '
                   '<li class="list-inline-item"><a class="button button--primary '
                   'btn-sm" data-drupal-link-system-path="events/week/2026/09/29" '
                   'href="/events/week/2026/09/29">Week</a></li>
      '
                   '<li class="list-inline-item"><a class="button button--primary '
                   'btn-sm" data-drupal-link-system-path="events/day/2026/09/29" '
                   'href="/events/day/2026/09/29">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">
      '
                   '        Sep
      '
                   '      </span>
      '
                   '<span class="lc-date-icon__item lc-date-icon__item--day">
      '
                   '        29
      '
                   '      </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">
      '
                   '                  McLaughlin Meeting Room
      '
                   '                </h3>
      '
                   '<div class="lc-event-info-item lc-event-info-item--date">
      '
                   '                                  Tuesday, September 29, 2026
      '
                   '                              </div>
      '
                   '<div class="lc-event-info-item lc-event-info-item--time">
      '
                   '      4:00pm–5:00pm
      '
                   '    </div>
      '
                   '<div class="lc-event-info-item">
      '
                   '<strong>
      '
                   '                    Featured                  </strong>
      '
                   '</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/next-chapter-book-discussion-221983">
      '
                   '                          05/12/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link" '
                   'href="/event/next-chapter-book-discussion-221984">
      '
                   '                          05/26/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link" '
                   'href="/event/next-chapter-book-discussion-221985">
      '
                   '                          06/09/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link" '
                   'href="/event/next-chapter-book-discussion-221986">
      '
                   '                          06/30/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link" '
                   'href="/event/next-chapter-book-discussion-221987">
      '
                   '                          07/07/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link" '
                   'href="/event/next-chapter-book-discussion-221988">
      '
                   '                          07/21/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link" '
                   'href="/event/next-chapter-book-discussion-221989">
      '
                   '                          08/04/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link" '
                   'href="/event/next-chapter-book-discussion-221990">
      '
                   '                          08/18/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link" '
                   'href="/event/next-chapter-book-discussion-221991">
      '
                   '                          09/01/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link" '
                   'href="/event/next-chapter-book-discussion-221992">
      '
                   '                          09/15/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '<li class="lc-repeating-dates__item">
      '
                   '<a class="lc-repeating-dates__link active" '
                   'href="/event/next-chapter-book-discussion-221993">
      '
                   '                          09/29/26
      '
                   '                        </a>
      '
                   '</li>
      '
                   '</ul>
      '
                   '</div>
      '
                   '</details>
      '
                   '</div>
      '
                   '</div>
      '
                   '<div class="lc-print-column">
      '
                   '<div class="lc-event-featured-image lc-event-section">
      '
                   '<div class="field-container"><a class="use-ajax" '
                   'data-dialog-options='{"width":"auto"}' '
                   'data-dialog-type="modal" '
                   'href="/library-calendar/image-dialog/1507/lc_featured_image?alternative_text=Image%20of%20Next%20Chapter%20Book%20Club%20"><img '
                   'alt="Image of Next Chapter Book Club " class="img-fluid" '
                   'height="375" '
                   'src="https://www.newcanaanlibrary.org/sites/default/files/styles/large/public/2023-08/Next-Chapter-Book-Club-bottom-1.jpg" '
                   'width="480"/>
      '
                   '</a>
      '
                   '</div>
      '
                   '</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/221993/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/221993/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%5B25%5D=25">Book '
                   'Groups</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>, 
      '
                   '                          <span><a '
                   'href="/events/month?age_groups%5B42%5D=42">Adults</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 will close on '
                   'September 29, 2026 @ 4:00pm.</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>The Next Chapter Book Club is a '
                   'social, community-based book club for older teens and adults '
                   'with intellectual and developmental disabilities who enjoy '
                   'reading or listening to stories.  At every meeting each '
                   'member is given a turn to read regardless of their reading '
                   'level. The group reads a page or two and then discusses the '
                   'book. This club is about supportive friendships and having '
                   'fun.  There is no homework with this book club!  We '
                   'welcome all abilities and new members are always encouraged to '
                   'join. </p><p>Caregivers are also welcome to attend and '
                   'participate.   </p><p>This book club meets bi-weekly and '
                   'is open to individuals ages 16 and up. </p><p>Registration is '
                   'required.</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">Library Parking</div>
      '
                   '</h4>
      '
                   '<div class="field-container"><p>The Library leases 76 spaces '
                   'marked "LIBRARY" in the Center School Lot to offer free parking '
                   'for our patrons. All other numbered spaces in the lot remain '
                   'municipal and are subject to metering rates. View more '
                   'parking info <a '
                   'href="https://www.newcanaanlibrary.org/hours-location">here</a>.</p></div>
      '
                   '</div>
      '
                   '</div>
      '
                   '<div><div>
      '
                   '<h4 class="lc-event-subtitle">
      '
                   '<div class="field-container">Accessibility</div>
      '
                   '</h4>
      '
                   '<div class="field-container"><p>We are committed to ensuring '
                   'that all patrons have access to information and Library '
                   'services. To request accommodations, please contact us at '
                   '203-594-5003 or <a '
                   'href="/cdn-cgi/l/email-protection#dcb3b2b0b5b2b9aeb9ba9cb2b9abbfbdb2bdbdb2b0b5beaebdaea5f2b3aebb"><span '
                   'class="__cf_email__" '
                   'data-cfemail="6807060401060d1a0d0e28060d1f0b090609090604010a1a091a1146071a0f">[email '
                   'protected]</span></a> with as much notice as possible to '
                   'allow us to best meet your needs. Our accessibility features '
                   'include but are not limited to assistive hearing loops in the '
                   'auditorium, early access to programs, and seating arrangements '
                   'with space for mobility equipment or service animals. '
                   '</p></div>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '<div>
      '
                   '<div class="lc-core--extra-field">
      '
                   '<div '
                   'class="lc-registration-ui-registration-form-opener"><fieldset '
                   'class="js-form-item form-item js-form-wrapper form-wrapper">
      '
                   '<legend>
      '
                   '<span class="fieldset-legend">Register for this event</span>
      '
                   '</legend>
      '
                   '<div class="fieldset-wrapper">
      '
                   '<form accept-charset="UTF-8" '
                   'action="/event/next-chapter-book-discussion-221993" '
                   'class="lc-registration-ui-registration-form-opener-form" '
                   'data-drupal-selector="lc-registration-ui-registration-form-opener-form" '
                   'id="lc-registration-ui-registration-form-opener-form" '
                   'method="post">
      '
                   '<input autocomplete="off" '
                   'data-drupal-selector="form-bx0etasymfwfxouykcpwqjqq8u7qwtchor-sd6euatw" '
                   'name="form_build_id" type="hidden" '
                   'value="form-bX0etAsYMFWfxOuyKCPWqjqq8U7QWTChOr-sD6euAtw"/>
      '
                   '<input '
                   'data-drupal-selector="edit-lc-registration-ui-registration-form-opener-form" '
                   'name="form_id" type="hidden" '
                   'value="lc_registration_ui_registration_form_opener_form"/>
      '
                   '<button class="button button--primary btn-lg js-form-submit '
                   'form-submit" data-drupal-selector="edit-offline" '
                   'id="edit-offline" name="op" type="submit" value=""><div '
                   'data-drupal-selector="edit-main">Register</div></button><noscript '
                   'class="text-muted" '
                   'data-drupal-selector="edit-noscript">JavaScript is required to '
                   'register for this event.</noscript>
      '
                   '</form>
      '
                   '</div>
      '
                   '</fieldset>
      '
                   '</div>
      '
                   '</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>
      '
                   '
      '
                   '                Tara Key
      '
                   '              </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#83f7e8e6fac3ede6f4e0e2ede2e2edefeae1f1e2f1faadecf1e4">
      '
                   '<span class="__cf_email__" '
                   'data-cfemail="1b6f707e625b757e6c787a757a7a75777279697a69623574697c">[email '
                   'protected]</span>
      '
                   '</a>
      '
                   '</div>
      '
                   '</div>
      '
                   '</div>
      '
                   '</aside>
      '
                   '</div>
      '
                   '<div>
      '
                   '<div class="lc-core--extra-field">
      '
                   '</div>
      '
                   '</div>
      '
                   '</article>
      '
                   '</div>
      '
                   '</div>
      '
                   '</main>'}
    • Head

      2026-06-16 04:20:30 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
      2026-06-16 04:20:30 [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, Mar 23 2026, 19:04:32) [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-06-16 04:20:30 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
      2026-06-16 04:20:30 [asyncio] DEBUG: Using selector: EpollSelector
      2026-06-16 04:20:30 [scrapy.addons] INFO: Enabled addons:
      []
      2026-06-16 04:20:30 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-06-16 04:20:30 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-06-16 04:20:30 [scrapy.extensions.telnet] INFO: Telnet Password: 484e7421090f6f1b
      2026-06-16 04:20:30 [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-06-16 04:20:30 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'event_scrapers',
       'FEED_EXPORT_ENCODING': 'utf-8',
       'FEED_URI_PARAMS': <function _feed_uri_params at 0x767022728540>,
       'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/canaan_library/f018b8ff692911f192060050565fa5d9.log',
       'NEWSPIDER_MODULE': 'event_scrapers.spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'SPIDER_MODULES': ['event_scrapers.spiders']}
      2026-06-16 04:20:30 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-06-16 04:20:30 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-06-16 04:20:30 [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-06-16 04:20:30 [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-06-16 04:20:30 [scrapy.middleware] INFO: Enabled item pipelines:
      ['event_scrapers.pipelines.EventScrapersPipeline']
      2026-06-16 04:20:30 [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-06-16 04:20:30 [scrapy.core.engine] INFO: Spider opened
      2026-06-16 04:20:30 [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-06-16 04:20:30 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-06-16 04:20:30 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-06-16 04:20:31 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.newcanaanlibrary.org/events/list> (referer: None)
      2026-06-16 04:20:32 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.newcanaanlibrary.org/event/library-closed-summer-sundays-161839> (referer: https://www.newcanaanlibrary.org/events/list)
      2026-06-16 04:20:32 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): 144.91.120.141:80
      2026-06-16 04:20:32 [urllib3.connectionpool] DEBUG: http://144.91.120.141:80 "POST /api/v1/raw-events/ HTTP/1.1" 400 68
      2026-06-16 04:20:32 [canaan_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 04:20:32 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.newcanaanlibrary.org/event/library-closed-summer-sundays-161839>
      {'event_url': 'https://www.newcanaanlibrary.org/event/library-closed-summer-sundays-161839',
       '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-core block-page-title-block '
                   'position-relative" id="block-website-theme-page-title">\n'
                   '<h1 class="mb-4">\n'
                   '<span>Library Closed: Summer Sundays</span>\n'
                   '</h1>\n'
                   '</div>\n'
                   '<div class="block block-system block-system-main-block '
                   'position-relative" id="block-website-theme-content">\n'
                   '<article class="lc-event lc-event--full node '
                   'node--type-lc-closing node--promoted node--view-mode-full">\n'
                   '<div class="lc-event__menu-tasks"><div class="lc-menu-tasks"> '
                   '<h2 class="visually-hidden">Primary tabs</h2>\n'
                   '<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>\n'
                   '<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>\n'
    • Tail

                   '<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'
                   '                          <span><a '
                   'href="/events/month?age_groups%5B42%5D=42">Adults</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 will close on '
                   'September 29, 2026 @ 4:00pm.</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>The Next Chapter Book Club is a '
                   'social, community-based book club for older teens and adults '
                   'with intellectual and developmental disabilities who enjoy '
                   'reading or listening to stories.\xa0 At every meeting each '
                   'member is given a turn to read regardless of their reading '
                   'level. The group reads a page or two and then discusses the '
                   'book. This club is about supportive friendships and having '
                   'fun.\xa0 There is no homework with this book club!\xa0 We '
                   'welcome all abilities and new members are always encouraged to '
                   'join.\xa0</p><p>Caregivers are also welcome to attend and '
                   'participate. \xa0\xa0</p><p>This book club meets bi-weekly and '
                   'is open to individuals ages 16 and up.\xa0</p><p>Registration is '
                   'required.</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">Library Parking</div>\n'
                   '</h4>\n'
                   '<div class="field-container"><p>The Library leases 76 spaces '
                   'marked "LIBRARY" in the Center School Lot to offer free parking '
                   'for our patrons. All other numbered spaces in the lot remain '
                   'municipal and are subject to metering rates.\xa0View more '
                   'parking info <a '
                   'href="https://www.newcanaanlibrary.org/hours-location">here</a>.</p></div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div><div>\n'
                   '<h4 class="lc-event-subtitle">\n'
                   '<div class="field-container">Accessibility</div>\n'
                   '</h4>\n'
                   '<div class="field-container"><p>We are committed to ensuring '
                   'that all patrons have access to information and Library '
                   'services. To request accommodations, please contact us at '
                   '203-594-5003 or\xa0<a '
                   'href="/cdn-cgi/l/email-protection#dcb3b2b0b5b2b9aeb9ba9cb2b9abbfbdb2bdbdb2b0b5beaebdaea5f2b3aebb"><span '
                   'class="__cf_email__" '
                   'data-cfemail="6807060401060d1a0d0e28060d1f0b090609090604010a1a091a1146071a0f">[email\xa0'
                   'protected]</span></a>\xa0with as much notice as possible to '
                   'allow us to best meet your needs. Our accessibility features '
                   'include but are not limited to assistive hearing loops in the '
                   'auditorium, early access to programs, and seating arrangements '
                   'with space for mobility equipment or service animals.\xa0'
                   '</p></div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div>\n'
                   '<div class="lc-core--extra-field">\n'
                   '<div '
                   'class="lc-registration-ui-registration-form-opener"><fieldset '
                   'class="js-form-item form-item js-form-wrapper form-wrapper">\n'
                   '<legend>\n'
                   '<span class="fieldset-legend">Register for this event</span>\n'
                   '</legend>\n'
                   '<div class="fieldset-wrapper">\n'
                   '<form accept-charset="UTF-8" '
                   'action="/event/next-chapter-book-discussion-221993" '
                   'class="lc-registration-ui-registration-form-opener-form" '
                   'data-drupal-selector="lc-registration-ui-registration-form-opener-form" '
                   'id="lc-registration-ui-registration-form-opener-form" '
                   'method="post">\n'
                   '<input autocomplete="off" '
                   'data-drupal-selector="form-bx0etasymfwfxouykcpwqjqq8u7qwtchor-sd6euatw" '
                   'name="form_build_id" type="hidden" '
                   'value="form-bX0etAsYMFWfxOuyKCPWqjqq8U7QWTChOr-sD6euAtw"/>\n'
                   '<input '
                   'data-drupal-selector="edit-lc-registration-ui-registration-form-opener-form" '
                   'name="form_id" type="hidden" '
                   'value="lc_registration_ui_registration_form_opener_form"/>\n'
                   '<button class="button button--primary btn-lg js-form-submit '
                   'form-submit" data-drupal-selector="edit-offline" '
                   'id="edit-offline" name="op" type="submit" value=""><div '
                   'data-drupal-selector="edit-main">Register</div></button><noscript '
                   'class="text-muted" '
                   'data-drupal-selector="edit-noscript">JavaScript is required to '
                   'register for this event.</noscript>\n'
                   '</form>\n'
                   '</div>\n'
                   '</fieldset>\n'
                   '</div>\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'
                   '                Tara Key\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#83f7e8e6fac3ede6f4e0e2ede2e2edefeae1f1e2f1faadecf1e4">\n'
                   '<span class="__cf_email__" '
                   'data-cfemail="1b6f707e625b757e6c787a757a7a75777279697a69623574697c">[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-06-16 04:21:11 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-06-16 04:21:11 [scrapy.extensions.feedexport] INFO: Stored csv feed (327 items) in: output/2026/06/16/canaan_library.csv
      2026-06-16 04:21:11 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 112458,
       'downloader/request_count': 341,
       'downloader/request_method_count/GET': 341,
       'downloader/response_bytes': 4188012,
       'downloader/response_count': 341,
       'downloader/response_status_count/200': 341,
       'elapsed_time_seconds': 40.831487,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 6, 16, 2, 21, 11, 758286, tzinfo=datetime.timezone.utc),
       'httpcompression/response_bytes': 24115890,
       'httpcompression/response_count': 341,
       'item_scraped_count': 327,
       'items_per_minute': 490.5,
       'log_count/DEBUG': 1322,
       'log_count/ERROR': 316,
       'log_count/INFO': 3,
       'memusage/max': 92844032,
       'memusage/startup': 92844032,
       'request_depth_max': 14,
       'response_received_count': 341,
       'responses_per_minute': 511.5,
       'scheduler/dequeued': 341,
       'scheduler/dequeued/memory': 341,
       'scheduler/enqueued': 341,
       'scheduler/enqueued/memory': 341,
       'start_time': datetime.datetime(2026, 6, 16, 2, 20, 30, 926799, tzinfo=datetime.timezone.utc)}
      2026-06-16 04:21:11 [scrapy.core.engine] INFO: Spider closed (finished)
    • Log

      /1/log/utf8/event_scrapers/canaan_library/f018b8ff692911f192060050565fa5d9/?job_finished=True

    • Source

      http://127.0.0.1:6800/logs/event_scrapers/canaan_library/f018b8ff692911f192060050565fa5d9.log

  • sourcelog
    last_update_time2026-06-16 04:21:11
    last_update_timestamp1781576471
    downloader/request_bytes112458
    downloader/request_count341
    downloader/request_method_count/GET341
    downloader/response_bytes4188012
    downloader/response_count341
    downloader/response_status_count/200341
    elapsed_time_seconds40.831487
    feedexport/success_count/FileFeedStorage1
    finish_reasonfinished
    finish_timedatetime.datetime(2026, 6, 16, 2, 21, 11, 758286, tzinfo=datetime.timezone.utc)
    httpcompression/response_bytes24115890
    httpcompression/response_count341
    item_scraped_count327
    items_per_minute490.5
    log_count/DEBUG1322
    log_count/ERROR316
    log_count/INFO3
    memusage/max92844032
    memusage/startup92844032
    request_depth_max14
    response_received_count341
    responses_per_minute511.5
    scheduler/dequeued341
    scheduler/dequeued/memory341
    scheduler/enqueued341
    scheduler/enqueued/memory341
    start_timedatetime.datetime(2026, 6, 16, 2, 20, 30, 926799, tzinfo=datetime.timezone.utc)