Desktop version Jobs
  • Analysis
  • Categories
  • Charts
  • Logs
  • Crawler.stats
  • projectevent_scrapers
    spiderwest_port_library
    job60f60991907411f1b8560050565fa5d9
    first_log_time2026-08-05 04:21:38
    latest_log_time2026-08-05 05:03:00
    runtime0:41:22
    crawled_pages 369
    scraped_items 221
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count199
    log_warning_count1
    log_redirect_count0
    log_retry_count0
    log_ignore_count0
    latest_crawl
    latest_scrape
    latest_log
    current_time
    latest_item{'event_url': 'https://westportlibrary.org/event/writing-sprints-with-tessa-smith-mcgovern-2/2026-09-22/', 'platform': 'West Port Library', 'platform_hash': '98fc034cf02effea491f1428a26aefbf', 'raw_body': '<div class="tribe-events-single" id="tribe-events-content">\n' '<p class="tribe-events-back">\n' '<a href="https://westportlibrary.org/calendar/"> « All ' 'Events</a>\n' '</p>\n' '<!-- Notices -->\n' '<div class="tribe-events-series-relationship-single-marker ' 'tribe-common">\n' '<span ' 'class="tribe-events-series-relationship-single-marker__icon">\n' '<svg aria-hidden="true" class="tribe-common-c-svgicon ' 'tribe-common-c-svgicon--series ' 'tribe-events-series-relationship-single-marker__icon-svg" ' 'fill="none" height="12" viewbox="0 0 14 12" width="14" ' 'xmlns="http://www.w3.org/2000/svg">\n' '<rect height="7" width="9" x="0.5" y="4.5"></rect>\n' '<path d="M2 2.5H11.5V10"></path>\n' '<path d="M4 0.5H13.5V8"></path>\n' '</svg>\n' '</span>\n' '<span ' 'class="tribe-events-series-relationship-single-marker__prefix">\n' '\t\tEvent Series:\t</span>\n' '<a class="tribe-events-series-relationship-single-marker__title ' 'tribe-common-cta--alt" ' 'href="https://westportlibrary.org/series/writing-sprints/">\n' '<span class="tec_series_marker__title">\n' '\t\t\tWriting Sprints\t\t</span>\n' '</a>\n' '</div>\n' '<h1 class="tribe-events-single-event-title">Writing Sprints with ' 'Tessa Smith McGovern</h1>\n' '<div class="tribe-events-schedule tribe-clearfix">\n' '<div><span class="tribe-event-date-start">Tue, September 22 @ ' '12:00 pm</span> - <span class="tribe-event-time">1:30 pm</span> ' '<span class="timezone"> EDT </span></div> </div>\n' '<!-- Event header -->\n' '<div data-title="Writing Sprints with Tessa Smith McGovern | The ' 'Westport Library" data-viewtitle="Writing Sprints with Tessa ' 'Smith McGovern" id="tribe-events-header">\n' '<!-- Navigation -->\n' '<nav aria-label="Event Navigation" ' 'class="tribe-events-nav-pagination">\n' '<ul class="tribe-events-sub-nav">\n' '<li class="tribe-events-nav-previous"><a ' 'href="https://westportlibrary.org/event/language-conversation-group-french-2-2-2/2026-09-18/"><span>«</span> ' 'Language Conversation Group: French</a></li>\n' '<li class="tribe-events-nav-next"><a ' 'href="https://westportlibrary.org/event/language-conversation-group-spanish-2-3/2026-09-22/">Language ' 'Conversation Group: Spanish <span>»</span></a></li>\n' '</ul>\n' '<!-- .tribe-events-sub-nav -->\n' '</nav>\n' '</div>\n' '<!-- #tribe-events-header -->\n' '<div class="post-10051821 tribe_events type-tribe_events ' 'status-publish has-post-thumbnail hentry tribe_events_cat-adults ' 'tribe_events_cat-workshops-education cat_adults ' 'cat_workshops-education tribe-recurring-event ' 'tribe-recurring-event-parent" id="post-10051821">\n' '<!-- Event featured image, but exclude link -->\n' '<div class="tribe-events-event-image"><img alt="" ' 'class="attachment-full size-full wp-post-image perfmatters-lazy ' 'entered pmloaded" data-ll-status="loaded" ' 'data-sizes="(max-width: 889px) 100vw, 889px" ' 'data-src="https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa.jpg" ' 'data-srcset="https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa.jpg ' '889w, ' 'https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa-300x200.jpg ' '300w, ' 'https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa-768x511.jpg ' '768w" height="592" sizes="(max-width: 889px) 100vw, 889px" ' 'src="https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa.jpg" ' 'srcset="https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa.jpg ' '889w, ' 'https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa-300x200.jpg ' '300w, ' 'https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa-768x511.jpg ' '768w" width="889"/></div>\n' '<!-- Event content -->\n' '<div class="tribe-events-single-event-description ' 'tribe-events-content">\n' '<div dir="ltr">\n' '<div dir="ltr">\n' '<div dir="ltr">\n' '<div dir="ltr">\n' '<div dir="ltr">\n' '<div dir="ltr">\n' '<div dir="ltr">\n' '<p>Stay accountable with two free weekly virtual writing ' 'workshops from WestportWRITES!</p>\n' '<p>The Westport Library is delighted to present two, free weekly ' 'Writing Sprints to Prompts and an AMA (“Ask Me Anything”) with ' 'award-winning author and teacher <strong><span ' 'class="mark8wmgl034k" data-markjs="true" data-ogab="" ' 'data-ogac="" data-ogsb="" data-ogsc="">Tessa</span>\xa0Smith ' "McGovern</strong>. This is like a write-in but with extras …it's " 'writing time followed by a 30-minute Q&amp;A where you can ask ' '<span class="mark8wmgl034k" data-markjs="true" data-ogab="" ' 'data-ogac="" data-ogsb="" data-ogsc="">Tessa</span>\xa0anything ' 'about writing, publishing, or marketing your stories (including ' 'where and how to submit for publication).</p>\n' '<p><strong>Daytimes: Every Tuesday from 12-1:30 pm ET with Tessa ' 'Smith McGovern</strong></p>\n' '<p>Evenings: Every Wednesday from 6-7:30 pm ET with Alexandra ' 'Soiseth</p>\n' '<p>We’ll chat for the first few minutes and then\xa0<span ' 'class="mark8wmgl034k" data-markjs="true" data-ogab="" ' 'data-ogac="" data-ogsb="" data-ogsc="">Tessa</span> will share ' 'some prompts and first lines which writers can use, tweak or ' 'ignore. The time can be spent on new words or world-building, ' 'revising – anything at all – doesn’t even have to be creative ' "writing. Then we’ll write for 50 minutes, after which we'll have " 'a 30-minute Q&amp;A where we discuss writing goals and obstacles ' '(and tips to overcome them) for the coming week, as well as that ' "week's submissions.</p>\n" '<p><em><strong><a ' 'href="mailto:tessa.smithmcgovern@vcfa.edu">Email Tessa</a> to ' 'register for these virtual workshops.</strong></em></p>\n' '<p>***</p>\n' '<div class="_3U2q6dcdZCrTrR_42Nxby JWNdg1hee9_Rz6bIGvG1c ' 'allowTextSelection">\n' '<div dir="ltr">\n' '<div dir="ltr">\n' '<p><strong><span class="mark8wmgl034k" data-markjs="true" ' 'data-ogab="" data-ogac="" data-ogsb="" ' 'data-ogsc="">Tessa</span>\xa0Smith McGovern</strong> has taught ' 'writing for 22 years and, for the last ten years, at the Writing ' 'Institute, Sarah Lawrence College.</p>\n' '<p><span class="mark8wmgl034k" data-markjs="true" data-ogab="" ' 'data-ogac="" data-ogsb="" data-ogsc="">Tessa</span>\xa0is an ' 'award-winning writer whose linked short story collection, LONDON ' 'ROAD: LINKED STORIES, received a ‘Featured’ review from Kirkus, ' 'is an Amazon best-seller, and a gold medal winner in the 2012 ' 'eLit Awards. Her non-fiction book, COCKTAILS FOR BOOK LOVERS ' '(Sourcebooks), is also an Amazon best-seller. Her many ' 'publication credits include the Connecticut Review and Equinox, ' 'a UK poetry journal archived by the English Arts Council at the ' 'Southbank Centre, London. She’s currently writing a contemporary ' 'fantasy novel inspired by British mythology and pursuing her MFA ' 'in Writing at the Vermont College of Fine Arts.</p>\n' '<p>She is founder and editor of eChook Digital Publishing. ' 'eChook won a silver medal in the 2012 eLit Awards and its ' 'stories have been read by thousands of readers in 100+ ' 'countries.</p>\n' '<p><span class="mark8wmgl034k" data-markjs="true" data-ogab="" ' 'data-ogac="" data-ogsb="" data-ogsc="">Tessa</span> is also ' 'host, writer and producer of BookGirlTV (BGTV), an award-winning ' 'digital channel that promotes books and reading. BGTV has 6 ' 'million+ minutes viewed on YouTube and 10,000+ likes on ' 'Facebook.</p>\n' '<p>\xa0</p>\n' '<p><a ' 'href="https://westportlibrary.libguides.com/sb.php?subject_id=85783" ' 'rel="noopener" target="_blank"><img alt="More Resources..." ' 'class="alignnone size-full wp-image-78781 perfmatters-lazy" ' 'data-sizes="(max-width: 200px) 100vw, 200px" ' 'data-src="https://westportlibrary.org/wp-content/uploads/2022/11/more-resources.png" ' 'data-srcset="https://westportlibrary.org/wp-content/uploads/2022/11/more-resources.png ' '200w, ' 'https://westportlibrary.org/wp-content/uploads/2022/11/more-resources-150x56.png ' '150w" decoding="async" height="75" ' 'src="data:image/svg+xml,%3Csvg%20xmlns=\'http://www.w3.org/2000/svg\'%20width=\'200\'%20height=\'75\'%20viewBox=\'0%200%20200%2075\'%3E%3C/svg%3E" ' 'width="200"/></a></p>\n' '<p><em><a ' 'href="https://westportlibrary.libguides.com/CreativeWriting" ' 'rel="noopener" target="_blank"><strong>Creative ' 'Writing</strong></a><br/>\n' '</em><em><a ' 'href="https://westportlibrary.libguides.com/resourcesforwriters" ' 'rel="noopener" target="_blank"><strong>Resources for ' 'Writers</strong></a></em></p><em>\n' '</em><p><em></em></p>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '<!-- .tribe-events-single-event-description -->\n' '<!-- Event meta -->\n' '<div class="tribe-events-single-section tribe-events-event-meta ' 'primary tribe-clearfix">\n' '<div class="tribe-events-meta-group ' 'tribe-events-meta-group-details">\n' '<h2 class="tribe-events-single-section-title"> Details </h2>\n' '<ul class="tribe-events-meta-list">\n' '<li class="tribe-events-meta-item">\n' '<span class="tribe-events-start-date-label ' 'tribe-events-meta-label">Date:</span>\n' '<span class="tribe-events-meta-value">\n' '<abbr class="tribe-events-abbr tribe-events-start-date published ' 'dtstart" title="2026-09-22"> Tue, September 22 </abbr>\n' '</span>\n' '</li>\n' '<li class="tribe-events-meta-item">\n' '<span class="tribe-events-start-time-label ' 'tribe-events-meta-label">Time:</span>\n' '<span class="tribe-events-meta-value">\n' '<div class="tribe-events-abbr tribe-events-start-time published ' 'dtstart" title="2026-09-22">\n' '<div class="tribe-recurring-event-time">12:00 pm - 1:30 pm</div> ' '<span class="tribe-events-abbr tribe-events-time-zone ' 'published">EDT</span>\n' '</div>\n' '</span>\n' '</li>\n' '<dt class="tec-events-pro-series-meta-detail--label">Series: ' '</dt>\n' '<dd class="tec-events-pro-series-meta-detail--link">\n' '<a href="https://westportlibrary.org/series/writing-sprints/" ' 'title="Writing Sprints">\n' '\t\t\t\tWriting Sprints\t\t\t</a>\n' '</dd>\n' '<li class="tribe-events-meta-item"><span ' 'class="tribe-events-event-categories-label ' 'tribe-events-meta-label">Event Categories:</span> <span ' 'class="tribe-events-event-categories tribe-events-meta-value"><a ' 'href="https://westportlibrary.org/calendar/category/adults/" ' 'rel="tag">Adults</a>, <a ' 'href="https://westportlibrary.org/calendar/category/workshops-education/" ' 'rel="tag">Workshops &amp; Education</a></span></li>\n' '</ul>\n' '</div>\n' '<div class="tribe-events-meta-group ' 'tribe-events-meta-group-venue">\n' '<h2 class="tribe-events-single-section-title"> Venue </h2>\n' '<ul class="tribe-events-meta-list">\n' '<li class="tribe-events-meta-item tribe-venue"> <a ' 'href="https://westportlibrary.org/venue/the-westport-library/">The ' 'Westport Library</a> </li>\n' '<li class="tribe-events-meta-item tribe-venue-location">\n' '<address class="tribe-events-address">\n' '<span class="tribe-address">\n' '<span class="tribe-street-address">20 Jesup Road</span>\n' '<br/>\n' '<span class="tribe-locality">Westport</span><span ' 'class="tribe-delimiter">,</span>\n' '<abbr class="tribe-region tribe-events-abbr" ' 'title="Connecticut">CT</abbr>\n' '<span class="tribe-postal-code">06880</span>\n' '<span class="tribe-country-name">United States</span>\n' '</span>\n' '<a class="tribe-events-gmap" ' 'href="https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=20+Jesup+Road+Westport+CT+06880+United+States" ' 'rel="noreferrer noopener" target="_blank" title="Click to view a ' 'Google Map">+ Google Map</a> </address>\n' '</li>\n' '</ul>\n' '</div>\n' '</div>\n' '<h2 class="tribe-events-related-events-title">\n' '\tRelated Events</h2>\n' '\n' '</div> <!-- #post-x -->\n' '<!-- Event footer -->\n' '<div id="tribe-events-footer">\n' '<!-- Navigation -->\n' '<nav aria-label="Event Navigation" ' 'class="tribe-events-nav-pagination">\n' '<ul class="tribe-events-sub-nav">\n' '<li class="tribe-events-nav-previous"><a ' 'href="https://westportlibrary.org/event/language-conversation-group-french-2-2-2/2026-09-18/"><span>«</span> ' 'Language Conversation Group: French</a></li>\n' '<li class="tribe-events-nav-next"><a ' 'href="https://westportlibrary.org/event/language-conversation-group-spanish-2-3/2026-09-22/">Language ' 'Conversation Group: Spanish <span>»</span></a></li>\n' '</ul>\n' '<!-- .tribe-events-sub-nav -->\n' '</nav>\n' '</div>\n' '<!-- #tribe-events-footer -->\n' '</div>'}
    • WARNING+

    • error_logs
      199 in total

      2026-08-05 04:21:50 [west_port_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-08-05 04:21:50 [west_port_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-08-05 04:21:51 [west_port_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-08-05 04:21:51 [west_port_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-08-05 04:21:52 [west_port_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-08-05 04:21:52 [west_port_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-08-05 04:21:58 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:22:06 [west_port_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-08-05 04:22:07 [west_port_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-08-05 04:22:07 [west_port_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-08-05 04:22:09 [west_port_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-08-05 04:22:09 [west_port_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-08-05 04:22:09 [west_port_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-08-05 04:22:23 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:22:24 [west_port_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-08-05 04:22:26 [west_port_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-08-05 04:22:26 [west_port_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-08-05 04:22:27 [west_port_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-08-05 04:22:27 [west_port_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-08-05 04:22:27 [west_port_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-08-05 04:22:27 [west_port_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-08-05 04:22:28 [west_port_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-08-05 04:22:48 [west_port_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-08-05 04:22:50 [west_port_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-08-05 04:22:51 [west_port_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-08-05 04:22:51 [west_port_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-08-05 04:23:00 [west_port_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-08-05 04:23:00 [west_port_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-08-05 04:23:04 [west_port_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-08-05 04:23:05 [west_port_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-08-05 04:23:08 [west_port_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-08-05 04:23:08 [west_port_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-08-05 04:23:08 [west_port_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-08-05 04:23:08 [west_port_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-08-05 04:23:21 [west_port_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-08-05 04:23:21 [west_port_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-08-05 04:23:25 [west_port_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-08-05 04:23:28 [west_port_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-08-05 04:23:39 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:23:39 [west_port_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-08-05 04:23:39 [west_port_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-08-05 04:23:39 [west_port_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-08-05 04:23:40 [west_port_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-08-05 04:23:41 [west_port_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-08-05 04:23:41 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:23:41 [west_port_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-08-05 04:23:42 [west_port_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-08-05 04:23:43 [west_port_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-08-05 04:23:44 [west_port_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-08-05 04:23:46 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:23:47 [west_port_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-08-05 04:23:48 [west_port_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-08-05 04:23:49 [west_port_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-08-05 04:23:49 [west_port_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-08-05 04:23:50 [west_port_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-08-05 04:23:50 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:23:54 [west_port_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-08-05 04:23:55 [west_port_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-08-05 04:23:55 [west_port_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-08-05 04:23:56 [west_port_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-08-05 04:23:57 [west_port_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-08-05 04:24:04 [west_port_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-08-05 04:24:16 [west_port_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-08-05 04:24:20 [west_port_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-08-05 04:24:25 [west_port_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-08-05 04:24:26 [west_port_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-08-05 04:24:26 [west_port_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-08-05 04:24:26 [west_port_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-08-05 04:24:27 [west_port_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-08-05 04:24:27 [west_port_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-08-05 04:24:29 [west_port_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-08-05 04:24:30 [west_port_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-08-05 04:24:34 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:24:35 [west_port_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-08-05 04:24:35 [west_port_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-08-05 04:24:36 [west_port_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-08-05 04:24:37 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:24:37 [west_port_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-08-05 04:24:59 [west_port_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-08-05 04:25:01 [west_port_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-08-05 04:25:04 [west_port_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-08-05 04:25:06 [west_port_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-08-05 04:25:07 [west_port_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-08-05 04:25:10 [west_port_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-08-05 04:25:11 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:25:11 [west_port_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-08-05 04:25:12 [west_port_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-08-05 04:25:13 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:25:14 [west_port_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-08-05 04:25:20 [west_port_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-08-05 04:25:21 [west_port_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-08-05 04:25:34 [west_port_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-08-05 04:25:35 [west_port_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-08-05 04:25:35 [west_port_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-08-05 04:25:35 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:25:48 [west_port_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-08-05 04:25:52 [west_port_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-08-05 04:25:53 [west_port_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-08-05 04:25:56 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:25:57 [west_port_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-08-05 04:25:57 [west_port_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-08-05 04:25:57 [west_port_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-08-05 04:25:58 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:26:00 [west_port_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-08-05 04:26:00 [west_port_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-08-05 04:26:04 [west_port_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-08-05 04:26:05 [west_port_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-08-05 04:26:05 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:26:06 [west_port_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-08-05 04:26:06 [west_port_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-08-05 04:26:07 [west_port_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-08-05 04:26:07 [west_port_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-08-05 04:26:07 [west_port_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-08-05 04:26:08 [west_port_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-08-05 04:26:11 [west_port_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-08-05 04:26:11 [west_port_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-08-05 04:26:11 [west_port_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-08-05 04:26:13 [west_port_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-08-05 04:26:25 [west_port_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-08-05 04:26:26 [west_port_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-08-05 04:26:26 [west_port_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-08-05 04:26:27 [west_port_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-08-05 04:26:33 [west_port_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-08-05 04:26:34 [west_port_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-08-05 04:26:37 [west_port_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-08-05 04:26:38 [west_port_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-08-05 04:26:39 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:26:39 [west_port_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-08-05 04:26:39 [west_port_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-08-05 04:26:40 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:26:40 [west_port_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-08-05 04:26:40 [west_port_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-08-05 04:26:42 [west_port_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-08-05 04:26:43 [west_port_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-08-05 04:26:44 [west_port_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-08-05 04:26:44 [west_port_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-08-05 04:26:45 [west_port_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-08-05 04:26:45 [west_port_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-08-05 04:26:47 [west_port_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-08-05 04:26:52 [west_port_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-08-05 04:26:53 [west_port_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-08-05 04:26:54 [west_port_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-08-05 04:26:56 [west_port_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-08-05 04:26:56 [west_port_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-08-05 04:26:57 [west_port_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-08-05 04:27:00 [west_port_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-08-05 04:27:04 [west_port_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-08-05 04:27:05 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:27:06 [west_port_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-08-05 04:27:06 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:27:06 [west_port_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-08-05 04:27:14 [west_port_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-08-05 04:27:17 [west_port_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-08-05 04:27:19 [west_port_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-08-05 04:27:19 [west_port_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-08-05 04:27:19 [west_port_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-08-05 04:27:20 [west_port_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-08-05 04:27:20 [west_port_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-08-05 04:27:21 [west_port_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-08-05 04:27:21 [west_port_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-08-05 04:27:29 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:27:31 [west_port_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-08-05 04:27:31 [west_port_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-08-05 04:27:31 [west_port_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-08-05 04:27:33 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:27:33 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:27:33 [west_port_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-08-05 04:27:35 [west_port_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-08-05 04:27:35 [west_port_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-08-05 04:27:36 [west_port_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-08-05 04:27:36 [west_port_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-08-05 04:27:37 [west_port_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-08-05 04:27:38 [west_port_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-08-05 04:27:38 [west_port_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-08-05 04:27:40 [west_port_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-08-05 04:27:40 [west_port_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-08-05 04:27:41 [west_port_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-08-05 04:27:41 [west_port_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-08-05 04:27:42 [west_port_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-08-05 04:27:42 [west_port_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-08-05 04:27:44 [west_port_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-08-05 04:27:45 [west_port_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-08-05 04:27:45 [west_port_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-08-05 04:27:54 [west_port_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-08-05 04:28:02 [west_port_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-08-05 04:28:03 [west_port_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-08-05 04:28:03 [west_port_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-08-05 04:28:06 [west_port_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-08-05 04:28:06 [west_port_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-08-05 04:28:06 [west_port_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-08-05 04:28:06 [west_port_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-08-05 04:28:08 [west_port_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-08-05 04:28:11 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:28:12 [west_port_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-08-05 04:28:23 [west_port_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-08-05 04:28:30 [west_port_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-08-05 04:28:32 [west_port_library] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-05 04:28:32 [west_port_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-08-05 04:29:03 [west_port_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
      1 in total

      2026-08-05 04:21:39 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:41: ScrapyDeprecationWarning: EventScrapersPipeline.open_spider() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.open_spider)
      
      2026-08-05 04:21:39 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:47: ScrapyDeprecationWarning: EventScrapersPipeline.process_item() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.process_item)
      
      2026-08-05 04:21:39 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.west_port_library.ListingSpider defines the deprecated start_requests() method. start_requests() has been deprecated in favor of a new method, start(), to support asynchronous code execution. start_requests() will stop being called in a future version of Scrapy. If you use Scrapy 2.13 or higher only, replace start_requests() with start(); note that start() is a coroutine (async def). If you need to maintain compatibility with lower Scrapy versions, when overriding start_requests() in a spider class, override start() as well; you can use super() to reuse the inherited start() implementation without copy-pasting. See the release notes of Scrapy 2.13 for details: https://docs.scrapy.org/en/2.13/news.html
        warn(
      
      2026-08-05 04:21:49 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://westportlibrary.org/calendar/list/page/2/>, and there are cookies in the cookiejar, but ZYTE_API_EXPERIMENTAL_COOKIES_ENABLED is False, so automatic mapping will not map cookies for this or any other request. To silence this warning, disable cookies for all requests that use automatic mapping, either with the COOKIES_ENABLED setting or with the dont_merge_cookies request metadata key.

      INFO

      DEBUG

    • scrapy_version

      2.14.1
    • telnet_console

      127.0.0.1:6023
    • telnet_password

      791f787e8597aac0
    • latest_crawl

      2026-08-05 05:03:00 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/148/> (referer: https://westportlibrary.org/) ['zyte-api']
    • latest_stat

      2026-08-05 05:02:39 [scrapy.extensions.logstats] INFO: Crawled 367 pages (at 6 pages/min), scraped 221 items (at 0 items/min)
    • latest_scrape

      2026-08-05 04:29:03 [scrapy.core.scraper] DEBUG: Scraped from <200 https://westportlibrary.org/event/writing-sprints-with-tessa-smith-mcgovern-2/2026-09-22/>
    • latest_item

      {'event_url': 'https://westportlibrary.org/event/writing-sprints-with-tessa-smith-mcgovern-2/2026-09-22/',
       'platform': 'West Port Library',
       'platform_hash': '98fc034cf02effea491f1428a26aefbf',
       'raw_body': '<div class="tribe-events-single" id="tribe-events-content">\n'
                   '<p class="tribe-events-back">\n'
                   '<a href="https://westportlibrary.org/calendar/"> « All '
                   'Events</a>\n'
                   '</p>\n'
                   '<!-- Notices -->\n'
                   '<div class="tribe-events-series-relationship-single-marker '
                   'tribe-common">\n'
                   '<span '
                   'class="tribe-events-series-relationship-single-marker__icon">\n'
                   '<svg aria-hidden="true" class="tribe-common-c-svgicon '
                   'tribe-common-c-svgicon--series '
                   'tribe-events-series-relationship-single-marker__icon-svg" '
                   'fill="none" height="12" viewbox="0 0 14 12" width="14" '
                   'xmlns="http://www.w3.org/2000/svg">\n'
                   '<rect height="7" width="9" x="0.5" y="4.5"></rect>\n'
                   '<path d="M2 2.5H11.5V10"></path>\n'
                   '<path d="M4 0.5H13.5V8"></path>\n'
                   '</svg>\n'
                   '</span>\n'
                   '<span '
                   'class="tribe-events-series-relationship-single-marker__prefix">\n'
                   '\t\tEvent Series:\t</span>\n'
                   '<a class="tribe-events-series-relationship-single-marker__title '
                   'tribe-common-cta--alt" '
                   'href="https://westportlibrary.org/series/writing-sprints/">\n'
                   '<span class="tec_series_marker__title">\n'
                   '\t\t\tWriting Sprints\t\t</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<h1 class="tribe-events-single-event-title">Writing Sprints with '
                   'Tessa Smith McGovern</h1>\n'
                   '<div class="tribe-events-schedule tribe-clearfix">\n'
                   '<div><span class="tribe-event-date-start">Tue, September 22 @ '
                   '12:00 pm</span> - <span class="tribe-event-time">1:30 pm</span> '
                   '<span class="timezone"> EDT </span></div> </div>\n'
                   '<!-- Event header -->\n'
                   '<div data-title="Writing Sprints with Tessa Smith McGovern | The '
                   'Westport Library" data-viewtitle="Writing Sprints with Tessa '
                   'Smith McGovern" id="tribe-events-header">\n'
                   '<!-- Navigation -->\n'
                   '<nav aria-label="Event Navigation" '
                   'class="tribe-events-nav-pagination">\n'
                   '<ul class="tribe-events-sub-nav">\n'
                   '<li class="tribe-events-nav-previous"><a '
                   'href="https://westportlibrary.org/event/language-conversation-group-french-2-2-2/2026-09-18/"><span>«</span> '
                   'Language Conversation Group: French</a></li>\n'
                   '<li class="tribe-events-nav-next"><a '
                   'href="https://westportlibrary.org/event/language-conversation-group-spanish-2-3/2026-09-22/">Language '
                   'Conversation Group: Spanish <span>»</span></a></li>\n'
                   '</ul>\n'
                   '<!-- .tribe-events-sub-nav -->\n'
                   '</nav>\n'
                   '</div>\n'
                   '<!-- #tribe-events-header -->\n'
                   '<div class="post-10051821 tribe_events type-tribe_events '
                   'status-publish has-post-thumbnail hentry tribe_events_cat-adults '
                   'tribe_events_cat-workshops-education cat_adults '
                   'cat_workshops-education tribe-recurring-event '
                   'tribe-recurring-event-parent" id="post-10051821">\n'
                   '<!-- Event featured image, but exclude link -->\n'
                   '<div class="tribe-events-event-image"><img alt="" '
                   'class="attachment-full size-full wp-post-image perfmatters-lazy '
                   'entered pmloaded" data-ll-status="loaded" '
                   'data-sizes="(max-width: 889px) 100vw, 889px" '
                   'data-src="https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa.jpg" '
                   'data-srcset="https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa.jpg '
                   '889w, '
                   'https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa-300x200.jpg '
                   '300w, '
                   'https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa-768x511.jpg '
                   '768w" height="592" sizes="(max-width: 889px) 100vw, 889px" '
                   'src="https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa.jpg" '
                   'srcset="https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa.jpg '
                   '889w, '
                   'https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa-300x200.jpg '
                   '300w, '
                   'https://westportlibrary.org/wp-content/uploads/2021/01/Writing-Tessa-768x511.jpg '
                   '768w" width="889"/></div>\n'
                   '<!-- Event content -->\n'
                   '<div class="tribe-events-single-event-description '
                   'tribe-events-content">\n'
                   '<div dir="ltr">\n'
                   '<div dir="ltr">\n'
                   '<div dir="ltr">\n'
                   '<div dir="ltr">\n'
                   '<div dir="ltr">\n'
                   '<div dir="ltr">\n'
                   '<div dir="ltr">\n'
                   '<p>Stay accountable with two free weekly virtual writing '
                   'workshops from WestportWRITES!</p>\n'
                   '<p>The Westport Library is delighted to present two, free weekly '
                   'Writing Sprints to Prompts and an AMA (“Ask Me Anything”) with '
                   'award-winning author and teacher <strong><span '
                   'class="mark8wmgl034k" data-markjs="true" data-ogab="" '
                   'data-ogac="" data-ogsb="" data-ogsc="">Tessa</span>\xa0Smith '
                   "McGovern</strong>. This is like a write-in but with extras …it's "
                   'writing time followed by a 30-minute Q&amp;A where you can ask '
                   '<span class="mark8wmgl034k" data-markjs="true" data-ogab="" '
                   'data-ogac="" data-ogsb="" data-ogsc="">Tessa</span>\xa0anything '
                   'about writing, publishing, or marketing your stories (including '
                   'where and how to submit for publication).</p>\n'
                   '<p><strong>Daytimes: Every Tuesday from 12-1:30 pm ET with Tessa '
                   'Smith McGovern</strong></p>\n'
                   '<p>Evenings: Every Wednesday from 6-7:30 pm ET with Alexandra '
                   'Soiseth</p>\n'
                   '<p>We’ll chat for the first few minutes and then\xa0<span '
                   'class="mark8wmgl034k" data-markjs="true" data-ogab="" '
                   'data-ogac="" data-ogsb="" data-ogsc="">Tessa</span> will share '
                   'some prompts and first lines which writers can use, tweak or '
                   'ignore. The time can be spent on new words or world-building, '
                   'revising – anything at all – doesn’t even have to be creative '
                   "writing. Then we’ll write for 50 minutes, after which we'll have "
                   'a 30-minute Q&amp;A where we discuss writing goals and obstacles '
                   '(and tips to overcome them) for the coming week, as well as that '
                   "week's submissions.</p>\n"
                   '<p><em><strong><a '
                   'href="mailto:tessa.smithmcgovern@vcfa.edu">Email Tessa</a> to '
                   'register for these virtual workshops.</strong></em></p>\n'
                   '<p>***</p>\n'
                   '<div class="_3U2q6dcdZCrTrR_42Nxby JWNdg1hee9_Rz6bIGvG1c '
                   'allowTextSelection">\n'
                   '<div dir="ltr">\n'
                   '<div dir="ltr">\n'
                   '<p><strong><span class="mark8wmgl034k" data-markjs="true" '
                   'data-ogab="" data-ogac="" data-ogsb="" '
                   'data-ogsc="">Tessa</span>\xa0Smith McGovern</strong> has taught '
                   'writing for 22 years and, for the last ten years, at the Writing '
                   'Institute, Sarah Lawrence College.</p>\n'
                   '<p><span class="mark8wmgl034k" data-markjs="true" data-ogab="" '
                   'data-ogac="" data-ogsb="" data-ogsc="">Tessa</span>\xa0is an '
                   'award-winning writer whose linked short story collection, LONDON '
                   'ROAD: LINKED STORIES, received a ‘Featured’ review from Kirkus, '
                   'is an Amazon best-seller, and a gold medal winner in the 2012 '
                   'eLit Awards. Her non-fiction book, COCKTAILS FOR BOOK LOVERS '
                   '(Sourcebooks), is also an Amazon best-seller. Her many '
                   'publication credits include the Connecticut Review and Equinox, '
                   'a UK poetry journal archived by the English Arts Council at the '
                   'Southbank Centre, London. She’s currently writing a contemporary '
                   'fantasy novel inspired by British mythology and pursuing her MFA '
                   'in Writing at the Vermont College of Fine Arts.</p>\n'
                   '<p>She is founder and editor of eChook Digital Publishing. '
                   'eChook won a silver medal in the 2012 eLit Awards and its '
                   'stories have been read by thousands of readers in 100+ '
                   'countries.</p>\n'
                   '<p><span class="mark8wmgl034k" data-markjs="true" data-ogab="" '
                   'data-ogac="" data-ogsb="" data-ogsc="">Tessa</span> is also '
                   'host, writer and producer of BookGirlTV (BGTV), an award-winning '
                   'digital channel that promotes books and reading. BGTV has 6 '
                   'million+ minutes viewed on YouTube and 10,000+ likes on '
                   'Facebook.</p>\n'
                   '<p>\xa0</p>\n'
                   '<p><a '
                   'href="https://westportlibrary.libguides.com/sb.php?subject_id=85783" '
                   'rel="noopener" target="_blank"><img alt="More Resources..." '
                   'class="alignnone size-full wp-image-78781 perfmatters-lazy" '
                   'data-sizes="(max-width: 200px) 100vw, 200px" '
                   'data-src="https://westportlibrary.org/wp-content/uploads/2022/11/more-resources.png" '
                   'data-srcset="https://westportlibrary.org/wp-content/uploads/2022/11/more-resources.png '
                   '200w, '
                   'https://westportlibrary.org/wp-content/uploads/2022/11/more-resources-150x56.png '
                   '150w" decoding="async" height="75" '
                   'src="data:image/svg+xml,%3Csvg%20xmlns=\'http://www.w3.org/2000/svg\'%20width=\'200\'%20height=\'75\'%20viewBox=\'0%200%20200%2075\'%3E%3C/svg%3E" '
                   'width="200"/></a></p>\n'
                   '<p><em><a '
                   'href="https://westportlibrary.libguides.com/CreativeWriting" '
                   'rel="noopener" target="_blank"><strong>Creative '
                   'Writing</strong></a><br/>\n'
                   '</em><em><a '
                   'href="https://westportlibrary.libguides.com/resourcesforwriters" '
                   'rel="noopener" target="_blank"><strong>Resources for '
                   'Writers</strong></a></em></p><em>\n'
                   '</em><p><em></em></p>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<!-- .tribe-events-single-event-description -->\n'
                   '<!-- Event meta -->\n'
                   '<div class="tribe-events-single-section tribe-events-event-meta '
                   'primary tribe-clearfix">\n'
                   '<div class="tribe-events-meta-group '
                   'tribe-events-meta-group-details">\n'
                   '<h2 class="tribe-events-single-section-title"> Details </h2>\n'
                   '<ul class="tribe-events-meta-list">\n'
                   '<li class="tribe-events-meta-item">\n'
                   '<span class="tribe-events-start-date-label '
                   'tribe-events-meta-label">Date:</span>\n'
                   '<span class="tribe-events-meta-value">\n'
                   '<abbr class="tribe-events-abbr tribe-events-start-date published '
                   'dtstart" title="2026-09-22"> Tue, September 22 </abbr>\n'
                   '</span>\n'
                   '</li>\n'
                   '<li class="tribe-events-meta-item">\n'
                   '<span class="tribe-events-start-time-label '
                   'tribe-events-meta-label">Time:</span>\n'
                   '<span class="tribe-events-meta-value">\n'
                   '<div class="tribe-events-abbr tribe-events-start-time published '
                   'dtstart" title="2026-09-22">\n'
                   '<div class="tribe-recurring-event-time">12:00 pm - 1:30 pm</div> '
                   '<span class="tribe-events-abbr tribe-events-time-zone '
                   'published">EDT</span>\n'
                   '</div>\n'
                   '</span>\n'
                   '</li>\n'
                   '<dt class="tec-events-pro-series-meta-detail--label">Series: '
                   '</dt>\n'
                   '<dd class="tec-events-pro-series-meta-detail--link">\n'
                   '<a href="https://westportlibrary.org/series/writing-sprints/" '
                   'title="Writing Sprints">\n'
                   '\t\t\t\tWriting Sprints\t\t\t</a>\n'
                   '</dd>\n'
                   '<li class="tribe-events-meta-item"><span '
                   'class="tribe-events-event-categories-label '
                   'tribe-events-meta-label">Event Categories:</span> <span '
                   'class="tribe-events-event-categories tribe-events-meta-value"><a '
                   'href="https://westportlibrary.org/calendar/category/adults/" '
                   'rel="tag">Adults</a>, <a '
                   'href="https://westportlibrary.org/calendar/category/workshops-education/" '
                   'rel="tag">Workshops &amp; Education</a></span></li>\n'
                   '</ul>\n'
                   '</div>\n'
                   '<div class="tribe-events-meta-group '
                   'tribe-events-meta-group-venue">\n'
                   '<h2 class="tribe-events-single-section-title"> Venue </h2>\n'
                   '<ul class="tribe-events-meta-list">\n'
                   '<li class="tribe-events-meta-item tribe-venue"> <a '
                   'href="https://westportlibrary.org/venue/the-westport-library/">The '
                   'Westport Library</a> </li>\n'
                   '<li class="tribe-events-meta-item tribe-venue-location">\n'
                   '<address class="tribe-events-address">\n'
                   '<span class="tribe-address">\n'
                   '<span class="tribe-street-address">20 Jesup Road</span>\n'
                   '<br/>\n'
                   '<span class="tribe-locality">Westport</span><span '
                   'class="tribe-delimiter">,</span>\n'
                   '<abbr class="tribe-region tribe-events-abbr" '
                   'title="Connecticut">CT</abbr>\n'
                   '<span class="tribe-postal-code">06880</span>\n'
                   '<span class="tribe-country-name">United States</span>\n'
                   '</span>\n'
                   '<a class="tribe-events-gmap" '
                   'href="https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=20+Jesup+Road+Westport+CT+06880+United+States" '
                   'rel="noreferrer noopener" target="_blank" title="Click to view a '
                   'Google Map">+ Google Map</a> </address>\n'
                   '</li>\n'
                   '</ul>\n'
                   '</div>\n'
                   '</div>\n'
                   '<h2 class="tribe-events-related-events-title">\n'
                   '\tRelated Events</h2>\n'
                   '\n'
                   '</div> <!-- #post-x -->\n'
                   '<!-- Event footer -->\n'
                   '<div id="tribe-events-footer">\n'
                   '<!-- Navigation -->\n'
                   '<nav aria-label="Event Navigation" '
                   'class="tribe-events-nav-pagination">\n'
                   '<ul class="tribe-events-sub-nav">\n'
                   '<li class="tribe-events-nav-previous"><a '
                   'href="https://westportlibrary.org/event/language-conversation-group-french-2-2-2/2026-09-18/"><span>«</span> '
                   'Language Conversation Group: French</a></li>\n'
                   '<li class="tribe-events-nav-next"><a '
                   'href="https://westportlibrary.org/event/language-conversation-group-spanish-2-3/2026-09-22/">Language '
                   'Conversation Group: Spanish <span>»</span></a></li>\n'
                   '</ul>\n'
                   '<!-- .tribe-events-sub-nav -->\n'
                   '</nav>\n'
                   '</div>\n'
                   '<!-- #tribe-events-footer -->\n'
                   '</div>'}
    • Head

      2026-08-05 04:21:38 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
      2026-08-05 04:21:38 [scrapy.utils.log] INFO: Versions:
      {'lxml': '6.0.2',
       'libxml2': '2.14.6',
       'cssselect': '1.3.0',
       'parsel': '1.10.0',
       'w3lib': '2.0.0',
       'Twisted': '25.5.0',
       'Python': '3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]',
       'pyOpenSSL': '25.3.0 (OpenSSL 3.5.4 30 Sep 2025)',
       'cryptography': '46.0.3',
       'Platform': 'Linux-6.8.0-90-generic-x86_64-with-glibc2.39'}
      2026-08-05 04:21:38 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
      2026-08-05 04:21:38 [asyncio] DEBUG: Using selector: EpollSelector
      2026-08-05 04:21:38 [scrapy.addons] INFO: Enabled addons:
      []
      2026-08-05 04:21:38 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-08-05 04:21:38 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-08-05 04:21:38 [scrapy.extensions.telnet] INFO: Telnet Password: 791f787e8597aac0
      2026-08-05 04:21:39 [scrapy.middleware] INFO: Enabled extensions:
      ['scrapy.extensions.corestats.CoreStats',
       'scrapy.extensions.logcount.LogCount',
       'scrapy.extensions.telnet.TelnetConsole',
       'scrapy.extensions.memusage.MemoryUsage',
       'scrapy.extensions.feedexport.FeedExporter',
       'scrapy.extensions.logstats.LogStats']
      2026-08-05 04:21:39 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'event_scrapers',
       'FEED_EXPORT_ENCODING': 'utf-8',
       'FEED_URI_PARAMS': <function _feed_uri_params at 0x7e61d4a2f4c0>,
       'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/west_port_library/60f60991907411f1b8560050565fa5d9.log',
       'NEWSPIDER_MODULE': 'event_scrapers.spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'SPIDER_MODULES': ['event_scrapers.spiders']}
      2026-08-05 04:21:39 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-05 04:21:39 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-05 04:21:39 [scrapy.middleware] INFO: Enabled downloader middlewares:
      ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware',
       'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
       'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
       'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
       'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
       'scrapy.downloadermiddlewares.retry.RetryMiddleware',
       'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
       'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
       'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPIDownloaderMiddleware',
       'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
       'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
       'scrapy.downloadermiddlewares.stats.DownloaderStats']
      2026-08-05 04:21:39 [scrapy.middleware] INFO: Enabled spider middlewares:
      ['scrapy.spidermiddlewares.start.StartSpiderMiddleware',
       'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPISpiderMiddleware',
       'scrapy.spidermiddlewares.referer.RefererMiddleware',
       'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
       'scrapy.spidermiddlewares.depth.DepthMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPIRefererSpiderMiddleware']
      2026-08-05 04:21:39 [scrapy.middleware] INFO: Enabled item pipelines:
      ['event_scrapers.pipelines.EventScrapersPipeline']
      2026-08-05 04:21:39 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:41: ScrapyDeprecationWarning: EventScrapersPipeline.open_spider() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.open_spider)
      
      2026-08-05 04:21:39 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:47: ScrapyDeprecationWarning: EventScrapersPipeline.process_item() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.process_item)
      
      2026-08-05 04:21:39 [scrapy.core.engine] INFO: Spider opened
      2026-08-05 04:21:39 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.west_port_library.ListingSpider defines the deprecated start_requests() method. start_requests() has been deprecated in favor of a new method, start(), to support asynchronous code execution. start_requests() will stop being called in a future version of Scrapy. If you use Scrapy 2.13 or higher only, replace start_requests() with start(); note that start() is a coroutine (async def). If you need to maintain compatibility with lower Scrapy versions, when overriding start_requests() in a spider class, override start() as well; you can use super() to reuse the inherited start() implementation without copy-pasting. See the release notes of Scrapy 2.13 for details: https://docs.scrapy.org/en/2.13/news.html
        warn(
      
      2026-08-05 04:21:39 [west_port_library] INFO: Sending scraped events to prod API
      2026-08-05 04:21:39 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-08-05 04:21:39 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-08-05 04:21:39 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:48 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:21:49 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://westportlibrary.org/calendar/list/page/2/>, and there are cookies in the cookiejar, but ZYTE_API_EXPERIMENTAL_COOKIES_ENABLED is False, so automatic mapping will not map cookies for this or any other request. To silence this warning, disable cookies for all requests that use automatic mapping, either with the COOKIES_ENABLED setting or with the dont_merge_cookies request metadata key.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:21:50 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/event/chess-club-for-adults-4-2022-03-23-2/2026-08-05/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:21:50 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-05 04:21:50 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 500 145
      2026-08-05 04:21:50 [west_port_library] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
    • Tail

      2026-08-05 04:44:05 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/82/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:44:05 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:44:39 [scrapy.extensions.logstats] INFO: Crawled 303 pages (at 2 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:45:39 [scrapy.extensions.logstats] INFO: Crawled 303 pages (at 0 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:45:45 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/83/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:45:45 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:46:31 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/84/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:46:32 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:46:35 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/85/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:46:35 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:46:38 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/86/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:46:38 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:46:39 [scrapy.extensions.logstats] INFO: Crawled 307 pages (at 4 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:46:42 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/87/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:46:42 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:47:09 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/88/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:47:09 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:47:21 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/89/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:47:21 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:47:39 [scrapy.extensions.logstats] INFO: Crawled 310 pages (at 3 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:48:01 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/90/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:48:02 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:48:39 [scrapy.extensions.logstats] INFO: Crawled 311 pages (at 1 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:49:02 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/91/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:49:03 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:49:39 [scrapy.extensions.logstats] INFO: Crawled 312 pages (at 1 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:50:16 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/92/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:50:16 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:50:22 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/93/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:50:22 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:50:39 [scrapy.extensions.logstats] INFO: Crawled 314 pages (at 2 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:51:02 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/94/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:51:02 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:51:39 [scrapy.extensions.logstats] INFO: Crawled 315 pages (at 1 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:52:10 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/95/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:52:11 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:52:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/96/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:52:14 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:52:17 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/97/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:52:17 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:52:39 [scrapy.extensions.logstats] INFO: Crawled 318 pages (at 3 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:52:54 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/98/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:52:54 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:53:23 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/99/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:53:24 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:53:27 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/100/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:53:27 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:53:39 [scrapy.extensions.logstats] INFO: Crawled 321 pages (at 3 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:53:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/101/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:53:43 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:53:46 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/102/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:53:46 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:53:49 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/103/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:53:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:54:32 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/104/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:54:32 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:54:36 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/105/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:54:36 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:54:39 [scrapy.extensions.logstats] INFO: Crawled 326 pages (at 5 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:54:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/106/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:54:39 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:54:45 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/107/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:54:45 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:54:50 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/108/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:54:50 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:54:54 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/109/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:54:54 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:54:57 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/110/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:54:57 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:55:39 [scrapy.extensions.logstats] INFO: Crawled 331 pages (at 5 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:55:57 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/111/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:55:57 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:00 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/112/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:00 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:04 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/113/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:04 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:07 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/114/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:07 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:20 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/115/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:20 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:23 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/116/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:23 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:26 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/117/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:26 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:38 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/118/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:38 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:39 [scrapy.extensions.logstats] INFO: Crawled 339 pages (at 8 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:56:42 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/119/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:42 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:45 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/120/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:45 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:48 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/121/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:49 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:56:52 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/122/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:56:52 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:57:15 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/123/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:57:15 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:57:19 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/124/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:57:19 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:57:22 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/125/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:57:22 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:57:26 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/126/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:57:26 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:57:30 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/127/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:57:30 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:57:33 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/128/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:57:34 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:57:39 [scrapy.extensions.logstats] INFO: Crawled 349 pages (at 10 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:58:10 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/129/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:58:10 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:58:39 [scrapy.extensions.logstats] INFO: Crawled 350 pages (at 1 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:58:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/130/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:58:54 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:59:06 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/131/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:59:07 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:59:10 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/132/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:59:10 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 04:59:39 [scrapy.extensions.logstats] INFO: Crawled 353 pages (at 3 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 04:59:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/133/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 04:59:53 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:00:14 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/134/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:00:14 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:00:39 [scrapy.extensions.logstats] INFO: Crawled 355 pages (at 2 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 05:00:41 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/135/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:00:41 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:00:44 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/136/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:00:44 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:00:47 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/137/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:00:47 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:01:24 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/138/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:01:25 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:01:28 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/139/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:01:28 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:01:31 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/140/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:01:31 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:01:39 [scrapy.extensions.logstats] INFO: Crawled 361 pages (at 6 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 05:01:48 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/141/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:01:48 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:01:51 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/142/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:01:51 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:02:10 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/143/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:02:10 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:02:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/144/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:02:14 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:02:17 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/145/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:02:17 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:02:20 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/146/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:02:20 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:02:39 [scrapy.extensions.logstats] INFO: Crawled 367 pages (at 6 pages/min), scraped 221 items (at 0 items/min)
      2026-08-05 05:02:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/147/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:02:57 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-08-05 05:03:00 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportlibrary.org/calendar/list/page/148/> (referer: https://westportlibrary.org/) ['zyte-api']
      2026-08-05 05:03:00 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-08-05 05:03:00 [scrapy.extensions.feedexport] INFO: Stored csv feed (221 items) in: output/2026/08/05/west_port_library.csv
      2026-08-05 05:03:00 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 366012,
       'downloader/request_count': 369,
       'downloader/request_method_count/GET': 369,
       'downloader/response_bytes': 86709964,
       'downloader/response_count': 369,
       'downloader/response_status_count/200': 369,
       'elapsed_time_seconds': 2481.057044,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 8, 5, 3, 3, 0, 165002, tzinfo=datetime.timezone.utc),
       'item_scraped_count': 221,
       'items_per_minute': 5.344619105199516,
       'log_count/DEBUG': 1434,
       'log_count/ERROR': 199,
       'log_count/INFO': 44,
       'log_count/WARNING': 1,
       'memusage/max': 188256256,
       'memusage/startup': 99540992,
       'request_depth_max': 147,
       'response_received_count': 369,
       'responses_per_minute': 8.923821039903265,
       'scheduler/dequeued': 369,
       'scheduler/dequeued/memory': 369,
       'scheduler/enqueued': 369,
       'scheduler/enqueued/memory': 369,
       'scrapy-zyte-api/429': 0,
       'scrapy-zyte-api/attempts': 380,
       'scrapy-zyte-api/error_ratio': 0.02894736842105263,
       'scrapy-zyte-api/error_types/download/temporary-error': 11,
       'scrapy-zyte-api/errors': 11,
       'scrapy-zyte-api/fatal_errors': 0,
       'scrapy-zyte-api/mean_connection_seconds': 15.42493308259076,
       'scrapy-zyte-api/mean_response_seconds': 14.163924055259809,
       'scrapy-zyte-api/processed': 369,
       'scrapy-zyte-api/request_args/customHttpRequestHeaders': 369,
       'scrapy-zyte-api/request_args/httpResponseBody': 369,
       'scrapy-zyte-api/request_args/httpResponseHeaders': 369,
       'scrapy-zyte-api/request_args/url': 369,
       'scrapy-zyte-api/status_codes/200': 369,
       'scrapy-zyte-api/status_codes/520': 11,
       'scrapy-zyte-api/success': 369,
       'scrapy-zyte-api/success_ratio': 1.0,
       'scrapy-zyte-api/throttle_ratio': 0.0,
       'start_time': datetime.datetime(2026, 8, 5, 2, 21, 39, 107958, tzinfo=datetime.timezone.utc)}
      2026-08-05 05:03:00 [scrapy.core.engine] INFO: Spider closed (finished)
    • Log

      /1/log/utf8/event_scrapers/west_port_library/60f60991907411f1b8560050565fa5d9/?job_finished=True&ui=mobile

    • Source

      http://127.0.0.1:6800/logs/event_scrapers/west_port_library/60f60991907411f1b8560050565fa5d9.log

  • sourcelog
    last update time2026-08-05 05:03:00
    last update timestamp1785898980
    downloader / request bytes366012
    downloader / request count369
    downloader / request method count / GET369
    downloader / response bytes86709964
    downloader / response count369
    downloader / response status count / 200369
    elapsed time seconds2481.057044
    feedexport / success count / FileFeedStorage1
    finish reasonfinished
    finish timedatetime.datetime(2026, 8, 5, 3, 3, 0, 165002, tzinfo=datetime.timezone.utc)
    item scraped count221
    items per minute5.344619105199516
    log count / DEBUG1434
    log count / ERROR199
    log count / INFO44
    log count / WARNING1
    memusage / max188256256
    memusage / startup99540992
    request depth max147
    response received count369
    responses per minute8.923821039903265
    scheduler / dequeued369
    scheduler / dequeued / memory369
    scheduler / enqueued369
    scheduler / enqueued / memory369
    scrapy-zyte-api / 4290
    scrapy-zyte-api / attempts380
    scrapy-zyte-api / error ratio0.02894736842105263
    scrapy-zyte-api / error types / download / temporary-error11
    scrapy-zyte-api / errors11
    scrapy-zyte-api / fatal errors0
    scrapy-zyte-api / mean connection seconds15.42493308259076
    scrapy-zyte-api / mean response seconds14.163924055259809
    scrapy-zyte-api / processed369
    scrapy-zyte-api / request args / customHttpRequestHeaders369
    scrapy-zyte-api / request args / httpResponseBody369
    scrapy-zyte-api / request args / httpResponseHeaders369
    scrapy-zyte-api / request args / url369
    scrapy-zyte-api / status codes / 200369
    scrapy-zyte-api / status codes / 52011
    scrapy-zyte-api / success369
    scrapy-zyte-api / success ratio1.0
    scrapy-zyte-api / throttle ratio0.0
    start timedatetime.datetime(2026, 8, 5, 2, 21, 39, 107958, tzinfo=datetime.timezone.utc)