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

PROJECT (event_scrapers), SPIDER (swing_shoes)

  • Log analysis
  • Log categorization
  • Progress visualization
  • View log
  • Crawler.stats
  • projectevent_scrapers
    spiderswing_shoes
    joba824f60f698e11f199f70050565fa5d9
    first_log_time2026-06-16 16:21:29
    latest_log_time2026-06-16 16:23:27
    runtime0:01:58
    crawled_pages 291
    scraped_items 38
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count17
    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://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct', 'platform': 'Swing shoes', 'platform_hash': 'bcc566362f4c9855ab51efeac1cfc9ad', 'raw_body': '<div id="jevents">\n' '<div class="contentpaneopen jeventpage jevbootstrap" ' 'id="jevents_header">\n' '</div>\n' '<div class="contentpaneopen jeventpage jevbootstrap" ' 'id="jevents_body">\n' '<p><strong>West Coast Swing (Week 1) in Norwalk, ' 'CT</strong><br/>\n' 'Thursday, July 02, 2026, 07:15pm - Thursday, July 02, 2026, ' '11:00pm</p>\n' '<p><!-- START: Modules Anywhere -->\n' '</p><div class="custom">\n' '<p><img alt="West Coast Swing class in Norwalk, CT" height="525" ' 'src="/images/stories/classes/20231005-WCS.jpg" style="display: ' 'block; margin-left: auto; margin-right: auto;" ' 'width="1000"/></p>\n' '</div>\n' '<!-- END: Modules Anywhere -->\n' '<h1 style="text-align: center;">West Coast Swing<br/>Week 1 of ' 'the Monthly Series</h1>\n' '<h2 style="text-align: center;">Every Thursday<br/>Norwalk, ' 'CT</h2>\n' '<p>West Coast Swing is one of the many different styles of swing ' 'dancing originating from the original 1928 Lindy Hop. West Coast ' 'Swing is so much fun to experience because it incorporates many ' 'different styles of movement and music. It is known as the ' 'smoother and sexier version of the swing dance family.\xa0</p>\n' '<h2>Health Policy</h2>\n' '<!-- START: Modules Anywhere --><div class="rspbld-elements">\n' '<div class="rspbld-text-block text-left">\n' '<div class="rspbld-content">\n' '<p style="font-weight: 400;">We strive to balance providing a ' 'safe environment and a normal social setting. The following ' 'policy is subject to change at any time.\xa0<strong>By attending ' 'any of our classes/privates/events, you agree to this health ' 'policy.</strong>\xa0Effective May 26, 2025:</p>\n' '</div>\n' '</div>\n' '<div class="rspbld-list text-left rstpl-content">\n' '<ul>\n' '<li>\n' '<div class="rspbld-icon-container left">\n' '<div class="rspbld-icon">\n' '<i class="fa fa-heartbeat"></i>\n' '</div>\n' '</div>\n' '<div class="rspbld-content-container">\n' '<div class="rspbld-content">\n' '<p><strong>Common Sense Health:</strong>\xa0If you are not ' 'feeling well, please do not come to dance class.</p>\n' '</div>\n' '</div>\n' '</li>\n' '<li>\n' '<div class="rspbld-icon-container left">\n' '<div class="rspbld-icon">\n' '<i class="fa fa-heartbeat"></i>\n' '</div>\n' '</div>\n' '<div class="rspbld-content-container">\n' '<div class="rspbld-content">\n' '<p><strong>Health Cooperation:</strong> Students will ' 'cooperate\xa0with any health requests from Erik Novoa, guest ' 'instructor, or staff (e.g., using hand sanitizer, using a mask, ' 'stepping outside to address a health issue, etc.).</p>\n' '</div>\n' '</div>\n' '</li>\n' '<li>\n' '<div class="rspbld-icon-container left">\n' '<div class="rspbld-icon">\n' '<i class="fa fa-heartbeat"></i>\n' '</div>\n' '</div>\n' '<div class="rspbld-content-container">\n' '<div class="rspbld-content">\n' '<p><strong>Registration: You must pre-register for these classes ' '(see below). We do not have the staff to process credit cards or ' 'cash on-site for these classes.\xa0</strong></p>\n' '</div>\n' '</div>\n' '</li>\n' '</ul>\n' '</div>\n' '</div>\n' '<!-- END: Modules Anywhere -->\n' '<h2>Schedule</h2>\n' '<!-- START: Modules Anywhere -->\n' '<div class="custom">\n' '<h3>7:15pm: Check-in for 1st Class</h3>\n' '<p>Our doors open at 7:15pm. Please arrive early so that our ' 'classes can start on time.\xa0</p>\n' '<p>Please wash your hands upon arrival. Light food and drinks ' 'are available, and feel free to bring anything you like to our ' 'community table.\xa0</p>\n' '<h3>7:30pm: West Coast Swing (Beginners)</h3>\n' '<p>This class is a beginner class that is designed for the ' 'newcomer. This class will examine West Coast Swing from the ' 'beginning,\xa0guiding you through the basic steps and rhythms of ' 'West Coast Swing. Each week, the class will review and continue ' 'learning new moves and techniques. This class is also encouraged ' 'for dancers who are familiar with West Coast Swing because it ' 'will help continue to develop their technique and fundamentals. ' 'After taking this class, it is important to stay and social ' 'dance (dancing with various other dancers). Social dancing is ' 'the key to progressing.\xa0</p>\n' '<!-- START: Modules Anywhere -->\n' '<div class="custom">\n' "<p><em>Important: If you are a newcomer (or don't really " 'remember the basics), please only join the beginner class on ' 'Week 1 or 2 \xa0of the monthly series (see the calendar).\xa0' '</em></p>\n' '</div>\n' '<!-- END: Modules Anywhere -->\n' '<h3>8:30pm: Check-in for 2nd Class and Social Dancing</h3>\n' '<p>Please arrive for the Int/Adv class at 8:30pm\xa0so that our ' 'classes can start on time. Remember to wash your hands when you ' 'arrive.\xa0</p>\n' '<h3>8:45pm: West Coast Swing (Int/Adv)</h3>\n' '<p>This class is designed for students that already have some ' 'knowledge of West Coast Swing and/or have taken the beginner ' 'class enough times to perform the basics fluidly. In this class, ' 'we will focus on intermediate moves, syncopations, styling, and ' 'musicality. Occasionally, this class will learn choreography to ' 'incorporate all the aspects of West Coast Swing that have been ' 'learned and to explore new aspects of the dance.\xa0</p>\n' '<!-- START: Modules Anywhere -->\n' '<div class="custom">\n' '<p><em>Note: 1) Getting into the Int/Adv class is based on how ' 'well a dancer can socially dance a basic dance. The importance ' 'of social dancing can not be overstated. 2) If you are invited ' 'to the Int/Adv class, you are expected to continue to attend the ' 'Beginner class to continue expanding your knowledge. 3) This ' 'class is by invitation. Please check with Erik prior to ' 'attending this class.\xa0</em></p>\n' '</div>\n' '<!-- END: Modules Anywhere -->\n' '<h3>9:45-11:00pm: Social Dancing</h3>\n' '<p>Enjoy some time dancing and socializing! This is where the ' 'magic happens. The more you dance, the better your dance will ' 'become.</p>\n' '</div>\n' '<!-- END: Modules Anywhere -->\n' '<h2>Registration, Payment, and Check-in</h2>\n' '<!-- START: Modules Anywhere -->\n' '<div class="custom">\n' '<p><strong>Pre-Registration:</strong> All students must ' 'pre-register to attend.</p>\n' '<p><strong>Without a Class Card:</strong> Please register using ' 'the "Regular Purchase" selection below.\xa0</p>\n' '<p><strong>Class Card holders:\xa0</strong>Please register using ' 'the "Class Card Check-in" selection below. \xa0</p>\n' '<p>1 Lesson: $20<br/>Second class: add $10 (subject to level ' 'appropriateness)</p>\n' '<!-- START: Sliders -->\n' '<div class="rl_sliders nn_sliders accordion panel-group" ' 'id="set-rl_sliders-1" role="presentation"><a class="anchor ' 'rl_sliders-scroll nn_sliders-scroll" ' 'id="rl_sliders-scrollto_1"></a>\n' '<div class="accordion-group panel rl_sliders-group ' 'nn_sliders-group icon">\n' '<a class="anchor rl_sliders-scroll nn_sliders-scroll" ' 'id="rl_sliders-scrollto_regular-purchase-for-students-without-a-class-card"></a>\n' '<div ' 'aria-controls="regular-purchase-for-students-without-a-class-card" ' 'class="accordion-heading panel-heading">\n' '<a aria-expanded="false" class="accordion-toggle ' 'rl_sliders-toggle nn_sliders-toggle collapsed" ' 'data-id="regular-purchase-for-students-without-a-class-card" ' 'data-parent="#set-rl_sliders-1" data-toggle="collapse" ' 'href="https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct#regular-purchase-for-students-without-a-class-card" ' 'id="slider-regular-purchase-for-students-without-a-class-card"><span ' 'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> Regular ' 'Purchase (for students without a Class Card)</span></a>\n' '</div>\n' '<div ' 'aria-labelledby="slider-regular-purchase-for-students-without-a-class-card" ' 'class="accordion-body rl_sliders-body nn_sliders-body collapse" ' 'id="regular-purchase-for-students-without-a-class-card" ' 'role="region">\n' '<div class="accordion-inner panel-body" hidden="hidden">\n' '<h2 class="rl_sliders-title nn_sliders-title">Regular Purchase ' '(for students without a Class Card)</h2>\n' '<!-- START: Modules Anywhere --><div class="eshop-product">\n' '<div class="row-fluid" id="products-list">\n' '<div class="eshop-product col-6 span3">\n' '<div class="eshop-image-block">\n' '<a href="/store/weekly-classes/7-30pm-west-coast-swing-beg">\n' '<span class="product-image-2">\n' '<img alt="7:30pm: West Coast Swing (Beg)" ' 'src="/media/com_eshop/products/resized/730-Class%20Copy-100x100.jpg"/>\n' '</span>\n' '</a>\n' '</div>\n' '<div class="product-info-2">\n' '<a href="/store/weekly-classes/7-30pm-west-coast-swing-beg" ' 'title="7:30pm: West Coast Swing (Beg)">\n' '\t\t7:30pm: West Coast Swing (Beg)\t</a>\n' '<div class="eshop-product-price">\n' '<span class="price">$20.00</span>\n' '</div>\n' '<div class="eshop-buttons">\n' '<div class="eshop-cart-area">\n' '<a class="btn btn-primary" ' 'href="/store/weekly-classes/7-30pm-west-coast-swing-beg" ' 'title="7:30pm: West Coast Swing (Beg)">View Details</a>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '<div class="eshop-product col-6 span3">\n' '<div class="eshop-image-block">\n' '<a ' 'href="/store/weekly-classes/8-45pm-west-coast-swing-int-adv">\n' '<span class="product-image-2">\n' '<img alt="8:45pm: West Coast Swing (Int/Adv)" ' 'src="/media/com_eshop/products/resized/845-Class%20Copy-100x100.jpg"/>\n' '</span>\n' '</a>\n' '</div>\n' '<div class="product-info-2">\n' '<a href="/store/weekly-classes/8-45pm-west-coast-swing-int-adv" ' 'title="8:45pm: West Coast Swing (Int/Adv)">\n' '\t\t8:45pm: West Coast Swing (Int/Adv)\t</a>\n' '<div class="eshop-product-price">\n' '<span class="price">$20.00</span>\n' '</div>\n' '<div class="eshop-buttons">\n' '<div class="eshop-cart-area">\n' '<a class="btn btn-primary" ' 'href="/store/weekly-classes/8-45pm-west-coast-swing-int-adv" ' 'title="8:45pm: West Coast Swing (Int/Adv)">View Details</a>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '<div class="eshop-product col-6 span3">\n' '<div class="eshop-image-block">\n' '<a ' 'href="/store/weekly-classes/double-class-west-coast-swing-7-30pm-and-8-45pm">\n' '<span class="product-image-2">\n' '<img alt="Double Class West Coast Swing (7:30pm and 8:45pm)" ' 'src="/media/com_eshop/products/resized/Double-Class%20Copy-100x100.jpg"/>\n' '</span>\n' '</a>\n' '</div>\n' '<div class="product-info-2">\n' '<a ' 'href="/store/weekly-classes/double-class-west-coast-swing-7-30pm-and-8-45pm" ' 'title="Double Class West Coast Swing (7:30pm and 8:45pm)">\n' '\t\tDouble Class West Coast Swing (7:30pm and 8:45pm)\t</a>\n' '<div class="eshop-product-price">\n' '<span class="price">$30.00</span>\n' '</div>\n' '<div class="eshop-buttons">\n' '<div class="eshop-cart-area">\n' '<a class="btn btn-primary" ' 'href="/store/weekly-classes/double-class-west-coast-swing-7-30pm-and-8-45pm" ' 'title="Double Class West Coast Swing (7:30pm and 8:45pm)">View ' 'Details</a>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '<div class="eshop-product col-6 span3">\n' '<div class="eshop-image-block">\n' '<a href="/store/weekly-classes/social-dance-party-only">\n' '<span class="product-image-2">\n' '<img alt="Social Dance Party Only" ' 'src="/media/com_eshop/products/resized/Social-Dance-Party-100x100.jpg"/>\n' '</span>\n' '</a>\n' '</div>\n' '<div class="product-info-2">\n' '<a href="/store/weekly-classes/social-dance-party-only" ' 'title="Social Dance Party Only">\n' '\t\tSocial Dance Party Only\t</a>\n' '<div class="eshop-product-price">\n' '<span class="price">$10.00</span>\n' '</div>\n' '<div class="eshop-buttons">\n' '<div class="eshop-cart-area">\n' '<a class="btn btn-primary" ' 'href="/store/weekly-classes/social-dance-party-only" ' 'title="Social Dance Party Only">View Details</a>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '<!-- END: Modules Anywhere -->\n' '</div></div></div>\n' '<div class="accordion-group panel rl_sliders-group ' 'nn_sliders-group icon">\n' '<a class="anchor rl_sliders-scroll nn_sliders-scroll" ' 'id="rl_sliders-scrollto_class-card-check-in-for-students-with-an-existing-class-card"></a>\n' '<div ' 'aria-controls="class-card-check-in-for-students-with-an-existing-class-card" ' 'class="accordion-heading panel-heading">\n' '<a aria-expanded="false" class="accordion-toggle ' 'rl_sliders-toggle nn_sliders-toggle collapsed" ' 'data-id="class-card-check-in-for-students-with-an-existing-class-card" ' 'data-parent="#set-rl_sliders-1" data-toggle="collapse" ' 'href="https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct#class-card-check-in-for-students-with-an-existing-class-card" ' 'id="slider-class-card-check-in-for-students-with-an-existing-class-card"><span ' 'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> Class ' 'Card Check-In (for students with an existing Class ' 'Card)</span></a>\n' '</div>\n' '<div ' 'aria-labelledby="slider-class-card-check-in-for-students-with-an-existing-class-card" ' 'class="accordion-body rl_sliders-body nn_sliders-body collapse" ' 'id="class-card-check-in-for-students-with-an-existing-class-card" ' 'role="region">\n' '<div class="accordion-inner panel-body" hidden="hidden">\n' '<h2 class="rl_sliders-title nn_sliders-title">Class Card ' 'Check-In (for students with an existing Class Card)</h2>\n' '<p>Please check-in for class within 72 hours of class. The ideal ' 'period is Monday to Thursday at 12pm. If a home-covid test is ' 'required, please complete that by 3pm on the day of class.\xa0' '</p>\n' '<p><a href="https://forms.gle/X3Jax49QBSqUysBS7" rel="noopener" ' 'target="_blank" title="Check in for West Coast Swing">Please ' "check in for this week's class with this link</a></p>\n" '<!-- START: Modules Anywhere --><div class="eshop-product">\n' '<div class="row-fluid" id="products-list">\n' '</div>\n' '</div>\n' '<!-- END: Modules Anywhere -->\n' '</div></div></div>\n' '<div class="accordion-group panel rl_sliders-group ' 'nn_sliders-group icon">\n' '<a class="anchor rl_sliders-scroll nn_sliders-scroll" ' 'id="rl_sliders-scrollto_purchase-class-card"></a>\n' '<div aria-controls="purchase-class-card" ' 'class="accordion-heading panel-heading">\n' '<a aria-expanded="false" class="accordion-toggle ' 'rl_sliders-toggle nn_sliders-toggle collapsed" ' 'data-id="purchase-class-card" data-parent="#set-rl_sliders-1" ' 'data-toggle="collapse" ' 'href="https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct#purchase-class-card" ' 'id="slider-purchase-class-card"><span ' 'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> ' 'Purchase Class Card</span></a>\n' '</div>\n' '<div aria-labelledby="slider-purchase-class-card" ' 'class="accordion-body rl_sliders-body nn_sliders-body collapse" ' 'id="purchase-class-card" role="region">\n' '<div class="accordion-inner panel-body" hidden="hidden">\n' '<h2 class="rl_sliders-title nn_sliders-title">Purchase Class ' 'Card</h2>\n' '<!-- START: Modules Anywhere --><p style="color:white; ' 'padding:20px; ' 'background-color:deepskyblue;"><strong>Important:</strong> If ' 'you are purchasing a class card AND checking in for class, ' 'please a) purchase your class card first, then b) come back to ' 'the event page to check-in using the "Class Card Check-In (for ' 'students with an existing Class Card)" link. </p>\n' '<div class="eshop-product">\n' '<div class="row-fluid" id="products-list">\n' '<div class="eshop-product col-6 span4">\n' '<div class="eshop-image-block">\n' '<a href="/discount-class-cards/4-class-card">\n' '<span class="product-image-2">\n' '<img alt="4 Class Card" ' 'src="/media/com_eshop/products/resized/Class-Card-4-100x100.jpg"/>\n' '</span>\n' '</a>\n' '</div>\n' '<div class="product-info-2">\n' '<a href="/discount-class-cards/4-class-card" title="4 Class ' 'Card">\n' '\t\t4 Class Card\t</a>\n' '<div class="eshop-product-price">\n' '<span class="price">$72.00</span>\n' '</div>\n' '<div class="eshop-buttons">\n' '<div class="eshop-cart-area">\n' '<a class="btn btn-primary" ' 'href="/discount-class-cards/4-class-card" title="4 Class ' 'Card">View Details</a>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '<div class="eshop-product col-6 span4">\n' '<div class="eshop-image-block">\n' '<a href="/discount-class-cards/8-class-card">\n' '<span class="product-image-2">\n' '<img alt="8 Class Card (for couples only)" ' 'src="/media/com_eshop/products/resized/Class-Card-8-100x100.jpg"/>\n' '</span>\n' '</a>\n' '</div>\n' '<div class="product-info-2">\n' '<a href="/discount-class-cards/8-class-card" title="8 Class Card ' '(for couples only)">\n' '\t\t8 Class Card (for couples only)\t</a>\n' '<div class="eshop-product-price">\n' '<span class="price">$136.00</span>\n' '</div>\n' '<div class="eshop-buttons">\n' '<div class="eshop-cart-area">\n' '<a class="btn btn-primary" ' 'href="/discount-class-cards/8-class-card" title="8 Class Card ' '(for couples only)">View Details</a>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '<div class="eshop-product col-6 span4">\n' '<div class="eshop-image-block">\n' '<a href="/discount-class-cards/12-class-card">\n' '<span class="product-image-2">\n' '<img alt="12 Class Card (for couples only)" ' 'src="/media/com_eshop/products/resized/Class-Card-12-100x100.jpg"/>\n' '</span>\n' '</a>\n' '</div>\n' '<div class="product-info-2">\n' '<a href="/discount-class-cards/12-class-card" title="12 Class ' 'Card (for couples only)">\n' '\t\t12 Class Card (for couples only)\t</a>\n' '<div class="eshop-product-price">\n' '<span class="price">$192.00</span>\n' '</div>\n' '<div class="eshop-buttons">\n' '<div class="eshop-cart-area">\n' '<a class="btn btn-primary" ' 'href="/discount-class-cards/12-class-card" title="12 Class Card ' '(for couples only)">View Details</a>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '<!-- END: Modules Anywhere -->\n' '</div></div></div>\n' '<div class="accordion-group panel rl_sliders-group ' 'nn_sliders-group icon">\n' '<a class="anchor rl_sliders-scroll nn_sliders-scroll" ' 'id="rl_sliders-scrollto_unemployment-discount"></a>\n' '<div aria-controls="unemployment-discount" ' 'class="accordion-heading panel-heading">\n' '<a aria-expanded="false" class="accordion-toggle ' 'rl_sliders-toggle nn_sliders-toggle collapsed" ' 'data-id="unemployment-discount" data-parent="#set-rl_sliders-1" ' 'data-toggle="collapse" ' 'href="https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct#unemployment-discount" ' 'id="slider-unemployment-discount"><span ' 'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> ' 'Unemployment Discount</span></a>\n' '</div>\n' '<div aria-labelledby="slider-unemployment-discount" ' 'class="accordion-body rl_sliders-body nn_sliders-body collapse" ' 'id="unemployment-discount" role="region">\n' '<div class="accordion-inner panel-body" hidden="hidden">\n' '<h2 class="rl_sliders-title nn_sliders-title">Unemployment ' 'Discount</h2>\n' "<p>Being unemployed because of a bad economy shouldn't mean that " "you lose your dance community. Good will goes a long way. We're " 'using it as much as possible.</p>\n' '<p><a ' 'href="/more/things-you-should-know/162-unemployment-discount" ' 'title="Unemployment Discount for Norwalk, CT Hustle &amp; West ' 'Coast Swing">Unemployment Discount</a>\xa0</p>\n' '</div></div></div></div><!-- END: Sliders -->\n' '</div>\n' '<!-- END: Modules Anywhere -->\n' '<h2>Location\xa0</h2><h4>Dance Dimensions<br/>\n' '15 Cross Street<br/>\n' 'Norwalk, CT<br/>\n' '<div id="gmap" style="width:600px; height:300px;overflow:hidden ' '!important;"></div>\n' '</h4><p></p><p><img alt="Dance Dimensions at 15 Cross Street, ' 'Norwalk, CT" height="402" ' 'src="/images/stories/locations/Dance-Dimensions/Dance-Dimensions-front.jpg" ' 'style="display: block; margin-left: auto; margin-right: auto;" ' 'width="600"/></p>\n' '<p><img alt="20150203-Dance-Dimensions-New-Floor-110131-600px" ' 'height="399" ' 'src="/images/stories/locations/Dance-Dimensions/20150203-Dance-Dimensions-New-Floor-110131-600px.jpg" ' 'style="display: block; margin-left: auto; margin-right: auto;" ' 'width="600"/></p>\n' '<h2>Important Location information:</h2>\n' '<p>Dance Dimensions is located on Route-1 (Cross Street) in the ' 'same shopping area as these other establishments: Brain Balance, ' 'Dogs Gone Smart, and Goodwill.</p>\n' '<h2 style="text-align: left;">Parking Area</h2>\n' '<p>There is plenty of parking adjacent to Dance Dimensions. The ' 'parking area is well lit and marked. Please park closer to the ' 'entrance because that will place you closer to the studio ' 'entrance.\xa0</p>\n' '</div>\n' '</div>'}
    • WARNING+

    • error_logs
      17 in total

      2026-06-16 16:21:43 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:21:47 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:21:50 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:21:50 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:21:53 [swing_shoes] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-06-16 16:21:57 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:21:57 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:21:58 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:22:05 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:22:21 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:22:26 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:22:33 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:22:42 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:22:45 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:22:57 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:23:23 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-06-16 16:23:26 [swing_shoes] 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-06-16 16:21:31 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:47: ScrapyDeprecationWarning: EventScrapersPipeline.process_item() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.process_item)
      
      2026-06-16 16:21:31 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.swing_shoes.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-06-16 16:21:33 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://swingshoes.net/calendar/monthcalendar/2026/7>, 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

      6cef8928d48622e9
    • latest_duplicate

      2026-06-16 16:21:39 [scrapy.dupefilters] DEBUG: Filtered duplicate request: <GET https://swingshoes.net/calendar/eventdetail/1998/liberty-swing-2026> - no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicates)
    • latest_crawl

      2026-06-16 16:23:26 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/2> (referer: https://swingshoes.net/calendar)
    • latest_stat

      2026-06-16 16:22:31 [scrapy.extensions.logstats] INFO: Crawled 145 pages (at 145 pages/min), scraped 18 items (at 18 items/min)
    • latest_scrape

      2026-06-16 16:23:26 [scrapy.core.scraper] DEBUG: Scraped from <200 https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct>
    • latest_item

      {'event_url': 'https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct',
       'platform': 'Swing shoes',
       'platform_hash': 'bcc566362f4c9855ab51efeac1cfc9ad',
       'raw_body': '<div id="jevents">\n'
                   '<div class="contentpaneopen jeventpage jevbootstrap" '
                   'id="jevents_header">\n'
                   '</div>\n'
                   '<div class="contentpaneopen jeventpage jevbootstrap" '
                   'id="jevents_body">\n'
                   '<p><strong>West Coast Swing (Week 1) in Norwalk, '
                   'CT</strong><br/>\n'
                   'Thursday, July 02, 2026, 07:15pm - Thursday, July 02, 2026, '
                   '11:00pm</p>\n'
                   '<p><!-- START: Modules Anywhere -->\n'
                   '</p><div class="custom">\n'
                   '<p><img alt="West Coast Swing class in Norwalk, CT" height="525" '
                   'src="/images/stories/classes/20231005-WCS.jpg" style="display: '
                   'block; margin-left: auto; margin-right: auto;" '
                   'width="1000"/></p>\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '<h1 style="text-align: center;">West Coast Swing<br/>Week 1 of '
                   'the Monthly Series</h1>\n'
                   '<h2 style="text-align: center;">Every Thursday<br/>Norwalk, '
                   'CT</h2>\n'
                   '<p>West Coast Swing is one of the many different styles of swing '
                   'dancing originating from the original 1928 Lindy Hop. West Coast '
                   'Swing is so much fun to experience because it incorporates many '
                   'different styles of movement and music. It is known as the '
                   'smoother and sexier version of the swing dance family.\xa0</p>\n'
                   '<h2>Health Policy</h2>\n'
                   '<!-- START: Modules Anywhere --><div class="rspbld-elements">\n'
                   '<div class="rspbld-text-block text-left">\n'
                   '<div class="rspbld-content">\n'
                   '<p style="font-weight: 400;">We strive to balance providing a '
                   'safe environment and a normal social setting. The following '
                   'policy is subject to change at any time.\xa0<strong>By attending '
                   'any of our classes/privates/events, you agree to this health '
                   'policy.</strong>\xa0Effective May 26, 2025:</p>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="rspbld-list text-left rstpl-content">\n'
                   '<ul>\n'
                   '<li>\n'
                   '<div class="rspbld-icon-container left">\n'
                   '<div class="rspbld-icon">\n'
                   '<i class="fa fa-heartbeat"></i>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="rspbld-content-container">\n'
                   '<div class="rspbld-content">\n'
                   '<p><strong>Common Sense Health:</strong>\xa0If you are not '
                   'feeling well, please do not come to dance class.</p>\n'
                   '</div>\n'
                   '</div>\n'
                   '</li>\n'
                   '<li>\n'
                   '<div class="rspbld-icon-container left">\n'
                   '<div class="rspbld-icon">\n'
                   '<i class="fa fa-heartbeat"></i>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="rspbld-content-container">\n'
                   '<div class="rspbld-content">\n'
                   '<p><strong>Health Cooperation:</strong> Students will '
                   'cooperate\xa0with any health requests from Erik Novoa, guest '
                   'instructor, or staff (e.g., using hand sanitizer, using a mask, '
                   'stepping outside to address a health issue, etc.).</p>\n'
                   '</div>\n'
                   '</div>\n'
                   '</li>\n'
                   '<li>\n'
                   '<div class="rspbld-icon-container left">\n'
                   '<div class="rspbld-icon">\n'
                   '<i class="fa fa-heartbeat"></i>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="rspbld-content-container">\n'
                   '<div class="rspbld-content">\n'
                   '<p><strong>Registration: You must pre-register for these classes '
                   '(see below). We do not have the staff to process credit cards or '
                   'cash on-site for these classes.\xa0</strong></p>\n'
                   '</div>\n'
                   '</div>\n'
                   '</li>\n'
                   '</ul>\n'
                   '</div>\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '<h2>Schedule</h2>\n'
                   '<!-- START: Modules Anywhere -->\n'
                   '<div class="custom">\n'
                   '<h3>7:15pm: Check-in for 1st Class</h3>\n'
                   '<p>Our doors open at 7:15pm. Please arrive early so that our '
                   'classes can start on time.\xa0</p>\n'
                   '<p>Please wash your hands upon arrival. Light food and drinks '
                   'are available, and feel free to bring anything you like to our '
                   'community table.\xa0</p>\n'
                   '<h3>7:30pm: West Coast Swing (Beginners)</h3>\n'
                   '<p>This class is a beginner class that is designed for the '
                   'newcomer. This class will examine West Coast Swing from the '
                   'beginning,\xa0guiding you through the basic steps and rhythms of '
                   'West Coast Swing. Each week, the class will review and continue '
                   'learning new moves and techniques. This class is also encouraged '
                   'for dancers who are familiar with West Coast Swing because it '
                   'will help continue to develop their technique and fundamentals. '
                   'After taking this class, it is important to stay and social '
                   'dance (dancing with various other dancers). Social dancing is '
                   'the key to progressing.\xa0</p>\n'
                   '<!-- START: Modules Anywhere -->\n'
                   '<div class="custom">\n'
                   "<p><em>Important: If you are a newcomer (or don't really "
                   'remember the basics), please only join the beginner class on '
                   'Week 1 or 2 \xa0of the monthly series (see the calendar).\xa0'
                   '</em></p>\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '<h3>8:30pm: Check-in for 2nd Class and Social Dancing</h3>\n'
                   '<p>Please arrive for the Int/Adv class at 8:30pm\xa0so that our '
                   'classes can start on time. Remember to wash your hands when you '
                   'arrive.\xa0</p>\n'
                   '<h3>8:45pm: West Coast Swing (Int/Adv)</h3>\n'
                   '<p>This class is designed for students that already have some '
                   'knowledge of West Coast Swing and/or have taken the beginner '
                   'class enough times to perform the basics fluidly. In this class, '
                   'we will focus on intermediate moves, syncopations, styling, and '
                   'musicality. Occasionally, this class will learn choreography to '
                   'incorporate all the aspects of West Coast Swing that have been '
                   'learned and to explore new aspects of the dance.\xa0</p>\n'
                   '<!-- START: Modules Anywhere -->\n'
                   '<div class="custom">\n'
                   '<p><em>Note: 1) Getting into the Int/Adv class is based on how '
                   'well a dancer can socially dance a basic dance. The importance '
                   'of social dancing can not be overstated. 2) If you are invited '
                   'to the Int/Adv class, you are expected to continue to attend the '
                   'Beginner class to continue expanding your knowledge. 3) This '
                   'class is by invitation. Please check with Erik prior to '
                   'attending this class.\xa0</em></p>\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '<h3>9:45-11:00pm: Social Dancing</h3>\n'
                   '<p>Enjoy some time dancing and socializing! This is where the '
                   'magic happens. The more you dance, the better your dance will '
                   'become.</p>\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '<h2>Registration, Payment, and Check-in</h2>\n'
                   '<!-- START: Modules Anywhere -->\n'
                   '<div class="custom">\n'
                   '<p><strong>Pre-Registration:</strong> All students must '
                   'pre-register to attend.</p>\n'
                   '<p><strong>Without a Class Card:</strong> Please register using '
                   'the "Regular Purchase" selection below.\xa0</p>\n'
                   '<p><strong>Class Card holders:\xa0</strong>Please register using '
                   'the "Class Card Check-in" selection below. \xa0</p>\n'
                   '<p>1 Lesson: $20<br/>Second class: add $10 (subject to level '
                   'appropriateness)</p>\n'
                   '<!-- START: Sliders -->\n'
                   '<div class="rl_sliders nn_sliders accordion panel-group" '
                   'id="set-rl_sliders-1" role="presentation"><a class="anchor '
                   'rl_sliders-scroll nn_sliders-scroll" '
                   'id="rl_sliders-scrollto_1"></a>\n'
                   '<div class="accordion-group panel rl_sliders-group '
                   'nn_sliders-group icon">\n'
                   '<a class="anchor rl_sliders-scroll nn_sliders-scroll" '
                   'id="rl_sliders-scrollto_regular-purchase-for-students-without-a-class-card"></a>\n'
                   '<div '
                   'aria-controls="regular-purchase-for-students-without-a-class-card" '
                   'class="accordion-heading panel-heading">\n'
                   '<a aria-expanded="false" class="accordion-toggle '
                   'rl_sliders-toggle nn_sliders-toggle collapsed" '
                   'data-id="regular-purchase-for-students-without-a-class-card" '
                   'data-parent="#set-rl_sliders-1" data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct#regular-purchase-for-students-without-a-class-card" '
                   'id="slider-regular-purchase-for-students-without-a-class-card"><span '
                   'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> Regular '
                   'Purchase (for students without a Class Card)</span></a>\n'
                   '</div>\n'
                   '<div '
                   'aria-labelledby="slider-regular-purchase-for-students-without-a-class-card" '
                   'class="accordion-body rl_sliders-body nn_sliders-body collapse" '
                   'id="regular-purchase-for-students-without-a-class-card" '
                   'role="region">\n'
                   '<div class="accordion-inner panel-body" hidden="hidden">\n'
                   '<h2 class="rl_sliders-title nn_sliders-title">Regular Purchase '
                   '(for students without a Class Card)</h2>\n'
                   '<!-- START: Modules Anywhere --><div class="eshop-product">\n'
                   '<div class="row-fluid" id="products-list">\n'
                   '<div class="eshop-product col-6 span3">\n'
                   '<div class="eshop-image-block">\n'
                   '<a href="/store/weekly-classes/7-30pm-west-coast-swing-beg">\n'
                   '<span class="product-image-2">\n'
                   '<img alt="7:30pm: West Coast Swing  (Beg)" '
                   'src="/media/com_eshop/products/resized/730-Class%20Copy-100x100.jpg"/>\n'
                   '</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<div class="product-info-2">\n'
                   '<a href="/store/weekly-classes/7-30pm-west-coast-swing-beg" '
                   'title="7:30pm: West Coast Swing  (Beg)">\n'
                   '\t\t7:30pm: West Coast Swing  (Beg)\t</a>\n'
                   '<div class="eshop-product-price">\n'
                   '<span class="price">$20.00</span>\n'
                   '</div>\n'
                   '<div class="eshop-buttons">\n'
                   '<div class="eshop-cart-area">\n'
                   '<a class="btn btn-primary" '
                   'href="/store/weekly-classes/7-30pm-west-coast-swing-beg" '
                   'title="7:30pm: West Coast Swing  (Beg)">View Details</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="eshop-product col-6 span3">\n'
                   '<div class="eshop-image-block">\n'
                   '<a '
                   'href="/store/weekly-classes/8-45pm-west-coast-swing-int-adv">\n'
                   '<span class="product-image-2">\n'
                   '<img alt="8:45pm: West Coast Swing (Int/Adv)" '
                   'src="/media/com_eshop/products/resized/845-Class%20Copy-100x100.jpg"/>\n'
                   '</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<div class="product-info-2">\n'
                   '<a href="/store/weekly-classes/8-45pm-west-coast-swing-int-adv" '
                   'title="8:45pm: West Coast Swing (Int/Adv)">\n'
                   '\t\t8:45pm: West Coast Swing (Int/Adv)\t</a>\n'
                   '<div class="eshop-product-price">\n'
                   '<span class="price">$20.00</span>\n'
                   '</div>\n'
                   '<div class="eshop-buttons">\n'
                   '<div class="eshop-cart-area">\n'
                   '<a class="btn btn-primary" '
                   'href="/store/weekly-classes/8-45pm-west-coast-swing-int-adv" '
                   'title="8:45pm: West Coast Swing (Int/Adv)">View Details</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="eshop-product col-6 span3">\n'
                   '<div class="eshop-image-block">\n'
                   '<a '
                   'href="/store/weekly-classes/double-class-west-coast-swing-7-30pm-and-8-45pm">\n'
                   '<span class="product-image-2">\n'
                   '<img alt="Double Class West Coast Swing (7:30pm and 8:45pm)" '
                   'src="/media/com_eshop/products/resized/Double-Class%20Copy-100x100.jpg"/>\n'
                   '</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<div class="product-info-2">\n'
                   '<a '
                   'href="/store/weekly-classes/double-class-west-coast-swing-7-30pm-and-8-45pm" '
                   'title="Double Class West Coast Swing (7:30pm and 8:45pm)">\n'
                   '\t\tDouble Class West Coast Swing (7:30pm and 8:45pm)\t</a>\n'
                   '<div class="eshop-product-price">\n'
                   '<span class="price">$30.00</span>\n'
                   '</div>\n'
                   '<div class="eshop-buttons">\n'
                   '<div class="eshop-cart-area">\n'
                   '<a class="btn btn-primary" '
                   'href="/store/weekly-classes/double-class-west-coast-swing-7-30pm-and-8-45pm" '
                   'title="Double Class West Coast Swing (7:30pm and 8:45pm)">View '
                   'Details</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="eshop-product col-6 span3">\n'
                   '<div class="eshop-image-block">\n'
                   '<a href="/store/weekly-classes/social-dance-party-only">\n'
                   '<span class="product-image-2">\n'
                   '<img alt="Social Dance Party Only" '
                   'src="/media/com_eshop/products/resized/Social-Dance-Party-100x100.jpg"/>\n'
                   '</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<div class="product-info-2">\n'
                   '<a href="/store/weekly-classes/social-dance-party-only" '
                   'title="Social Dance Party Only">\n'
                   '\t\tSocial Dance Party Only\t</a>\n'
                   '<div class="eshop-product-price">\n'
                   '<span class="price">$10.00</span>\n'
                   '</div>\n'
                   '<div class="eshop-buttons">\n'
                   '<div class="eshop-cart-area">\n'
                   '<a class="btn btn-primary" '
                   'href="/store/weekly-classes/social-dance-party-only" '
                   'title="Social Dance Party Only">View Details</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '</div></div></div>\n'
                   '<div class="accordion-group panel rl_sliders-group '
                   'nn_sliders-group icon">\n'
                   '<a class="anchor rl_sliders-scroll nn_sliders-scroll" '
                   'id="rl_sliders-scrollto_class-card-check-in-for-students-with-an-existing-class-card"></a>\n'
                   '<div '
                   'aria-controls="class-card-check-in-for-students-with-an-existing-class-card" '
                   'class="accordion-heading panel-heading">\n'
                   '<a aria-expanded="false" class="accordion-toggle '
                   'rl_sliders-toggle nn_sliders-toggle collapsed" '
                   'data-id="class-card-check-in-for-students-with-an-existing-class-card" '
                   'data-parent="#set-rl_sliders-1" data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct#class-card-check-in-for-students-with-an-existing-class-card" '
                   'id="slider-class-card-check-in-for-students-with-an-existing-class-card"><span '
                   'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> Class '
                   'Card Check-In (for students with an existing Class '
                   'Card)</span></a>\n'
                   '</div>\n'
                   '<div '
                   'aria-labelledby="slider-class-card-check-in-for-students-with-an-existing-class-card" '
                   'class="accordion-body rl_sliders-body nn_sliders-body collapse" '
                   'id="class-card-check-in-for-students-with-an-existing-class-card" '
                   'role="region">\n'
                   '<div class="accordion-inner panel-body" hidden="hidden">\n'
                   '<h2 class="rl_sliders-title nn_sliders-title">Class Card '
                   'Check-In (for students with an existing Class Card)</h2>\n'
                   '<p>Please check-in for class within 72 hours of class. The ideal '
                   'period is Monday to Thursday at 12pm. If a home-covid test is '
                   'required, please complete that by 3pm on the day of class.\xa0'
                   '</p>\n'
                   '<p><a href="https://forms.gle/X3Jax49QBSqUysBS7" rel="noopener" '
                   'target="_blank" title="Check in for West Coast Swing">Please '
                   "check in for this week's class with this link</a></p>\n"
                   '<!-- START: Modules Anywhere --><div class="eshop-product">\n'
                   '<div class="row-fluid" id="products-list">\n'
                   '</div>\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '</div></div></div>\n'
                   '<div class="accordion-group panel rl_sliders-group '
                   'nn_sliders-group icon">\n'
                   '<a class="anchor rl_sliders-scroll nn_sliders-scroll" '
                   'id="rl_sliders-scrollto_purchase-class-card"></a>\n'
                   '<div aria-controls="purchase-class-card" '
                   'class="accordion-heading panel-heading">\n'
                   '<a aria-expanded="false" class="accordion-toggle '
                   'rl_sliders-toggle nn_sliders-toggle collapsed" '
                   'data-id="purchase-class-card" data-parent="#set-rl_sliders-1" '
                   'data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct#purchase-class-card" '
                   'id="slider-purchase-class-card"><span '
                   'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> '
                   'Purchase Class Card</span></a>\n'
                   '</div>\n'
                   '<div aria-labelledby="slider-purchase-class-card" '
                   'class="accordion-body rl_sliders-body nn_sliders-body collapse" '
                   'id="purchase-class-card" role="region">\n'
                   '<div class="accordion-inner panel-body" hidden="hidden">\n'
                   '<h2 class="rl_sliders-title nn_sliders-title">Purchase Class '
                   'Card</h2>\n'
                   '<!-- START: Modules Anywhere --><p style="color:white; '
                   'padding:20px; '
                   'background-color:deepskyblue;"><strong>Important:</strong> If '
                   'you are purchasing a class card AND checking in for class, '
                   'please a) purchase your class card first, then b) come back to '
                   'the event page to check-in using the "Class Card Check-In (for '
                   'students with an existing Class Card)" link. </p>\n'
                   '<div class="eshop-product">\n'
                   '<div class="row-fluid" id="products-list">\n'
                   '<div class="eshop-product col-6 span4">\n'
                   '<div class="eshop-image-block">\n'
                   '<a href="/discount-class-cards/4-class-card">\n'
                   '<span class="product-image-2">\n'
                   '<img alt="4 Class Card" '
                   'src="/media/com_eshop/products/resized/Class-Card-4-100x100.jpg"/>\n'
                   '</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<div class="product-info-2">\n'
                   '<a href="/discount-class-cards/4-class-card" title="4 Class '
                   'Card">\n'
                   '\t\t4 Class Card\t</a>\n'
                   '<div class="eshop-product-price">\n'
                   '<span class="price">$72.00</span>\n'
                   '</div>\n'
                   '<div class="eshop-buttons">\n'
                   '<div class="eshop-cart-area">\n'
                   '<a class="btn btn-primary" '
                   'href="/discount-class-cards/4-class-card" title="4 Class '
                   'Card">View Details</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="eshop-product col-6 span4">\n'
                   '<div class="eshop-image-block">\n'
                   '<a href="/discount-class-cards/8-class-card">\n'
                   '<span class="product-image-2">\n'
                   '<img alt="8 Class Card (for couples only)" '
                   'src="/media/com_eshop/products/resized/Class-Card-8-100x100.jpg"/>\n'
                   '</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<div class="product-info-2">\n'
                   '<a href="/discount-class-cards/8-class-card" title="8 Class Card '
                   '(for couples only)">\n'
                   '\t\t8 Class Card (for couples only)\t</a>\n'
                   '<div class="eshop-product-price">\n'
                   '<span class="price">$136.00</span>\n'
                   '</div>\n'
                   '<div class="eshop-buttons">\n'
                   '<div class="eshop-cart-area">\n'
                   '<a class="btn btn-primary" '
                   'href="/discount-class-cards/8-class-card" title="8 Class Card '
                   '(for couples only)">View Details</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="eshop-product col-6 span4">\n'
                   '<div class="eshop-image-block">\n'
                   '<a href="/discount-class-cards/12-class-card">\n'
                   '<span class="product-image-2">\n'
                   '<img alt="12 Class Card (for couples only)" '
                   'src="/media/com_eshop/products/resized/Class-Card-12-100x100.jpg"/>\n'
                   '</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<div class="product-info-2">\n'
                   '<a href="/discount-class-cards/12-class-card" title="12 Class '
                   'Card (for couples only)">\n'
                   '\t\t12 Class Card (for couples only)\t</a>\n'
                   '<div class="eshop-product-price">\n'
                   '<span class="price">$192.00</span>\n'
                   '</div>\n'
                   '<div class="eshop-buttons">\n'
                   '<div class="eshop-cart-area">\n'
                   '<a class="btn btn-primary" '
                   'href="/discount-class-cards/12-class-card" title="12 Class Card '
                   '(for couples only)">View Details</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '</div></div></div>\n'
                   '<div class="accordion-group panel rl_sliders-group '
                   'nn_sliders-group icon">\n'
                   '<a class="anchor rl_sliders-scroll nn_sliders-scroll" '
                   'id="rl_sliders-scrollto_unemployment-discount"></a>\n'
                   '<div aria-controls="unemployment-discount" '
                   'class="accordion-heading panel-heading">\n'
                   '<a aria-expanded="false" class="accordion-toggle '
                   'rl_sliders-toggle nn_sliders-toggle collapsed" '
                   'data-id="unemployment-discount" data-parent="#set-rl_sliders-1" '
                   'data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct#unemployment-discount" '
                   'id="slider-unemployment-discount"><span '
                   'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> '
                   'Unemployment Discount</span></a>\n'
                   '</div>\n'
                   '<div aria-labelledby="slider-unemployment-discount" '
                   'class="accordion-body rl_sliders-body nn_sliders-body collapse" '
                   'id="unemployment-discount" role="region">\n'
                   '<div class="accordion-inner panel-body" hidden="hidden">\n'
                   '<h2 class="rl_sliders-title nn_sliders-title">Unemployment '
                   'Discount</h2>\n'
                   "<p>Being unemployed because of a bad economy shouldn't mean that "
                   "you lose your dance community. Good will goes a long way. We're "
                   'using it as much as possible.</p>\n'
                   '<p><a '
                   'href="/more/things-you-should-know/162-unemployment-discount" '
                   'title="Unemployment Discount for Norwalk, CT Hustle &amp; West '
                   'Coast Swing">Unemployment Discount</a>\xa0</p>\n'
                   '</div></div></div></div><!-- END: Sliders -->\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '<h2>Location\xa0</h2><h4>Dance Dimensions<br/>\n'
                   '15 Cross Street<br/>\n'
                   'Norwalk, CT<br/>\n'
                   '<div id="gmap" style="width:600px; height:300px;overflow:hidden '
                   '!important;"></div>\n'
                   '</h4><p></p><p><img alt="Dance Dimensions at 15 Cross Street, '
                   'Norwalk, CT" height="402" '
                   'src="/images/stories/locations/Dance-Dimensions/Dance-Dimensions-front.jpg" '
                   'style="display: block; margin-left: auto; margin-right: auto;" '
                   'width="600"/></p>\n'
                   '<p><img alt="20150203-Dance-Dimensions-New-Floor-110131-600px" '
                   'height="399" '
                   'src="/images/stories/locations/Dance-Dimensions/20150203-Dance-Dimensions-New-Floor-110131-600px.jpg" '
                   'style="display: block; margin-left: auto; margin-right: auto;" '
                   'width="600"/></p>\n'
                   '<h2>Important Location information:</h2>\n'
                   '<p>Dance Dimensions is located on Route-1 (Cross Street) in the '
                   'same shopping area as these other establishments: Brain Balance, '
                   'Dogs Gone Smart, and Goodwill.</p>\n'
                   '<h2 style="text-align: left;">Parking Area</h2>\n'
                   '<p>There is plenty of parking adjacent to Dance Dimensions. The '
                   'parking area is well lit and marked. Please park closer to the '
                   'entrance because that will place you closer to the studio '
                   'entrance.\xa0</p>\n'
                   '</div>\n'
                   '</div>'}
    • Head

      2026-06-16 16:21:29 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
      2026-06-16 16:21:29 [scrapy.utils.log] INFO: Versions:
      {'lxml': '6.0.2',
       'libxml2': '2.14.6',
       'cssselect': '1.3.0',
       'parsel': '1.10.0',
       'w3lib': '2.0.0',
       'Twisted': '25.5.0',
       'Python': '3.12.3 (main, Mar 23 2026, 19:04:32) [GCC 13.3.0]',
       'pyOpenSSL': '25.3.0 (OpenSSL 3.5.4 30 Sep 2025)',
       'cryptography': '46.0.3',
       'Platform': 'Linux-6.8.0-90-generic-x86_64-with-glibc2.39'}
      2026-06-16 16:21:29 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
      2026-06-16 16:21:29 [asyncio] DEBUG: Using selector: EpollSelector
      2026-06-16 16:21:29 [scrapy.addons] INFO: Enabled addons:
      []
      2026-06-16 16:21:31 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-06-16 16:21:31 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-06-16 16:21:31 [scrapy.extensions.telnet] INFO: Telnet Password: 6cef8928d48622e9
      2026-06-16 16:21:31 [scrapy.middleware] INFO: Enabled extensions:
      ['scrapy.extensions.corestats.CoreStats',
       'scrapy.extensions.logcount.LogCount',
       'scrapy.extensions.telnet.TelnetConsole',
       'scrapy.extensions.memusage.MemoryUsage',
       'scrapy.extensions.feedexport.FeedExporter',
       'scrapy.extensions.logstats.LogStats']
      2026-06-16 16:21:31 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'event_scrapers',
       'FEED_EXPORT_ENCODING': 'utf-8',
       'FEED_URI_PARAMS': <function _feed_uri_params at 0x71286a038400>,
       'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/swing_shoes/a824f60f698e11f199f70050565fa5d9.log',
       'NEWSPIDER_MODULE': 'event_scrapers.spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'SPIDER_MODULES': ['event_scrapers.spiders']}
      2026-06-16 16:21:31 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-06-16 16:21:31 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-06-16 16:21:31 [scrapy.middleware] INFO: Enabled downloader middlewares:
      ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware',
       'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
       'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
       'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
       'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
       'scrapy.downloadermiddlewares.retry.RetryMiddleware',
       'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
       'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
       'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPIDownloaderMiddleware',
       'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
       'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
       'scrapy.downloadermiddlewares.stats.DownloaderStats']
      2026-06-16 16:21:31 [scrapy.middleware] INFO: Enabled spider middlewares:
      ['scrapy.spidermiddlewares.start.StartSpiderMiddleware',
       'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPISpiderMiddleware',
       'scrapy.spidermiddlewares.referer.RefererMiddleware',
       'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
       'scrapy.spidermiddlewares.depth.DepthMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPIRefererSpiderMiddleware']
      2026-06-16 16:21:31 [scrapy.middleware] INFO: Enabled item pipelines:
      ['event_scrapers.pipelines.EventScrapersPipeline']
      2026-06-16 16:21:31 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:47: ScrapyDeprecationWarning: EventScrapersPipeline.process_item() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.process_item)
      
      2026-06-16 16:21:31 [scrapy.core.engine] INFO: Spider opened
      2026-06-16 16:21:31 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.swing_shoes.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-06-16 16:21:31 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-06-16 16:21:31 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-06-16 16:21:32 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar> (referer: None)
      2026-06-16 16:21:33 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://swingshoes.net/calendar/monthcalendar/2026/7>, 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-06-16 16:21:38 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/monthcalendar/2026/7> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/29> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/28> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/17> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/21> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/30> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/26> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/24> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.dupefilters] DEBUG: Filtered duplicate request: <GET https://swingshoes.net/calendar/eventdetail/1998/liberty-swing-2026> - no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicates)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/22> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/27> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/18> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/16> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/20> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/19> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:40 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/23> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:40 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/25> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/7/29> (referer: https://swingshoes.net/calendar/monthcalendar/2026/7)
      2026-06-16 16:21:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/7/31> (referer: https://swingshoes.net/calendar/monthcalendar/2026/7)
      2026-06-16 16:21:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/15> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:21:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/7/28> (referer: https://swingshoes.net/calendar/monthcalendar/2026/7)
      2026-06-16 16:21:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/7/30> (referer: https://swingshoes.net/calendar/monthcalendar/2026/7)
      2026-06-16 16:21:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventdetail/1998/liberty-swing-2026> (referer: https://swingshoes.net/calendar/eventsbyday/2026/6/28)
      2026-06-16 16:21:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/7/27> (referer: https://swingshoes.net/calendar/monthcalendar/2026/7)
      2026-06-16 16:21:43 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): 144.91.120.141:80
      2026-06-16 16:21:43 [urllib3.connectionpool] DEBUG: http://144.91.120.141:80 "POST /api/v1/raw-events/ HTTP/1.1" 500 145
      2026-06-16 16:21:43 [swing_shoes] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
    • Tail

                   'nn_sliders-group icon">\n'
                   '<a class="anchor rl_sliders-scroll nn_sliders-scroll" '
                   'id="rl_sliders-scrollto_purchase-class-card"></a>\n'
                   '<div aria-controls="purchase-class-card" '
                   'class="accordion-heading panel-heading">\n'
                   '<a aria-expanded="false" class="accordion-toggle '
                   'rl_sliders-toggle nn_sliders-toggle collapsed" '
                   'data-id="purchase-class-card" data-parent="#set-rl_sliders-1" '
                   'data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct#purchase-class-card" '
                   'id="slider-purchase-class-card"><span '
                   'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> '
                   'Purchase Class Card</span></a>\n'
                   '</div>\n'
                   '<div aria-labelledby="slider-purchase-class-card" '
                   'class="accordion-body rl_sliders-body nn_sliders-body collapse" '
                   'id="purchase-class-card" role="region">\n'
                   '<div class="accordion-inner panel-body" hidden="hidden">\n'
                   '<h2 class="rl_sliders-title nn_sliders-title">Purchase Class '
                   'Card</h2>\n'
                   '<!-- START: Modules Anywhere --><p style="color:white; '
                   'padding:20px; '
                   'background-color:deepskyblue;"><strong>Important:</strong> If '
                   'you are purchasing a class card AND checking in for class, '
                   'please a) purchase your class card first, then b) come back to '
                   'the event page to check-in using the "Class Card Check-In (for '
                   'students with an existing Class Card)" link. </p>\n'
                   '<div class="eshop-product">\n'
                   '<div class="row-fluid" id="products-list">\n'
                   '<div class="eshop-product col-6 span4">\n'
                   '<div class="eshop-image-block">\n'
                   '<a href="/discount-class-cards/4-class-card">\n'
                   '<span class="product-image-2">\n'
                   '<img alt="4 Class Card" '
                   'src="/media/com_eshop/products/resized/Class-Card-4-100x100.jpg"/>\n'
                   '</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<div class="product-info-2">\n'
                   '<a href="/discount-class-cards/4-class-card" title="4 Class '
                   'Card">\n'
                   '\t\t4 Class Card\t</a>\n'
                   '<div class="eshop-product-price">\n'
                   '<span class="price">$72.00</span>\n'
                   '</div>\n'
                   '<div class="eshop-buttons">\n'
                   '<div class="eshop-cart-area">\n'
                   '<a class="btn btn-primary" '
                   'href="/discount-class-cards/4-class-card" title="4 Class '
                   'Card">View Details</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="eshop-product col-6 span4">\n'
                   '<div class="eshop-image-block">\n'
                   '<a href="/discount-class-cards/8-class-card">\n'
                   '<span class="product-image-2">\n'
                   '<img alt="8 Class Card (for couples only)" '
                   'src="/media/com_eshop/products/resized/Class-Card-8-100x100.jpg"/>\n'
                   '</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<div class="product-info-2">\n'
                   '<a href="/discount-class-cards/8-class-card" title="8 Class Card '
                   '(for couples only)">\n'
                   '\t\t8 Class Card (for couples only)\t</a>\n'
                   '<div class="eshop-product-price">\n'
                   '<span class="price">$136.00</span>\n'
                   '</div>\n'
                   '<div class="eshop-buttons">\n'
                   '<div class="eshop-cart-area">\n'
                   '<a class="btn btn-primary" '
                   'href="/discount-class-cards/8-class-card" title="8 Class Card '
                   '(for couples only)">View Details</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<div class="eshop-product col-6 span4">\n'
                   '<div class="eshop-image-block">\n'
                   '<a href="/discount-class-cards/12-class-card">\n'
                   '<span class="product-image-2">\n'
                   '<img alt="12 Class Card (for couples only)" '
                   'src="/media/com_eshop/products/resized/Class-Card-12-100x100.jpg"/>\n'
                   '</span>\n'
                   '</a>\n'
                   '</div>\n'
                   '<div class="product-info-2">\n'
                   '<a href="/discount-class-cards/12-class-card" title="12 Class '
                   'Card (for couples only)">\n'
                   '\t\t12 Class Card (for couples only)\t</a>\n'
                   '<div class="eshop-product-price">\n'
                   '<span class="price">$192.00</span>\n'
                   '</div>\n'
                   '<div class="eshop-buttons">\n'
                   '<div class="eshop-cart-area">\n'
                   '<a class="btn btn-primary" '
                   'href="/discount-class-cards/12-class-card" title="12 Class Card '
                   '(for couples only)">View Details</a>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '</div></div></div>\n'
                   '<div class="accordion-group panel rl_sliders-group '
                   'nn_sliders-group icon">\n'
                   '<a class="anchor rl_sliders-scroll nn_sliders-scroll" '
                   'id="rl_sliders-scrollto_unemployment-discount"></a>\n'
                   '<div aria-controls="unemployment-discount" '
                   'class="accordion-heading panel-heading">\n'
                   '<a aria-expanded="false" class="accordion-toggle '
                   'rl_sliders-toggle nn_sliders-toggle collapsed" '
                   'data-id="unemployment-discount" data-parent="#set-rl_sliders-1" '
                   'data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2003/west-coast-swing-week-1-in-norwalk-ct#unemployment-discount" '
                   'id="slider-unemployment-discount"><span '
                   'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> '
                   'Unemployment Discount</span></a>\n'
                   '</div>\n'
                   '<div aria-labelledby="slider-unemployment-discount" '
                   'class="accordion-body rl_sliders-body nn_sliders-body collapse" '
                   'id="unemployment-discount" role="region">\n'
                   '<div class="accordion-inner panel-body" hidden="hidden">\n'
                   '<h2 class="rl_sliders-title nn_sliders-title">Unemployment '
                   'Discount</h2>\n'
                   "<p>Being unemployed because of a bad economy shouldn't mean that "
                   "you lose your dance community. Good will goes a long way. We're "
                   'using it as much as possible.</p>\n'
                   '<p><a '
                   'href="/more/things-you-should-know/162-unemployment-discount" '
                   'title="Unemployment Discount for Norwalk, CT Hustle &amp; West '
                   'Coast Swing">Unemployment Discount</a>\xa0</p>\n'
                   '</div></div></div></div><!-- END: Sliders -->\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '<h2>Location\xa0</h2><h4>Dance Dimensions<br/>\n'
                   '15 Cross Street<br/>\n'
                   'Norwalk, CT<br/>\n'
                   '<div id="gmap" style="width:600px; height:300px;overflow:hidden '
                   '!important;"></div>\n'
                   '</h4><p></p><p><img alt="Dance Dimensions at 15 Cross Street, '
                   'Norwalk, CT" height="402" '
                   'src="/images/stories/locations/Dance-Dimensions/Dance-Dimensions-front.jpg" '
                   'style="display: block; margin-left: auto; margin-right: auto;" '
                   'width="600"/></p>\n'
                   '<p><img alt="20150203-Dance-Dimensions-New-Floor-110131-600px" '
                   'height="399" '
                   'src="/images/stories/locations/Dance-Dimensions/20150203-Dance-Dimensions-New-Floor-110131-600px.jpg" '
                   'style="display: block; margin-left: auto; margin-right: auto;" '
                   'width="600"/></p>\n'
                   '<h2>Important Location information:</h2>\n'
                   '<p>Dance Dimensions is located on Route-1 (Cross Street) in the '
                   'same shopping area as these other establishments: Brain Balance, '
                   'Dogs Gone Smart, and Goodwill.</p>\n'
                   '<h2 style="text-align: left;">Parking Area</h2>\n'
                   '<p>There is plenty of parking adjacent to Dance Dimensions. The '
                   'parking area is well lit and marked. Please park closer to the '
                   'entrance because that will place you closer to the studio '
                   'entrance.\xa0</p>\n'
                   '</div>\n'
                   '</div>'}
      2026-06-16 16:23:26 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/7> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:23:26 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/9> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:23:26 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/1> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:23:26 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/6/2> (referer: https://swingshoes.net/calendar)
      2026-06-16 16:23:27 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-06-16 16:23:27 [scrapy.extensions.feedexport] INFO: Stored csv feed (38 items) in: output/2026/06/16/swing_shoes.csv
      2026-06-16 16:23:27 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 114320,
       'downloader/request_count': 291,
       'downloader/request_method_count/GET': 291,
       'downloader/response_bytes': 11153768,
       'downloader/response_count': 291,
       'downloader/response_status_count/200': 291,
       'dupefilter/filtered': 4,
       'elapsed_time_seconds': 115.562339,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 6, 16, 14, 23, 27, 1559, tzinfo=datetime.timezone.utc),
       'item_scraped_count': 38,
       'items_per_minute': 19.82608695652174,
       'log_count/DEBUG': 406,
       'log_count/ERROR': 17,
       'log_count/INFO': 4,
       'log_count/WARNING': 1,
       'memusage/max': 120401920,
       'memusage/startup': 92876800,
       'request_depth_max': 8,
       'response_received_count': 291,
       'responses_per_minute': 151.82608695652172,
       'scheduler/dequeued': 291,
       'scheduler/dequeued/memory': 291,
       'scheduler/enqueued': 291,
       'scheduler/enqueued/memory': 291,
       'start_time': datetime.datetime(2026, 6, 16, 14, 21, 31, 439220, tzinfo=datetime.timezone.utc)}
      2026-06-16 16:23:27 [scrapy.core.engine] INFO: Spider closed (finished)
    • Log

      /1/log/utf8/event_scrapers/swing_shoes/a824f60f698e11f199f70050565fa5d9/?job_finished=True

    • Source

      http://127.0.0.1:6800/logs/event_scrapers/swing_shoes/a824f60f698e11f199f70050565fa5d9.log

  • sourcelog
    last_update_time2026-06-16 16:23:27
    last_update_timestamp1781619807
    downloader/request_bytes114320
    downloader/request_count291
    downloader/request_method_count/GET291
    downloader/response_bytes11153768
    downloader/response_count291
    downloader/response_status_count/200291
    dupefilter/filtered4
    elapsed_time_seconds115.562339
    feedexport/success_count/FileFeedStorage1
    finish_reasonfinished
    finish_timedatetime.datetime(2026, 6, 16, 14, 23, 27, 1559, tzinfo=datetime.timezone.utc)
    item_scraped_count38
    items_per_minute19.82608695652174
    log_count/DEBUG406
    log_count/ERROR17
    log_count/INFO4
    log_count/WARNING1
    memusage/max120401920
    memusage/startup92876800
    request_depth_max8
    response_received_count291
    responses_per_minute151.82608695652172
    scheduler/dequeued291
    scheduler/dequeued/memory291
    scheduler/enqueued291
    scheduler/enqueued/memory291
    start_timedatetime.datetime(2026, 6, 16, 14, 21, 31, 439220, tzinfo=datetime.timezone.utc)