• '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
    joba74accce95e311f1a17a0050565fa5d9
    first_log_time2026-08-12 02:20:47
    latest_log_time2026-08-12 02:22:21
    runtime0:01:34
    crawled_pages 210
    scraped_items 27
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count1
    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/2047/west-coast-swing-week-2-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 2) in Norwalk, ' 'CT</strong><br/>\n' 'Thursday, August 13, 2026, 07:15pm - Thursday, August 13, 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 2 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>Class Policies</h2>\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">\n' '<a class="anchor rl_sliders-scroll nn_sliders-scroll" ' 'id="rl_sliders-scrollto_read-our-class-policies"></a>\n' '<div aria-controls="read-our-class-policies" ' 'class="accordion-heading panel-heading">\n' '<a aria-expanded="false" class="accordion-toggle ' 'rl_sliders-toggle nn_sliders-toggle collapsed" ' 'data-id="read-our-class-policies" ' 'data-parent="#set-rl_sliders-1" data-toggle="collapse" ' 'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-in-norwalk-ct#read-our-class-policies" ' 'id="slider-read-our-class-policies"><span ' 'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> Read ' 'our Class Policies</span></a>\n' '</div>\n' '<div aria-labelledby="slider-read-our-class-policies" ' 'class="accordion-body rl_sliders-body nn_sliders-body collapse" ' 'id="read-our-class-policies" role="region">\n' '<div class="accordion-inner panel-body" hidden="hidden">\n' '<h2 class="rl_sliders-title nn_sliders-title">Read our Class ' 'Policies</h2>\n' '<!-- START: Modules Anywhere -->\n' '<div class="custom">\n' '<p>By attending any of our classes/privates/events, you agree to ' 'the following policies:</p>\n' '<p><strong>Health</strong></p>\n' '<p><em>Common Sense Health</em>: If you are not feeling well, ' 'please do not come to dance class.</p>\n' '<p><em>Health Cooperation</em>: Students will cooperate with any ' 'health requests from Erik Novoa, a guest instructor, or staff ' '(e.g., using hand sanitizer, using a mask, stepping outside to ' 'address a health issue, etc.).</p>\n' '<p><strong>Photos and Videos\xa0</strong></p>\n' '<p>From time to time, photos or videos may be taken during ' 'classes, workshops, and social events. By attending or ' 'participating in our classes or events, you grant permission for ' 'images or recordings that include you to be used by our ' 'organization for promotional or marketing purposes. This may ' 'include use on websites, social media, and other promotional ' 'materials.</p>\n' '<p>Students may not take photos or videos during instructional ' 'time. However, students may take photos or videos during social ' 'dancing.</p>\n' '<p><strong>Physical-Contact Activity</strong></p>\n' '<p>Partner dancing involves physical interaction as a normal and ' 'necessary part of the learning process. By attending or ' 'participating in our classes or events, you acknowledge and ' 'understand that:</p>\n' '<ul>\n' '<li>Partner dancing involves reasonable and expected physical ' 'contact between dance partners.</li>\n' '<li>Instructors may use light physical contact when appropriate ' 'to demonstrate technique, provide guidance, or make ' 'instructional corrections consistent with the teaching of ' 'partner dance.</li>\n' '</ul>\n' '<p><strong>Assumption of Risk and Release</strong></p>\n' '<p>Participation in dance classes, lessons, and events involves ' 'physical activity and carries an inherent risk of injury. By ' 'attending or participating in our classes or events, students ' 'acknowledge these risks and agree to assume full responsibility ' 'for their participation and release and hold harmless the ' 'instructor, staff, and organizers from any claims or liability ' 'arising from participation in these activities.</p>\n' '<p><strong>Food and Drink</strong></p>\n' '<p>From time to time, food and beverages may be available at ' 'classes or events. Students are responsible for managing their ' 'own dietary needs and any food allergies or sensitivities.</p>\n' '<p>If alcoholic beverages are present at an event, students are ' 'expected to consume responsibly. Excessive drinking or behavior ' 'that becomes disruptive, unsafe, or inappropriate will not be ' 'permitted and may result in removal from the event.</p>\n' '<p><strong>Email Communications</strong></p>\n' '<p>By registering for our classes, lessons, or events, you ' 'consent to receive email communications from us, including ' 'announcements, schedule updates, and promotional information ' 'about upcoming classes and events. You may unsubscribe from ' 'marketing emails at any time by using the unsubscribe link ' 'included in our emails or by request.</p>\n' '<p>We respect your privacy and will not sell, rent, or share ' 'your email address with third parties for their marketing ' 'purposes.</p>\n' '<p><strong>Music Content</strong></p>\n' '<p>Music played at classes or events may occasionally contain ' 'explicit language or mature lyrical content. By attending, ' 'students acknowledge that such music may be used as part of the ' 'class or event experience.</p>\n' '<p><strong>Language and Maturity</strong></p>\n' '<p>Our classes and events are generally intended to maintain a ' 'PG-13 environment. However, occasional adult language may arise ' 'during instruction or conversation. While these are considered ' 'to be adult classes/events, bringing someone under 18 requires ' 'consent of the instructor.\xa0</p>\n' '<p><strong>Student Safety</strong></p>\n' '<p>If at any time a student feels unsafe or uncomfortable during ' 'class or an event, they are encouraged to contact the instructor ' 'privately outside of class so the situation can be addressed ' 'promptly.</p>\n' '<p><strong>Conduct</strong></p>\n' '<p>We reserve the right to refuse service or remove any ' 'participant whose behavior is disruptive, unsafe, or ' 'disrespectful to instructors or other students or for any reason ' 'deemed necessary by the instructor.\xa0</p>\n' '<p>Updated 3/20/26</p>\n' '</div>\n' '<!-- END: Modules Anywhere -->\n' '</div>\n' '</div>\n' '</div>\n' '</div>\n' '<!-- END: Sliders -->\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-2" role="presentation"><a class="anchor ' 'rl_sliders-scroll nn_sliders-scroll" ' 'id="rl_sliders-scrollto_2"></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-2" data-toggle="collapse" ' 'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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' '<p>Please check-in for class within 72 hours of class. The ideal ' 'period is Monday to Thursday at 12pm.\xa0</p>\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-2" data-toggle="collapse" ' 'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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.\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-2" ' 'data-toggle="collapse" ' 'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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-2" ' 'data-toggle="collapse" ' 'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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
      1 in total

      2026-08-12 02:22:20 [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-08-12 02:20:48 [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-12 02:20:48 [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-12 02:20:48 [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-08-12 02:20:49 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://swingshoes.net/calendar/monthcalendar/2026/9>, 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

      dce2445ef760b299
    • latest_duplicate

      2026-08-12 02:21:43 [scrapy.dupefilters] DEBUG: Filtered duplicate request: <GET https://swingshoes.net/calendar/eventdetail/2015/northeast-swing-classic-2026> - no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicates)
    • latest_crawl

      2026-08-12 02:22:20 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-in-norwalk-ct> (referer: https://swingshoes.net/calendar/eventsbyday/2026/8/13)
    • latest_stat

      2026-08-12 02:21:48 [scrapy.extensions.logstats] INFO: Crawled 132 pages (at 132 pages/min), scraped 14 items (at 14 items/min)
    • latest_scrape

      2026-08-12 02:22:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-in-norwalk-ct>
    • latest_item

      {'event_url': 'https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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 2) in Norwalk, '
                   'CT</strong><br/>\n'
                   'Thursday, August 13, 2026, 07:15pm - Thursday, August 13, 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 2 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>Class Policies</h2>\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">\n'
                   '<a class="anchor rl_sliders-scroll nn_sliders-scroll" '
                   'id="rl_sliders-scrollto_read-our-class-policies"></a>\n'
                   '<div aria-controls="read-our-class-policies" '
                   'class="accordion-heading panel-heading">\n'
                   '<a aria-expanded="false" class="accordion-toggle '
                   'rl_sliders-toggle nn_sliders-toggle collapsed" '
                   'data-id="read-our-class-policies" '
                   'data-parent="#set-rl_sliders-1" data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-in-norwalk-ct#read-our-class-policies" '
                   'id="slider-read-our-class-policies"><span '
                   'class="rl_sliders-toggle-inner nn_sliders-toggle-inner"> Read '
                   'our Class Policies</span></a>\n'
                   '</div>\n'
                   '<div aria-labelledby="slider-read-our-class-policies" '
                   'class="accordion-body rl_sliders-body nn_sliders-body collapse" '
                   'id="read-our-class-policies" role="region">\n'
                   '<div class="accordion-inner panel-body" hidden="hidden">\n'
                   '<h2 class="rl_sliders-title nn_sliders-title">Read our Class '
                   'Policies</h2>\n'
                   '<!-- START: Modules Anywhere -->\n'
                   '<div class="custom">\n'
                   '<p>By attending any of our classes/privates/events, you agree to '
                   'the following policies:</p>\n'
                   '<p><strong>Health</strong></p>\n'
                   '<p><em>Common Sense Health</em>: If you are not feeling well, '
                   'please do not come to dance class.</p>\n'
                   '<p><em>Health Cooperation</em>: Students will cooperate with any '
                   'health requests from Erik Novoa, a guest instructor, or staff '
                   '(e.g., using hand sanitizer, using a mask, stepping outside to '
                   'address a health issue, etc.).</p>\n'
                   '<p><strong>Photos and Videos\xa0</strong></p>\n'
                   '<p>From time to time, photos or videos may be taken during '
                   'classes, workshops, and social events. By attending or '
                   'participating in our classes or events, you grant permission for '
                   'images or recordings that include you to be used by our '
                   'organization for promotional or marketing purposes. This may '
                   'include use on websites, social media, and other promotional '
                   'materials.</p>\n'
                   '<p>Students may not take photos or videos during instructional '
                   'time. However, students may take photos or videos during social '
                   'dancing.</p>\n'
                   '<p><strong>Physical-Contact Activity</strong></p>\n'
                   '<p>Partner dancing involves physical interaction as a normal and '
                   'necessary part of the learning process. By attending or '
                   'participating in our classes or events, you acknowledge and '
                   'understand that:</p>\n'
                   '<ul>\n'
                   '<li>Partner dancing involves reasonable and expected physical '
                   'contact between dance partners.</li>\n'
                   '<li>Instructors may use light physical contact when appropriate '
                   'to demonstrate technique, provide guidance, or make '
                   'instructional corrections consistent with the teaching of '
                   'partner dance.</li>\n'
                   '</ul>\n'
                   '<p><strong>Assumption of Risk and Release</strong></p>\n'
                   '<p>Participation in dance classes, lessons, and events involves '
                   'physical activity and carries an inherent risk of injury. By '
                   'attending or participating in our classes or events, students '
                   'acknowledge these risks and agree to assume full responsibility '
                   'for their participation and release and hold harmless the '
                   'instructor, staff, and organizers from any claims or liability '
                   'arising from participation in these activities.</p>\n'
                   '<p><strong>Food and Drink</strong></p>\n'
                   '<p>From time to time, food and beverages may be available at '
                   'classes or events. Students are responsible for managing their '
                   'own dietary needs and any food allergies or sensitivities.</p>\n'
                   '<p>If alcoholic beverages are present at an event, students are '
                   'expected to consume responsibly. Excessive drinking or behavior '
                   'that becomes disruptive, unsafe, or inappropriate will not be '
                   'permitted and may result in removal from the event.</p>\n'
                   '<p><strong>Email Communications</strong></p>\n'
                   '<p>By registering for our classes, lessons, or events, you '
                   'consent to receive email communications from us, including '
                   'announcements, schedule updates, and promotional information '
                   'about upcoming classes and events. You may unsubscribe from '
                   'marketing emails at any time by using the unsubscribe link '
                   'included in our emails or by request.</p>\n'
                   '<p>We respect your privacy and will not sell, rent, or share '
                   'your email address with third parties for their marketing '
                   'purposes.</p>\n'
                   '<p><strong>Music Content</strong></p>\n'
                   '<p>Music played at classes or events may occasionally contain '
                   'explicit language or mature lyrical content. By attending, '
                   'students acknowledge that such music may be used as part of the '
                   'class or event experience.</p>\n'
                   '<p><strong>Language and Maturity</strong></p>\n'
                   '<p>Our classes and events are generally intended to maintain a '
                   'PG-13 environment. However, occasional adult language may arise '
                   'during instruction or conversation. While these are considered '
                   'to be adult classes/events, bringing someone under 18 requires '
                   'consent of the instructor.\xa0</p>\n'
                   '<p><strong>Student Safety</strong></p>\n'
                   '<p>If at any time a student feels unsafe or uncomfortable during '
                   'class or an event, they are encouraged to contact the instructor '
                   'privately outside of class so the situation can be addressed '
                   'promptly.</p>\n'
                   '<p><strong>Conduct</strong></p>\n'
                   '<p>We reserve the right to refuse service or remove any '
                   'participant whose behavior is disruptive, unsafe, or '
                   'disrespectful to instructors or other students or for any reason '
                   'deemed necessary by the instructor.\xa0</p>\n'
                   '<p>Updated 3/20/26</p>\n'
                   '</div>\n'
                   '<!-- END: Modules Anywhere -->\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '</div>\n'
                   '<!-- END: Sliders -->\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-2" role="presentation"><a class="anchor '
                   'rl_sliders-scroll nn_sliders-scroll" '
                   'id="rl_sliders-scrollto_2"></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-2" data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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'
                   '<p>Please check-in for class within 72 hours of class. The ideal '
                   'period is Monday to Thursday at 12pm.\xa0</p>\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-2" data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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.\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-2" '
                   'data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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-2" '
                   'data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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-08-12 02:20:47 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
      2026-08-12 02:20:47 [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-12 02:20:47 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
      2026-08-12 02:20:47 [asyncio] DEBUG: Using selector: EpollSelector
      2026-08-12 02:20:47 [scrapy.addons] INFO: Enabled addons:
      []
      2026-08-12 02:20:47 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-08-12 02:20:47 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-08-12 02:20:47 [scrapy.extensions.telnet] INFO: Telnet Password: dce2445ef760b299
      2026-08-12 02:20:47 [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-12 02:20:47 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'event_scrapers',
       'FEED_EXPORT_ENCODING': 'utf-8',
       'FEED_URI_PARAMS': <function _feed_uri_params at 0x7ae6afe47380>,
       'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/swing_shoes/a74accce95e311f1a17a0050565fa5d9.log',
       'NEWSPIDER_MODULE': 'event_scrapers.spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'SPIDER_MODULES': ['event_scrapers.spiders']}
      2026-08-12 02:20:47 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-12 02:20:47 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-12 02:20:47 [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-12 02:20:48 [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-12 02:20:48 [scrapy.middleware] INFO: Enabled item pipelines:
      ['event_scrapers.pipelines.EventScrapersPipeline']
      2026-08-12 02:20:48 [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-12 02:20:48 [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-12 02:20:48 [scrapy.core.engine] INFO: Spider opened
      2026-08-12 02:20:48 [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-08-12 02:20:48 [swing_shoes] INFO: Sending scraped events to prod API
      2026-08-12 02:20:48 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-08-12 02:20:48 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-08-12 02:20:49 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar> (referer: None)
      2026-08-12 02:20:49 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://swingshoes.net/calendar/monthcalendar/2026/9>, 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-12 02:20:54 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/monthcalendar/2026/9> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/25> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/23> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/24> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/21> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/20> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:55 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/22> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/31> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/29> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/26> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/27> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/17> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/28> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/18> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:57 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/30> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:57 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/19> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:20:59 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/9/28> (referer: https://swingshoes.net/calendar/monthcalendar/2026/9)
      2026-08-12 02:20:59 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/9/30> (referer: https://swingshoes.net/calendar/monthcalendar/2026/9)
      2026-08-12 02:20:59 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/9/29> (referer: https://swingshoes.net/calendar/monthcalendar/2026/9)
      2026-08-12 02:20:59 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventdetail/2030/monday-private-lessons-in-norwalk-ct> (referer: https://swingshoes.net/calendar/eventsbyday/2026/8/24)
      2026-08-12 02:20:59 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/9/27> (referer: https://swingshoes.net/calendar/monthcalendar/2026/9)
      2026-08-12 02:20:59 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventsbyday/2026/8/16> (referer: https://swingshoes.net/calendar)
      2026-08-12 02:21:00 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://swingshoes.net/calendar/eventdetail/2048/west-coast-swing-week-3-in-norwalk-ct> (referer: https://swingshoes.net/calendar/eventsbyday/2026/8/20)
      2026-08-12 02:21:00 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-12 02:21:00 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 23812
    • Tail

                   '</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-2" '
                   'data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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-2" '
                   'data-toggle="collapse" '
                   'href="https://swingshoes.net/calendar/eventdetail/2047/west-coast-swing-week-2-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-08-12 02:22:21 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-08-12 02:22:21 [scrapy.extensions.feedexport] INFO: Stored csv feed (27 items) in: output/2026/08/12/swing_shoes.csv
      2026-08-12 02:22:21 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 82383,
       'downloader/request_count': 210,
       'downloader/request_method_count/GET': 210,
       'downloader/response_bytes': 6990125,
       'downloader/response_count': 210,
       'downloader/response_status_count/200': 210,
       'dupefilter/filtered': 2,
       'elapsed_time_seconds': 92.984751,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 8, 12, 0, 22, 21, 1811, tzinfo=datetime.timezone.utc),
       'item_scraped_count': 27,
       'items_per_minute': 17.60869565217391,
       'log_count/DEBUG': 292,
       'log_count/ERROR': 1,
       'log_count/INFO': 4,
       'log_count/WARNING': 1,
       'memusage/max': 125988864,
       'memusage/startup': 99381248,
       'request_depth_max': 6,
       'response_received_count': 210,
       'responses_per_minute': 136.95652173913044,
       'scheduler/dequeued': 210,
       'scheduler/dequeued/memory': 210,
       'scheduler/enqueued': 210,
       'scheduler/enqueued/memory': 210,
       'start_time': datetime.datetime(2026, 8, 12, 0, 20, 48, 17060, tzinfo=datetime.timezone.utc)}
      2026-08-12 02:22:21 [scrapy.core.engine] INFO: Spider closed (finished)
    • Log

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

    • Source

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

  • sourcelog
    last_update_time2026-08-12 02:22:21
    last_update_timestamp1786494141
    downloader/request_bytes82383
    downloader/request_count210
    downloader/request_method_count/GET210
    downloader/response_bytes6990125
    downloader/response_count210
    downloader/response_status_count/200210
    dupefilter/filtered2
    elapsed_time_seconds92.984751
    feedexport/success_count/FileFeedStorage1
    finish_reasonfinished
    finish_timedatetime.datetime(2026, 8, 12, 0, 22, 21, 1811, tzinfo=datetime.timezone.utc)
    item_scraped_count27
    items_per_minute17.60869565217391
    log_count/DEBUG292
    log_count/ERROR1
    log_count/INFO4
    log_count/WARNING1
    memusage/max125988864
    memusage/startup99381248
    request_depth_max6
    response_received_count210
    responses_per_minute136.95652173913044
    scheduler/dequeued210
    scheduler/dequeued/memory210
    scheduler/enqueued210
    scheduler/enqueued/memory210
    start_timedatetime.datetime(2026, 8, 12, 0, 20, 48, 17060, tzinfo=datetime.timezone.utc)