• '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 (west_port_community_theatre)

  • Log analysis
  • Log categorization
  • View log
  • Crawler.stats
  • projectevent_scrapers
    spiderwest_port_community_theatre
    joba3b657a5699c11f19cc80050565fa5d9
    first_log_time2026-06-16 18:01:34
    latest_log_time2026-06-16 18:01:37
    runtime0:00:03
    crawled_pages 1
    scraped_items 1
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count0
    log_warning_count2
    log_redirect_count0
    log_retry_count0
    log_ignore_count0
    latest_crawl
    latest_scrape
    latest_log
    current_time
    latest_item{'event_url': 'https://westportcommunitytheatre.com/reserve-tickets/', 'platform': 'West port Community Theatre', 'platform_hash': 'd9a32b98edbc539c59d55da42235e7ce', 'raw_body': '<article id="post-739" class="post-739 page type-page ' 'status-publish hentry">\n' '\t\t\t\t\t<header class="entry-header">\n' '\t\t\t\t\t\t\n' '\t\t\t\t\t\t<h1 class="entry-title">Reserve Tickets</h1>\n' '\t\t\t\t\t</header><!-- .entry-header -->\n' '\n' '\t\t\t\t\t<div class="entry-content">\n' '\t\t\t\t\t\t\n' '<p class="wp-block-paragraph"><strong><em>\xa0</em>SINGLE TICKET ' 'PRICE: $30.00</strong></p>\n' '\n' '\n' '\n' '<p class="wp-block-paragraph"><strong>CURTAIN TIME:\xa0 Evenings ' '– 7:30 PM</strong> | <strong>Sunday matinee – 2:00 ' 'PM</strong></p>\n' '\n' '\n' '\n' '<p class="wp-block-paragraph">Reservations for our main stage ' 'productions should be made <strong><span style="text-decoration: ' 'underline;">at least 2 hours</span></strong> prior to ' 'performance time.</p>\n' '\n' '\n' '\n' '<h3 class="wp-block-heading">TO RESERVE TICKETS:</h3>\n' '\n' '\n' '\n' '<h3 class="wp-block-heading">CALL THE BOX OFFICE: (203) ' '226-1983</h3>\n' '\n' '\n' '\n' '<p class="wp-block-paragraph"><strong>OR USE THE RESERVATION ' 'FORM BELOW.</strong></p>\n' '\n' '\n' '\n' '<p class="wp-block-paragraph"><em><strong>The ' 'Matchmaker</strong></em> by Thornton Wilder</p>\n' '\n' '\n' '\n' '<p class="wp-block-paragraph">Directed by Mark ' 'Frattaroli<br>Runs three weekends: <strong> June 12 – 28, ' '2026</strong></p>\n' '\n' '\n' '\n' ' <div class="gf_browser_chrome gform_wrapper ' 'gform-theme gform-theme--foundation gform-theme--framework ' 'gform-theme--orbital" data-form-theme="orbital" ' 'data-form-index="0" id="gform_wrapper_5" ' 'style="display:none"><script>\n' "\t\t\tif ( typeof gform !== 'undefined' ) {\n" '\t\t\t\tgform.extensions = gform.extensions || {};\n' '\t\t\t\tgform.extensions.styles = gform.extensions.styles || ' '{};\n' '\t\t\t\tgform.extensions.styles.gravityformssquare = ' 'gform.extensions.styles.gravityformssquare || {};\n' '\t\t\t\tgform.extensions.styles.gravityformssquare[5] = ' 'gform.extensions.styles.gravityformssquare[5] || {};\n' '\t\t\t\tgform.extensions.styles.gravityformssquare[5][0] = ' '{".input-container":{"borderColor":"--gf-ctrl-border-color","borderRadius":"--gf-ctrl-radius","borderWidth":"--gf-ctrl-border-width"},".input-container.is-error":{"borderColor":"--gf-ctrl-border-color-error","borderWidth":"--gf-ctrl-border-width"},".input-container.is-focus":{"borderColor":"--gf-ctrl-border-color-focus","borderWidth":"--gf-ctrl-border-width"},".message-icon":{"color":"--gf-ctrl-desc-color"},".message-icon.is-error":{"color":"--gf-ctrl-desc-color-error"},".message-text":{"color":"--gf-ctrl-desc-color"},".message-text.is-error":{"color":"--gf-ctrl-desc-color-error"},"input":{"backgroundColor":"--gf-ctrl-bg-color","color":"--gf-ctrl-color","fontSize":"--gf-ctrl-font-size","fontWeight":"--gf-ctrl-font-weight"},"input::placeholder":{"color":"--gf-ctrl-placeholder-color"},"input.is-error":{"color":"--gf-ctrl-color"},"input.is-focus":{"backgroundColor":"--gf-ctrl-bg-color-focus","color":"--gf-ctrl-color-focus","fontSize":"--gf-ctrl-font-size","fontWeight":"--gf-ctrl-font-weight"}};\n' '\t\t\t}\n' '</script>\n' '<style>#gform_wrapper_5[data-form-index="0"].gform-theme,[data-parent-form="5_0"]{--gf-color-primary: ' '#204ce5;--gf-color-primary-rgb: 32, 76, ' '229;--gf-color-primary-contrast: ' '#fff;--gf-color-primary-contrast-rgb: 255, 255, ' '255;--gf-color-primary-darker: ' '#001AB3;--gf-color-primary-lighter: ' '#527EFF;--gf-color-secondary: #fff;--gf-color-secondary-rgb: ' '255, 255, 255;--gf-color-secondary-contrast: ' '#112337;--gf-color-secondary-contrast-rgb: 17, 35, ' '55;--gf-color-secondary-darker: ' '#F5F5F5;--gf-color-secondary-lighter: ' '#FFFFFF;--gf-color-out-ctrl-light: rgba(17, 35, 55, ' '0.1);--gf-color-out-ctrl-light-rgb: 17, 35, ' '55;--gf-color-out-ctrl-light-darker: rgba(104, 110, 119, ' '0.35);--gf-color-out-ctrl-light-lighter: ' '#F5F5F5;--gf-color-out-ctrl-dark: ' '#585e6a;--gf-color-out-ctrl-dark-rgb: 88, 94, ' '106;--gf-color-out-ctrl-dark-darker: ' '#112337;--gf-color-out-ctrl-dark-lighter: rgba(17, 35, 55, ' '0.65);--gf-color-in-ctrl: #fff;--gf-color-in-ctrl-rgb: 255, 255, ' '255;--gf-color-in-ctrl-contrast: ' '#112337;--gf-color-in-ctrl-contrast-rgb: 17, 35, ' '55;--gf-color-in-ctrl-darker: ' '#F5F5F5;--gf-color-in-ctrl-lighter: ' '#FFFFFF;--gf-color-in-ctrl-primary: ' '#204ce5;--gf-color-in-ctrl-primary-rgb: 32, 76, ' '229;--gf-color-in-ctrl-primary-contrast: ' '#fff;--gf-color-in-ctrl-primary-contrast-rgb: 255, 255, ' '255;--gf-color-in-ctrl-primary-darker: ' '#001AB3;--gf-color-in-ctrl-primary-lighter: ' '#527EFF;--gf-color-in-ctrl-light: rgba(17, 35, 55, ' '0.1);--gf-color-in-ctrl-light-rgb: 17, 35, ' '55;--gf-color-in-ctrl-light-darker: rgba(104, 110, 119, ' '0.35);--gf-color-in-ctrl-light-lighter: ' '#F5F5F5;--gf-color-in-ctrl-dark: ' '#585e6a;--gf-color-in-ctrl-dark-rgb: 88, 94, ' '106;--gf-color-in-ctrl-dark-darker: ' '#112337;--gf-color-in-ctrl-dark-lighter: rgba(17, 35, 55, ' '0.65);--gf-radius: 3px;--gf-font-size-secondary: ' '14px;--gf-font-size-tertiary: 13px;--gf-icon-ctrl-number: ' 'url("data:image/svg+xml,%3Csvg width=\'8\' height=\'14\' ' "viewBox='0 0 8 14' fill='none' " "xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' " "clip-rule='evenodd' d='M4 0C4.26522 5.96046e-08 4.51957 0.105357 " '4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 ' '7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 ' '4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 ' '5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 ' '0.292893 3.29289L3.29289 0.292893C3.48043 0.105357 3.73478 0 4 ' '0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 ' '9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 ' '8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 ' '10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 ' '13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 ' "0.292893 9.29289Z' fill='rgba(17, 35, 55, " '0.65)\'/%3E%3C/svg%3E");--gf-icon-ctrl-select: ' 'url("data:image/svg+xml,%3Csvg width=\'10\' height=\'6\' ' "viewBox='0 0 10 6' fill='none' " "xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' " "clip-rule='evenodd' d='M0.292893 0.292893C0.683417 -0.097631 " '1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 ' '0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 ' '0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 ' '1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 ' '5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 ' "0.292893 0.292893Z' fill='rgba(17, 35, 55, " '0.65)\'/%3E%3C/svg%3E");--gf-icon-ctrl-search: ' 'url("data:image/svg+xml,%3Csvg width=\'640\' height=\'640\' ' "xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M256 128c-70.692 " '0-128 57.308-128 128 0 70.691 57.308 128 128 128 70.691 0 ' '128-57.309 128-128 0-70.692-57.309-128-128-128zM64 256c0-106.039 ' '85.961-192 192-192s192 85.961 192 192c0 41.466-13.146 ' '79.863-35.498 111.248l154.125 154.125c12.496 12.496 12.496 ' '32.758 0 45.254s-32.758 12.496-45.254 0L367.248 412.502C335.862 ' "434.854 297.467 448 256 448c-106.039 0-192-85.962-192-192z' " "fill='rgba(17, 35, 55, " '0.65)\'/%3E%3C/svg%3E");--gf-label-space-y-secondary: ' 'var(--gf-label-space-y-md-secondary);--gf-ctrl-border-color: ' '#686e77;--gf-ctrl-size: ' 'var(--gf-ctrl-size-md);--gf-ctrl-label-color-primary: ' '#112337;--gf-ctrl-label-color-secondary: ' '#112337;--gf-ctrl-choice-size: ' 'var(--gf-ctrl-choice-size-md);--gf-ctrl-checkbox-check-size: ' 'var(--gf-ctrl-checkbox-check-size-md);--gf-ctrl-radio-check-size: ' 'var(--gf-ctrl-radio-check-size-md);--gf-ctrl-btn-font-size: ' 'var(--gf-ctrl-btn-font-size-md);--gf-ctrl-btn-padding-x: ' 'var(--gf-ctrl-btn-padding-x-md);--gf-ctrl-btn-size: ' 'var(--gf-ctrl-btn-size-md);--gf-ctrl-btn-border-color-secondary: ' '#686e77;--gf-ctrl-file-btn-bg-color-hover: ' '#EBEBEB;--gf-field-img-choice-size: ' 'var(--gf-field-img-choice-size-md);--gf-field-img-choice-card-space: ' 'var(--gf-field-img-choice-card-space-md);--gf-field-img-choice-check-ind-size: ' 'var(--gf-field-img-choice-check-ind-size-md);--gf-field-img-choice-check-ind-icon-size: ' 'var(--gf-field-img-choice-check-ind-icon-size-md);--gf-field-pg-steps-number-color: ' 'rgba(17, 35, 55, 0.8);}</style><form method="post" ' 'enctype="multipart/form-data" id="gform_5" ' 'action="/reserve-tickets/" data-formid="5" novalidate>\n' ' <div class="gform-body gform_body"><div ' 'id="gform_fields_5" class="gform_fields top_label ' 'form_sublabel_below description_below ' 'validation_below"><fieldset id="field_5_1" class="gfield ' 'gfield--type-name gfield--input-type-name ' 'gfield_contains_required field_sublabel_below ' 'gfield--no-description field_description_below ' 'field_validation_below gfield_visibility_visible"><legend ' 'class="gfield_label gform-field-label ' 'gfield_label_before_complex">Name<span ' 'class="gfield_required"><span class="gfield_required ' 'gfield_required_text">(Required)</span></span></legend><div ' 'class="ginput_complex ginput_container ginput_container--name ' 'no_prefix has_first_name no_middle_name has_last_name no_suffix ' 'gf_name_has_2 ginput_container_name gform-grid-row" ' 'id="input_5_1">\n' ' \n' ' <span id="input_5_1_3_container" ' 'class="name_first gform-grid-col gform-grid-col--size-auto">\n' ' <input ' 'type="text" name="input_1.3" id="input_5_1_3" value="" ' 'aria-required="true">\n' ' <label ' 'for="input_5_1_3" class="gform-field-label ' 'gform-field-label--type-sub ">First</label>\n' ' </span>\n' ' \n' ' <span id="input_5_1_6_container" ' 'class="name_last gform-grid-col gform-grid-col--size-auto">\n' ' <input ' 'type="text" name="input_1.6" id="input_5_1_6" value="" ' 'aria-required="true">\n' ' <label ' 'for="input_5_1_6" class="gform-field-label ' 'gform-field-label--type-sub ">Last</label>\n' ' </span>\n' ' \n' ' </div></fieldset><div id="field_5_3" ' 'class="gfield gfield--type-email gfield--input-type-email ' 'gfield_contains_required field_sublabel_below ' 'gfield--no-description field_description_below ' 'field_validation_below gfield_visibility_visible"><label ' 'class="gfield_label gform-field-label" ' 'for="input_5_3">Email<span class="gfield_required"><span ' 'class="gfield_required ' 'gfield_required_text">(Required)</span></span></label><div ' 'class="ginput_container ginput_container_email">\n' ' <input name="input_3" id="input_5_3" ' 'type="email" value="" class="medium" aria-required="true" ' 'aria-invalid="false">\n' ' </div></div><div id="field_5_4" ' 'class="gfield gfield--type-phone gfield--input-type-phone ' 'gfield_contains_required field_sublabel_below ' 'gfield--no-description field_description_below ' 'field_validation_below gfield_visibility_visible"><label ' 'class="gfield_label gform-field-label" ' 'for="input_5_4">Phone<span class="gfield_required"><span ' 'class="gfield_required ' 'gfield_required_text">(Required)</span></span></label><div ' 'class="ginput_container ginput_container_phone"><input ' 'name="input_4" id="input_5_4" type="tel" value="" class="medium" ' 'aria-required="true" aria-invalid="false"></div></div><fieldset ' 'id="field_5_13" class="gfield gfield--type-radio ' 'gfield--type-choice gfield--input-type-radio gfield--width-full ' 'gfield_contains_required field_sublabel_below ' 'gfield--no-description field_description_below ' 'field_validation_below gfield_visibility_visible"><legend ' 'class="gfield_label gform-field-label">I am purchasing<span ' 'class="gfield_required"><span class="gfield_required ' 'gfield_required_text">(Required)</span></span></legend><div ' 'class="ginput_container ginput_container_radio"><div ' 'class="gfield_radio" id="input_5_13">\n' '\t\t\t<div class="gchoice gchoice_5_13_0">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_13" ' 'type="radio" value="Standard tickets $30.00" id="choice_5_13_0" ' 'onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_13_0" id="label_5_13_0" ' 'class="gform-field-label ' 'gform-field-label--type-inline">Standard tickets $30.00</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_13_1">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_13" ' 'type="radio" value="Senior tickets $25.00" id="choice_5_13_1" ' 'onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_13_1" id="label_5_13_1" ' 'class="gform-field-label gform-field-label--type-inline">Senior ' 'tickets $25.00</label>\n' '\t\t\t</div></div></div></fieldset><fieldset id="field_5_10" ' 'class="gfield gfield--type-radio gfield--type-choice ' 'gfield--input-type-radio gfield--width-full ' 'gfield_contains_required field_sublabel_below ' 'gfield--no-description field_description_below ' 'field_validation_below gfield_visibility_visible"><legend ' 'class="gfield_label gform-field-label">When would you like to ' 'attend?<span class="gfield_required"><span ' 'class="gfield_required ' 'gfield_required_text">(Required)</span></span></legend><div ' 'class="ginput_container ginput_container_radio"><div ' 'class="gfield_radio" id="input_5_10">\n' '\t\t\t<div class="gchoice gchoice_5_10_0">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" ' 'type="radio" value="Friday, June 12 at 7:30 PM" ' 'id="choice_5_10_0" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_10_0" id="label_5_10_0" ' 'class="gform-field-label gform-field-label--type-inline">Friday, ' 'June 12 at 7:30 PM</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_10_1">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" ' 'type="radio" value="Saturday, June 13 at 7:30 PM" ' 'id="choice_5_10_1" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_10_1" id="label_5_10_1" ' 'class="gform-field-label ' 'gform-field-label--type-inline">Saturday, June 13 at 7:30 ' 'PM</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_10_2">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" ' 'type="radio" value="Sunday, June 14 at 2:00 PM" ' 'id="choice_5_10_2" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_10_2" id="label_5_10_2" ' 'class="gform-field-label gform-field-label--type-inline">Sunday, ' 'June 14 at 2:00 PM</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_10_3">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" ' 'type="radio" value="Thursday, June 18 at 7:30 PM" ' 'id="choice_5_10_3" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_10_3" id="label_5_10_3" ' 'class="gform-field-label ' 'gform-field-label--type-inline">Thursday, June 18 at 7:30 ' 'PM</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_10_4">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" ' 'type="radio" value="Friday, June 19 at 7:30 PM" ' 'id="choice_5_10_4" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_10_4" id="label_5_10_4" ' 'class="gform-field-label gform-field-label--type-inline">Friday, ' 'June 19 at 7:30 PM</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_10_5">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" ' 'type="radio" value="Saturday, June 20 at 7:30 PM" ' 'id="choice_5_10_5" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_10_5" id="label_5_10_5" ' 'class="gform-field-label ' 'gform-field-label--type-inline">Saturday, June 20 at 7:30 ' 'PM</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_10_6">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" ' 'type="radio" value="Sunday, June 21 at 2:00 PM" ' 'id="choice_5_10_6" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_10_6" id="label_5_10_6" ' 'class="gform-field-label gform-field-label--type-inline">Sunday, ' 'June 21 at 2:00 PM</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_10_7">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" ' 'type="radio" value="Friday, June 26 at 7:30 PM" ' 'id="choice_5_10_7" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_10_7" id="label_5_10_7" ' 'class="gform-field-label gform-field-label--type-inline">Friday, ' 'June 26 at 7:30 PM</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_10_8">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" ' 'type="radio" value="Saturday, June 27 at 7:30 PM" ' 'id="choice_5_10_8" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_10_8" id="label_5_10_8" ' 'class="gform-field-label ' 'gform-field-label--type-inline">Saturday, June 27 at 7:30 ' 'PM</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_10_9">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" ' 'type="radio" value="Sunday, June 28 at 2:00 PM" ' 'id="choice_5_10_9" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_10_9" id="label_5_10_9" ' 'class="gform-field-label gform-field-label--type-inline">Sunday, ' 'June 28 at 2:00 PM</label>\n' '\t\t\t</div></div></div></fieldset><div id="field_5_11" ' 'class="gfield gfield--type-product ' 'gfield--input-type-singleproduct gfield--width-full gfield_price ' 'gfield_price_5_11 gfield_product_5_11 gfield_contains_required ' 'field_sublabel_below gfield--no-description ' 'field_description_below field_validation_below ' 'gfield_visibility_visible"><label class="gfield_label ' 'gform-field-label gfield_label_before_complex" ' 'for="input_5_11_1"><span class="gform-field-label ' 'gfield_label_product">Standard Tickets</span> <span ' 'class="screen-reader-text">Quantity</span><span ' 'class="gfield_required"><span class="gfield_required ' 'gfield_required_text">(Required)</span></span></label><div ' 'class="ginput_container ginput_container_singleproduct">\n' '\t\t\t\t\t<input type="hidden" name="input_11.1" value="Standard ' 'Tickets" class="gform_hidden">\n' '\t\t\t\t\t<div id="ginput_product_price_5_11" ' 'class="ginput_product_price_wrapper">\n' '\t\t\t\t\t\t<span class="gform-field-label ' 'gform-field-label--type-sub-large ' 'ginput_product_price_label">Price:</span>\n' '\t\t\t\t\t\t<span class="gform-field-label ' 'gform-field-label--type-sub-large ginput_product_price" ' 'id="input_5_11">$30.00</span>\n' '\t\t\t\t\t</div>\n' '\t\t\t\t\t<input type="hidden" name="input_11.2" ' 'id="ginput_base_price_5_11" class="gform_hidden" ' 'value="$30.00">\n' '\t\t\t\t\t <label for="ginput_quantity_5_11_1" ' 'class="ginput_quantity_label gform-field-label" ' 'aria-hidden="true">Quantity</label> <input type="number" ' 'name="input_11.3" value="" id="input_5_11_1" ' 'class="ginput_quantity" size="10" min="0" aria-label="Quantity ' 'Standard Tickets" aria-describedby="ginput_product_price_5_11">\n' '\t\t\t\t</div></div><div id="field_5_12" class="gfield ' 'gfield--type-product gfield--input-type-singleproduct ' 'gfield--width-full gfield_price gfield_price_5_12 ' 'gfield_product_5_12 gfield_contains_required ' 'field_sublabel_below gfield--no-description ' 'field_description_below field_validation_below ' 'gfield_visibility_visible"><label class="gfield_label ' 'gform-field-label gfield_label_before_complex" ' 'for="input_5_12_1"><span class="gform-field-label ' 'gfield_label_product">Senior Tickets</span> <span ' 'class="screen-reader-text">Quantity</span><span ' 'class="gfield_required"><span class="gfield_required ' 'gfield_required_text">(Required)</span></span></label><div ' 'class="ginput_container ginput_container_singleproduct">\n' '\t\t\t\t\t<input type="hidden" name="input_12.1" value="Senior ' 'Tickets" class="gform_hidden">\n' '\t\t\t\t\t<div id="ginput_product_price_5_12" ' 'class="ginput_product_price_wrapper">\n' '\t\t\t\t\t\t<span class="gform-field-label ' 'gform-field-label--type-sub-large ' 'ginput_product_price_label">Price:</span>\n' '\t\t\t\t\t\t<span class="gform-field-label ' 'gform-field-label--type-sub-large ginput_product_price" ' 'id="input_5_12">$25.00</span>\n' '\t\t\t\t\t</div>\n' '\t\t\t\t\t<input type="hidden" name="input_12.2" ' 'id="ginput_base_price_5_12" class="gform_hidden" ' 'value="$25.00">\n' '\t\t\t\t\t <label for="ginput_quantity_5_12_1" ' 'class="ginput_quantity_label gform-field-label" ' 'aria-hidden="true">Quantity</label> <input type="number" ' 'name="input_12.3" value="" id="input_5_12_1" ' 'class="ginput_quantity" size="10" min="0" aria-label="Quantity ' 'Senior Tickets" aria-describedby="ginput_product_price_5_12">\n' '\t\t\t\t</div></div><div id="field_5_17" class="gfield ' 'gfield--type-number gfield--input-type-number gfield--width-full ' 'field_sublabel_below gfield--has-description ' 'field_description_below field_validation_below ' 'gfield_visibility_visible"><label class="gfield_label ' 'gform-field-label" for="input_5_17">How many tickets would you ' 'like?</label><div class="ginput_container ' 'ginput_container_number"><input name="input_17" id="input_5_17" ' 'type="number" step="any" value="" class="small" ' 'aria-invalid="false" ' 'aria-describedby="gfield_description_5_17"></div><div ' 'class="gfield_description" id="gfield_description_5_17">This ' 'field only accepts numerals.</div></div><div id="field_5_8" ' 'class="gfield gfield--type-total gfield--input-type-total ' 'gfield_price gfield_price_5_ gfield_total gfield_total_5_ ' 'field_sublabel_below gfield--no-description ' 'field_description_below field_validation_below ' 'gfield_visibility_visible" aria-atomic="true" ' 'aria-live="polite"><label class="gfield_label gform-field-label" ' 'for="input_5_8">Total for this order</label><div ' 'class="ginput_container ginput_container_total">\n' '\t\t\t\t\t\t\t<input type="text" readonly name="input_8" ' 'id="input_5_8" value="$0.00" class="gform-text-input-reset ' 'ginput_total ginput_total_5">\n' '\t\t\t\t\t\t</div></div><fieldset id="field_5_15" class="gfield ' 'gfield--type-radio gfield--type-choice gfield--input-type-radio ' 'gfield--width-full gfield_contains_required field_sublabel_below ' 'gfield--no-description field_description_below ' 'field_validation_below gfield_visibility_visible"><legend ' 'class="gfield_label gform-field-label">Payment method<span ' 'class="gfield_required"><span class="gfield_required ' 'gfield_required_text">(Required)</span></span></legend><div ' 'class="ginput_container ginput_container_radio"><div ' 'class="gfield_radio" id="input_5_15">\n' '\t\t\t<div class="gchoice gchoice_5_15_0">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_15" ' 'type="radio" value="I would like to pay now with my credit card" ' 'id="choice_5_15_0" onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_15_0" id="label_5_15_0" ' 'class="gform-field-label gform-field-label--type-inline">I would ' 'like to pay now with my credit card</label>\n' '\t\t\t</div>\n' '\t\t\t<div class="gchoice gchoice_5_15_1">\n' '\t\t\t\t\t<input class="gfield-choice-input" name="input_15" ' 'type="radio" value="I would like to call the box office to ' 'complete my order" id="choice_5_15_1" ' 'onchange="gformToggleRadioOther( this )">\n' '\t\t\t\t\t<label for="choice_5_15_1" id="label_5_15_1" ' 'class="gform-field-label gform-field-label--type-inline">I would ' 'like to call the box office to complete my order</label>\n' '\t\t\t</div></div></div></fieldset><div id="field_5_16" ' 'class="gfield gfield--type-html gfield--input-type-html ' 'gfield--width-full gfield_html gfield_html_formatted ' 'gfield_no_follows_desc field_sublabel_below ' 'gfield--no-description field_description_below ' 'field_validation_below gfield_visibility_visible"><h4>Box ' 'office: (203) 226-1983</h4>\n' '<p>Reservations for our main stage productions should be made ' '<strong>at least 2 hours before performance time</strong>.</p>\n' '<p style="background-color: yellow;">Be sure to click the ' '<strong><em>Submit</em></strong> button below so the box office ' 'knows which performance you want to reserve.</p></div><fieldset ' 'id="field_5_9" class="gfield gfield--type-square_creditcard ' 'gfield--input-type-square_creditcard gfield_contains_required ' 'field_sublabel_below gfield--no-description ' 'field_description_below field_validation_below ' 'gfield_visibility_visible"><legend class="gfield_label ' 'gfield_label_before_complex gform-field-label">Credit Card<span ' 'class="gfield_required"><span class="gfield_required ' 'gfield_required_text">(Required)</span></span></legend><div ' 'class="ginput_complex ginput_container ' 'ginput_container_square_card gform-grid-row single-element" ' 'id="input_5_9">\n' '\t\t\t\t\t<div class="ginput_full gform-grid-col" ' 'id="input_5_9_1_container">\n' '\t\t\t\t\t\t<div class="sq-input-container ' 'sq-cardholder-container"><input class="sq-input" type="text" ' 'name="input_9.3" id="input_5_9_3" value="" ' 'placeholder="Cardholder Name"><label for="input_5_9_3" ' 'id="input_5_9_3_label" class="gform-field-label ' 'gform-field-label--type-sub">Cardholder Name</label></div>\n' '\t\t\t\t\t</div>\n' '\t\t\t\t\t<div class="ginput_full gform-grid-col" ' 'id="input_5_9_3_container">\n' '\t\t\t\t\t\t<div id="input_5_9_1" ' 'class="square-single-form"></div><label for="input_5_9_1" ' 'id="input_5_9_1_label" class="gform-field-label ' 'gform-field-label--type-sub">Card Details</label>\n' '\t\t\t\t\t</div>\n' '\t\t\t\t</div></fieldset><div id="field_5_14" class="gfield ' 'gfield--type-textarea gfield--input-type-textarea ' 'field_sublabel_below gfield--no-description ' 'field_description_below field_validation_below ' 'gfield_visibility_visible"><label class="gfield_label ' 'gform-field-label" for="input_5_14">Comments, questions or ' 'special requests</label><div class="ginput_container ' 'ginput_container_textarea"><textarea name="input_14" ' 'id="input_5_14" class="textarea large" aria-invalid="false" ' 'rows="10" cols="50"></textarea></div></div></div></div>\n' ' <div class="gform-footer gform_footer top_label"> <input ' 'type="submit" id="gform_submit_button_5" class="gform_button ' 'button" onclick="gform.submission.handleButtonClick(this);" ' 'data-submission-type="submit" value="Submit"> \n' ' <input type="hidden" class="gform_hidden" ' 'name="gform_submission_method" ' 'data-js="gform_submission_method_5" value="postback">\n' ' <input type="hidden" class="gform_hidden" ' 'name="gform_theme" data-js="gform_theme_5" id="gform_theme_5" ' 'value="orbital">\n' ' <input type="hidden" class="gform_hidden" ' 'name="gform_style_settings" data-js="gform_style_settings_5" ' 'id="gform_style_settings_5" ' 'value=\'{"inputPrimaryColor":"#204ce5"}\'>\n' ' <input type="hidden" class="gform_hidden" ' 'name="is_submit_5" value="1">\n' ' <input type="hidden" class="gform_hidden" ' 'name="gform_submit" value="5">\n' ' \n' ' <input type="hidden" class="gform_hidden" ' 'name="gform_currency" data-currency="USD" ' 'value="e0rcmqVscAtBmP2B+xHuaN7hWVU0TsFy071JjkV9LPGs2N3l2uP0EHWDlDeZc/Sr9eIRFctRW+c1zjUuEnuSNtpWi2W8zHaNZksMv4NvOjDyGfM=">\n' ' <input type="hidden" class="gform_hidden" ' 'name="gform_unique_id" value="">\n' ' <input type="hidden" class="gform_hidden" ' 'name="state_5" ' 'value="WyJ7XCIxM1wiOltcIjE4OTBhYjI5MTQ4YzExMTQ2MWMyYTA1ZDk4ZGE3MmM1XCIsXCI0Njk4NDJkODBlNGEzNTQzNjFmMzVkYWFmMDlkNDFlOVwiXSxcIjEwXCI6W1wiYjhmNGM4OGEwNWU4YjkyODFhOThkMTQ5MzQ0NTU1YzVcIixcIjU4ZDUzOWMxZGFjNzViNDc5ZGVkNDVjY2JiNWU4MzVjXCIsXCJmNGQ5Y2I3YjM3NjEzZWU0NTZmYjlkZWE2YWYxZTA0ZVwiLFwiMGE4ZjBiZWUzMTU2ZWVmODQzZGVmMWI5YWYyMjY4ODhcIixcImE0Y2U1MTRlYTMyZTc0Y2NjOGZjMTUxYTdlMzM3M2IyXCIsXCIxMTRjMDQ1OTM2NTI1NGJhMDE4YjcxMGI4NjU1YTg3MFwiLFwiMzU3YjI1ZTNiYzQwYTY1ZjBhNTU4ZDYyNDk1NjNmNDJcIixcIjQ1OWE3ZDJiY2Q3NTg5N2JjNjgwOTM0MzU5OGEyN2EyXCIsXCIxNGQ2NDViNzg0ODZlMDU5ZDUwY2NmODJiYTczODE5NVwiLFwiOTdjMWU2MzVhMjA2NjQ4YTIyYzBkZDU4MGM3NGIyNDRcIl0sXCIxMS4xXCI6XCI5NjdiNjY1MDQwMGJmZGFhYjIzYjI3YWE3ZWNjZjU1ZVwiLFwiMTEuMlwiOlwiN2QzMzQ1YjdkN2M2NTE1OWNiMjE1NTQ5YjJkYWNkODNcIixcIjEyLjFcIjpcIjMzYjJjOTlkMTZkODg4MTE2MTdkNDlkMjAxNDE4YzUzXCIsXCIxMi4yXCI6XCJiMDg4Mzk4ZWUzODIxYTYyMjA4OGVhZGU3MWMxZjVlZlwiLFwiMTVcIjpbXCIzMGRlMThiZGUyOGNjN2JiZGY5ZWZkNjE0NDNkYWMwMFwiLFwiYTQ1N2UwMGQwNjBjNDA1OTc1ZTNlNWJhZDU2OWQwNTBcIl19IiwiODFmYWUxOGFiNzE2ODU1YzNmMmRmZmI1MTU1N2U2OWMiXQ==">\n' ' <input type="hidden" autocomplete="off" ' 'class="gform_hidden" name="gform_target_page_number_5" ' 'id="gform_target_page_number_5" value="0">\n' ' <input type="hidden" autocomplete="off" ' 'class="gform_hidden" name="gform_source_page_number_5" ' 'id="gform_source_page_number_5" value="1">\n' ' <input type="hidden" name="gform_field_values" ' 'value="">\n' ' \n' ' </div>\n' ' <p style="display: none !important;" ' 'class="akismet-fields-container" ' 'data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" ' 'cols="45" rows="8" maxlength="100"></textarea></label><input ' 'type="hidden" id="ak_js_1" name="ak_js" value="178"><script>\n' 'document.getElementById( "ak_js_1" ).setAttribute( "value", ( ' 'new Date() ).getTime() );\n' '</script>\n' '</p></form>\n' ' </div><script>\n' 'gform.initializeOnLoaded( function() {gformInitSpinner( 5, ' "'https://westportcommunitytheatre.com/wp-content/plugins/gravityforms/images/spinner.svg', " "false );jQuery('#gform_ajax_frame_5').on('load',function(){var " "contents = jQuery(this).contents().find('*').html();var " "is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= " '0;if(!is_postback){return;}var form_content = ' "jQuery(this).contents().find('#gform_wrapper_5');var " 'is_confirmation = ' "jQuery(this).contents().find('#gform_confirmation_wrapper_5').length " "> 0;var is_redirect = contents.indexOf('gformRedirect(){') >= " '0;var is_form = form_content.length > 0 && ! is_redirect && ! ' 'is_confirmation;var mt = ' "parseInt(jQuery('html').css('margin-top'), 10) + " "parseInt(jQuery('body').css('margin-top'), 10) + " "100;if(is_form){form_content.find('form').css('opacity', " "0);jQuery('#gform_wrapper_5').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_5').addClass('gform_validation_error');} " 'else ' "{jQuery('#gform_wrapper_5').removeClass('gform_validation_error');}setTimeout( " 'function() { /* delay the scroll by 50 milliseconds to fix a bug ' "in chrome */ }, 50 );if(window['gformInitDatepicker']) " "{gformInitDatepicker();}if(window['gformInitPriceFields']) " '{gformInitPriceFields();}var current_page = ' "jQuery('#gform_source_page_number_5').val();gformInitSpinner( 5, " "'https://westportcommunitytheatre.com/wp-content/plugins/gravityforms/images/spinner.svg', " "false );jQuery(document).trigger('gform_page_loaded', [5, " "current_page]);window['gf_submitting_5'] = false;}else " 'if(!is_redirect){var confirmation_content = ' "jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content " '= ' "contents;}jQuery('#gform_wrapper_5').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', " "[5]);window['gf_submitting_5'] = " "false;wp.a11y.speak(jQuery('#gform_confirmation_message_5').text());}else{jQuery('#gform_5').append(contents);if(window['gformRedirect']) " '{gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", ' '[{ formId: "5", currentPage: "current_page", abort: function() { ' 'this.preventDefault(); } }]); if (event && ' 'event.defaultPrevented) { return; } ' 'const gformWrapperDiv = document.getElementById( ' '"gform_wrapper_5" ); if ( gformWrapperDiv ) { ' 'const visibilitySpan = document.createElement( "span" ' '); visibilitySpan.id = ' '"gform_visibility_test_5"; ' 'gformWrapperDiv.insertAdjacentElement( "afterend", ' 'visibilitySpan ); } const visibilityTestDiv = ' 'document.getElementById( "gform_visibility_test_5" ); let ' 'postRenderFired = false; function triggerPostRender() ' '{ if ( postRenderFired ) { ' 'return; } postRenderFired = ' 'true; gform.core.triggerPostRenderEvents( 5, ' 'current_page ); if ( visibilityTestDiv ) ' '{ visibilityTestDiv.parentNode.removeChild( ' 'visibilityTestDiv ); } } function ' 'debounce( func, wait, immediate ) { var ' 'timeout; return function() { var ' 'context = this, args = arguments; var later = ' 'function() { timeout = ' 'null; if ( !immediate ) func.apply( context, ' 'args ); }; var callNow = immediate ' '&& !timeout; clearTimeout( timeout ' '); timeout = setTimeout( later, wait ' '); if ( callNow ) func.apply( context, args ' '); }; } const ' 'debouncedTriggerPostRender = debounce( function() { ' 'triggerPostRender(); }, 200 ); if ( ' 'visibilityTestDiv && visibilityTestDiv.offsetParent === null ) ' '{ const observer = new MutationObserver( ( mutations ' ') => { mutations.forEach( ( mutation ) => ' "{ if ( mutation.type === 'attributes' && " 'visibilityTestDiv.offsetParent !== null ) ' '{ ' 'debouncedTriggerPostRender(); ' 'observer.disconnect(); } ' '}); }); observer.observe( document.body, ' '{ attributes: true, childList: ' 'false, subtree: true, ' "attributeFilter: [ 'style', 'class' ], }); } " 'else { triggerPostRender(); } } );} );\n' '</script>\n' '<div class="sharedaddy sd-sharing-enabled"><div ' 'class="robots-nocontent sd-block sd-social sd-social-icon ' 'sd-sharing"><h3 class="sd-title">Share this:</h3><div ' 'class="sd-content"><ul><li class="share-twitter"><a ' 'rel="nofollow noopener noreferrer" ' 'data-shared="sharing-twitter-739" class="share-twitter sd-button ' 'share-icon no-text" ' 'href="https://westportcommunitytheatre.com/reserve-tickets/?share=twitter" ' 'target="_blank" aria-labelledby="sharing-twitter-739">\n' '\t\t\t\t<span id="sharing-twitter-739" hidden>Share on X (Opens ' 'in new window)</span>\n' '\t\t\t\t<span>X</span>\n' '\t\t\t</a></li><li class="share-facebook"><a rel="nofollow ' 'noopener noreferrer" data-shared="sharing-facebook-739" ' 'class="share-facebook sd-button share-icon no-text" ' 'href="https://westportcommunitytheatre.com/reserve-tickets/?share=facebook" ' 'target="_blank" aria-labelledby="sharing-facebook-739">\n' '\t\t\t\t<span id="sharing-facebook-739" hidden>Share on Facebook ' '(Opens in new window)</span>\n' '\t\t\t\t<span>Facebook</span>\n' '\t\t\t</a></li><li class="share-pinterest"><a rel="nofollow ' 'noopener noreferrer" data-shared="sharing-pinterest-739" ' 'class="share-pinterest sd-button share-icon no-text" ' 'href="https://westportcommunitytheatre.com/reserve-tickets/?share=pinterest" ' 'target="_blank" aria-labelledby="sharing-pinterest-739">\n' '\t\t\t\t<span id="sharing-pinterest-739" hidden>Share on ' 'Pinterest (Opens in new window)</span>\n' '\t\t\t\t<span>Pinterest</span>\n' '\t\t\t</a></li><li class="share-reddit"><a rel="nofollow ' 'noopener noreferrer" data-shared="sharing-reddit-739" ' 'class="share-reddit sd-button share-icon no-text" ' 'href="https://westportcommunitytheatre.com/reserve-tickets/?share=reddit" ' 'target="_blank" aria-labelledby="sharing-reddit-739">\n' '\t\t\t\t<span id="sharing-reddit-739" hidden>Share on Reddit ' '(Opens in new window)</span>\n' '\t\t\t\t<span>Reddit</span>\n' '\t\t\t</a></li><li ' 'class="share-end"></ul></div></div></div>\t\t\t\t\t\t\t\t\t\t\t' '</div><!-- .entry-content -->\n' '\n' '\t\t\t\t\t<footer class="entry-meta">\n' '\t\t\t\t\t\t\t\t\t\t\t</footer><!-- .entry-meta -->\n' '\t\t\t\t</article>'}
    • WARNING+

    • warning_logs
      2 in total

      2026-06-16 18:01:34 [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 18:01:34 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.west_port_community_theatre.WestPortCommunityTheatreSpider defines the deprecated start_requests() method. start_requests() has been deprecated in favor of a new method, start(), to support asynchronous code execution. start_requests() will stop being called in a future version of Scrapy. If you use Scrapy 2.13 or higher only, replace start_requests() with start(); note that start() is a coroutine (async def). If you need to maintain compatibility with lower Scrapy versions, when overriding start_requests() in a spider class, override start() as well; you can use super() to reuse the inherited start() implementation without copy-pasting. See the release notes of Scrapy 2.13 for details: https://docs.scrapy.org/en/2.13/news.html
        warn(
      

      INFO

      DEBUG

    • scrapy_version

      2.14.1
    • telnet_console

      127.0.0.1:6023
    • telnet_password

      8e61330a88eb96a9
    • latest_crawl

      2026-06-16 18:01:37 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportcommunitytheatre.com/reserve-tickets/> (referer: https://westportcommunitytheatre.com/)
    • latest_stat

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

      2026-06-16 18:01:37 [scrapy.core.scraper] DEBUG: Scraped from <200 https://westportcommunitytheatre.com/reserve-tickets/>
    • latest_item

      {'event_url': 'https://westportcommunitytheatre.com/reserve-tickets/',
       'platform': 'West port Community Theatre',
       'platform_hash': 'd9a32b98edbc539c59d55da42235e7ce',
       'raw_body': '<article id="post-739" class="post-739 page type-page '
                   'status-publish hentry">\n'
                   '\t\t\t\t\t<header class="entry-header">\n'
                   '\t\t\t\t\t\t\n'
                   '\t\t\t\t\t\t<h1 class="entry-title">Reserve Tickets</h1>\n'
                   '\t\t\t\t\t</header><!-- .entry-header -->\n'
                   '\n'
                   '\t\t\t\t\t<div class="entry-content">\n'
                   '\t\t\t\t\t\t\n'
                   '<p class="wp-block-paragraph"><strong><em>\xa0</em>SINGLE TICKET '
                   'PRICE: $30.00</strong></p>\n'
                   '\n'
                   '\n'
                   '\n'
                   '<p class="wp-block-paragraph"><strong>CURTAIN TIME:\xa0 Evenings '
                   '– 7:30 PM</strong> | <strong>Sunday matinee – 2:00 '
                   'PM</strong></p>\n'
                   '\n'
                   '\n'
                   '\n'
                   '<p class="wp-block-paragraph">Reservations for our main stage '
                   'productions should be made <strong><span style="text-decoration: '
                   'underline;">at least 2 hours</span></strong> prior to '
                   'performance time.</p>\n'
                   '\n'
                   '\n'
                   '\n'
                   '<h3 class="wp-block-heading">TO RESERVE TICKETS:</h3>\n'
                   '\n'
                   '\n'
                   '\n'
                   '<h3 class="wp-block-heading">CALL THE BOX OFFICE: (203) '
                   '226-1983</h3>\n'
                   '\n'
                   '\n'
                   '\n'
                   '<p class="wp-block-paragraph"><strong>OR USE THE RESERVATION '
                   'FORM BELOW.</strong></p>\n'
                   '\n'
                   '\n'
                   '\n'
                   '<p class="wp-block-paragraph"><em><strong>The '
                   'Matchmaker</strong></em> by Thornton Wilder</p>\n'
                   '\n'
                   '\n'
                   '\n'
                   '<p class="wp-block-paragraph">Directed by Mark '
                   'Frattaroli<br>Runs three weekends: <strong> June 12 – 28, '
                   '2026</strong></p>\n'
                   '\n'
                   '\n'
                   '\n'
                   '                <div class="gf_browser_chrome gform_wrapper '
                   'gform-theme gform-theme--foundation gform-theme--framework '
                   'gform-theme--orbital" data-form-theme="orbital" '
                   'data-form-index="0" id="gform_wrapper_5" '
                   'style="display:none"><script>\n'
                   "\t\t\tif ( typeof gform !== 'undefined' ) {\n"
                   '\t\t\t\tgform.extensions = gform.extensions || {};\n'
                   '\t\t\t\tgform.extensions.styles = gform.extensions.styles || '
                   '{};\n'
                   '\t\t\t\tgform.extensions.styles.gravityformssquare = '
                   'gform.extensions.styles.gravityformssquare || {};\n'
                   '\t\t\t\tgform.extensions.styles.gravityformssquare[5] = '
                   'gform.extensions.styles.gravityformssquare[5] || {};\n'
                   '\t\t\t\tgform.extensions.styles.gravityformssquare[5][0] = '
                   '{".input-container":{"borderColor":"--gf-ctrl-border-color","borderRadius":"--gf-ctrl-radius","borderWidth":"--gf-ctrl-border-width"},".input-container.is-error":{"borderColor":"--gf-ctrl-border-color-error","borderWidth":"--gf-ctrl-border-width"},".input-container.is-focus":{"borderColor":"--gf-ctrl-border-color-focus","borderWidth":"--gf-ctrl-border-width"},".message-icon":{"color":"--gf-ctrl-desc-color"},".message-icon.is-error":{"color":"--gf-ctrl-desc-color-error"},".message-text":{"color":"--gf-ctrl-desc-color"},".message-text.is-error":{"color":"--gf-ctrl-desc-color-error"},"input":{"backgroundColor":"--gf-ctrl-bg-color","color":"--gf-ctrl-color","fontSize":"--gf-ctrl-font-size","fontWeight":"--gf-ctrl-font-weight"},"input::placeholder":{"color":"--gf-ctrl-placeholder-color"},"input.is-error":{"color":"--gf-ctrl-color"},"input.is-focus":{"backgroundColor":"--gf-ctrl-bg-color-focus","color":"--gf-ctrl-color-focus","fontSize":"--gf-ctrl-font-size","fontWeight":"--gf-ctrl-font-weight"}};\n'
                   '\t\t\t}\n'
                   '</script>\n'
                   '<style>#gform_wrapper_5[data-form-index="0"].gform-theme,[data-parent-form="5_0"]{--gf-color-primary: '
                   '#204ce5;--gf-color-primary-rgb: 32, 76, '
                   '229;--gf-color-primary-contrast: '
                   '#fff;--gf-color-primary-contrast-rgb: 255, 255, '
                   '255;--gf-color-primary-darker: '
                   '#001AB3;--gf-color-primary-lighter: '
                   '#527EFF;--gf-color-secondary: #fff;--gf-color-secondary-rgb: '
                   '255, 255, 255;--gf-color-secondary-contrast: '
                   '#112337;--gf-color-secondary-contrast-rgb: 17, 35, '
                   '55;--gf-color-secondary-darker: '
                   '#F5F5F5;--gf-color-secondary-lighter: '
                   '#FFFFFF;--gf-color-out-ctrl-light: rgba(17, 35, 55, '
                   '0.1);--gf-color-out-ctrl-light-rgb: 17, 35, '
                   '55;--gf-color-out-ctrl-light-darker: rgba(104, 110, 119, '
                   '0.35);--gf-color-out-ctrl-light-lighter: '
                   '#F5F5F5;--gf-color-out-ctrl-dark: '
                   '#585e6a;--gf-color-out-ctrl-dark-rgb: 88, 94, '
                   '106;--gf-color-out-ctrl-dark-darker: '
                   '#112337;--gf-color-out-ctrl-dark-lighter: rgba(17, 35, 55, '
                   '0.65);--gf-color-in-ctrl: #fff;--gf-color-in-ctrl-rgb: 255, 255, '
                   '255;--gf-color-in-ctrl-contrast: '
                   '#112337;--gf-color-in-ctrl-contrast-rgb: 17, 35, '
                   '55;--gf-color-in-ctrl-darker: '
                   '#F5F5F5;--gf-color-in-ctrl-lighter: '
                   '#FFFFFF;--gf-color-in-ctrl-primary: '
                   '#204ce5;--gf-color-in-ctrl-primary-rgb: 32, 76, '
                   '229;--gf-color-in-ctrl-primary-contrast: '
                   '#fff;--gf-color-in-ctrl-primary-contrast-rgb: 255, 255, '
                   '255;--gf-color-in-ctrl-primary-darker: '
                   '#001AB3;--gf-color-in-ctrl-primary-lighter: '
                   '#527EFF;--gf-color-in-ctrl-light: rgba(17, 35, 55, '
                   '0.1);--gf-color-in-ctrl-light-rgb: 17, 35, '
                   '55;--gf-color-in-ctrl-light-darker: rgba(104, 110, 119, '
                   '0.35);--gf-color-in-ctrl-light-lighter: '
                   '#F5F5F5;--gf-color-in-ctrl-dark: '
                   '#585e6a;--gf-color-in-ctrl-dark-rgb: 88, 94, '
                   '106;--gf-color-in-ctrl-dark-darker: '
                   '#112337;--gf-color-in-ctrl-dark-lighter: rgba(17, 35, 55, '
                   '0.65);--gf-radius: 3px;--gf-font-size-secondary: '
                   '14px;--gf-font-size-tertiary: 13px;--gf-icon-ctrl-number: '
                   'url("data:image/svg+xml,%3Csvg width=\'8\' height=\'14\' '
                   "viewBox='0 0 8 14' fill='none' "
                   "xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' "
                   "clip-rule='evenodd' d='M4 0C4.26522 5.96046e-08 4.51957 0.105357 "
                   '4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 '
                   '7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 '
                   '4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 '
                   '5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 '
                   '0.292893 3.29289L3.29289 0.292893C3.48043 0.105357 3.73478 0 4 '
                   '0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 '
                   '9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 '
                   '8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 '
                   '10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 '
                   '13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 '
                   "0.292893 9.29289Z' fill='rgba(17, 35, 55, "
                   '0.65)\'/%3E%3C/svg%3E");--gf-icon-ctrl-select: '
                   'url("data:image/svg+xml,%3Csvg width=\'10\' height=\'6\' '
                   "viewBox='0 0 10 6' fill='none' "
                   "xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' "
                   "clip-rule='evenodd' d='M0.292893 0.292893C0.683417 -0.097631 "
                   '1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 '
                   '0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 '
                   '0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 '
                   '1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 '
                   '5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 '
                   "0.292893 0.292893Z' fill='rgba(17, 35, 55, "
                   '0.65)\'/%3E%3C/svg%3E");--gf-icon-ctrl-search: '
                   'url("data:image/svg+xml,%3Csvg width=\'640\' height=\'640\' '
                   "xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M256 128c-70.692 "
                   '0-128 57.308-128 128 0 70.691 57.308 128 128 128 70.691 0 '
                   '128-57.309 128-128 0-70.692-57.309-128-128-128zM64 256c0-106.039 '
                   '85.961-192 192-192s192 85.961 192 192c0 41.466-13.146 '
                   '79.863-35.498 111.248l154.125 154.125c12.496 12.496 12.496 '
                   '32.758 0 45.254s-32.758 12.496-45.254 0L367.248 412.502C335.862 '
                   "434.854 297.467 448 256 448c-106.039 0-192-85.962-192-192z' "
                   "fill='rgba(17, 35, 55, "
                   '0.65)\'/%3E%3C/svg%3E");--gf-label-space-y-secondary: '
                   'var(--gf-label-space-y-md-secondary);--gf-ctrl-border-color: '
                   '#686e77;--gf-ctrl-size: '
                   'var(--gf-ctrl-size-md);--gf-ctrl-label-color-primary: '
                   '#112337;--gf-ctrl-label-color-secondary: '
                   '#112337;--gf-ctrl-choice-size: '
                   'var(--gf-ctrl-choice-size-md);--gf-ctrl-checkbox-check-size: '
                   'var(--gf-ctrl-checkbox-check-size-md);--gf-ctrl-radio-check-size: '
                   'var(--gf-ctrl-radio-check-size-md);--gf-ctrl-btn-font-size: '
                   'var(--gf-ctrl-btn-font-size-md);--gf-ctrl-btn-padding-x: '
                   'var(--gf-ctrl-btn-padding-x-md);--gf-ctrl-btn-size: '
                   'var(--gf-ctrl-btn-size-md);--gf-ctrl-btn-border-color-secondary: '
                   '#686e77;--gf-ctrl-file-btn-bg-color-hover: '
                   '#EBEBEB;--gf-field-img-choice-size: '
                   'var(--gf-field-img-choice-size-md);--gf-field-img-choice-card-space: '
                   'var(--gf-field-img-choice-card-space-md);--gf-field-img-choice-check-ind-size: '
                   'var(--gf-field-img-choice-check-ind-size-md);--gf-field-img-choice-check-ind-icon-size: '
                   'var(--gf-field-img-choice-check-ind-icon-size-md);--gf-field-pg-steps-number-color: '
                   'rgba(17, 35, 55, 0.8);}</style><form method="post" '
                   'enctype="multipart/form-data" id="gform_5" '
                   'action="/reserve-tickets/" data-formid="5" novalidate>\n'
                   '                        <div class="gform-body gform_body"><div '
                   'id="gform_fields_5" class="gform_fields top_label '
                   'form_sublabel_below description_below '
                   'validation_below"><fieldset id="field_5_1" class="gfield '
                   'gfield--type-name gfield--input-type-name '
                   'gfield_contains_required field_sublabel_below '
                   'gfield--no-description field_description_below '
                   'field_validation_below gfield_visibility_visible"><legend '
                   'class="gfield_label gform-field-label '
                   'gfield_label_before_complex">Name<span '
                   'class="gfield_required"><span class="gfield_required '
                   'gfield_required_text">(Required)</span></span></legend><div '
                   'class="ginput_complex ginput_container ginput_container--name '
                   'no_prefix has_first_name no_middle_name has_last_name no_suffix '
                   'gf_name_has_2 ginput_container_name gform-grid-row" '
                   'id="input_5_1">\n'
                   '                            \n'
                   '                            <span id="input_5_1_3_container" '
                   'class="name_first gform-grid-col gform-grid-col--size-auto">\n'
                   '                                                    <input '
                   'type="text" name="input_1.3" id="input_5_1_3" value="" '
                   'aria-required="true">\n'
                   '                                                    <label '
                   'for="input_5_1_3" class="gform-field-label '
                   'gform-field-label--type-sub ">First</label>\n'
                   '                                                </span>\n'
                   '                            \n'
                   '                            <span id="input_5_1_6_container" '
                   'class="name_last gform-grid-col gform-grid-col--size-auto">\n'
                   '                                                    <input '
                   'type="text" name="input_1.6" id="input_5_1_6" value="" '
                   'aria-required="true">\n'
                   '                                                    <label '
                   'for="input_5_1_6" class="gform-field-label '
                   'gform-field-label--type-sub ">Last</label>\n'
                   '                                                </span>\n'
                   '                            \n'
                   '                        </div></fieldset><div id="field_5_3" '
                   'class="gfield gfield--type-email gfield--input-type-email '
                   'gfield_contains_required field_sublabel_below '
                   'gfield--no-description field_description_below '
                   'field_validation_below gfield_visibility_visible"><label '
                   'class="gfield_label gform-field-label" '
                   'for="input_5_3">Email<span class="gfield_required"><span '
                   'class="gfield_required '
                   'gfield_required_text">(Required)</span></span></label><div '
                   'class="ginput_container ginput_container_email">\n'
                   '                            <input name="input_3" id="input_5_3" '
                   'type="email" value="" class="medium" aria-required="true" '
                   'aria-invalid="false">\n'
                   '                        </div></div><div id="field_5_4" '
                   'class="gfield gfield--type-phone gfield--input-type-phone '
                   'gfield_contains_required field_sublabel_below '
                   'gfield--no-description field_description_below '
                   'field_validation_below gfield_visibility_visible"><label '
                   'class="gfield_label gform-field-label" '
                   'for="input_5_4">Phone<span class="gfield_required"><span '
                   'class="gfield_required '
                   'gfield_required_text">(Required)</span></span></label><div '
                   'class="ginput_container ginput_container_phone"><input '
                   'name="input_4" id="input_5_4" type="tel" value="" class="medium" '
                   'aria-required="true" aria-invalid="false"></div></div><fieldset '
                   'id="field_5_13" class="gfield gfield--type-radio '
                   'gfield--type-choice gfield--input-type-radio gfield--width-full '
                   'gfield_contains_required field_sublabel_below '
                   'gfield--no-description field_description_below '
                   'field_validation_below gfield_visibility_visible"><legend '
                   'class="gfield_label gform-field-label">I am purchasing<span '
                   'class="gfield_required"><span class="gfield_required '
                   'gfield_required_text">(Required)</span></span></legend><div '
                   'class="ginput_container ginput_container_radio"><div '
                   'class="gfield_radio" id="input_5_13">\n'
                   '\t\t\t<div class="gchoice gchoice_5_13_0">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_13" '
                   'type="radio" value="Standard tickets $30.00" id="choice_5_13_0" '
                   'onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_13_0" id="label_5_13_0" '
                   'class="gform-field-label '
                   'gform-field-label--type-inline">Standard tickets $30.00</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_13_1">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_13" '
                   'type="radio" value="Senior tickets $25.00" id="choice_5_13_1" '
                   'onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_13_1" id="label_5_13_1" '
                   'class="gform-field-label gform-field-label--type-inline">Senior '
                   'tickets $25.00</label>\n'
                   '\t\t\t</div></div></div></fieldset><fieldset id="field_5_10" '
                   'class="gfield gfield--type-radio gfield--type-choice '
                   'gfield--input-type-radio gfield--width-full '
                   'gfield_contains_required field_sublabel_below '
                   'gfield--no-description field_description_below '
                   'field_validation_below gfield_visibility_visible"><legend '
                   'class="gfield_label gform-field-label">When would you like to '
                   'attend?<span class="gfield_required"><span '
                   'class="gfield_required '
                   'gfield_required_text">(Required)</span></span></legend><div '
                   'class="ginput_container ginput_container_radio"><div '
                   'class="gfield_radio" id="input_5_10">\n'
                   '\t\t\t<div class="gchoice gchoice_5_10_0">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" '
                   'type="radio" value="Friday, June 12 at 7:30 PM" '
                   'id="choice_5_10_0" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_10_0" id="label_5_10_0" '
                   'class="gform-field-label gform-field-label--type-inline">Friday, '
                   'June 12 at 7:30 PM</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_10_1">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" '
                   'type="radio" value="Saturday, June 13   at 7:30 PM" '
                   'id="choice_5_10_1" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_10_1" id="label_5_10_1" '
                   'class="gform-field-label '
                   'gform-field-label--type-inline">Saturday, June 13   at 7:30 '
                   'PM</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_10_2">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" '
                   'type="radio" value="Sunday, June 14 at 2:00 PM" '
                   'id="choice_5_10_2" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_10_2" id="label_5_10_2" '
                   'class="gform-field-label gform-field-label--type-inline">Sunday, '
                   'June 14 at 2:00 PM</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_10_3">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" '
                   'type="radio" value="Thursday, June 18 at 7:30 PM" '
                   'id="choice_5_10_3" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_10_3" id="label_5_10_3" '
                   'class="gform-field-label '
                   'gform-field-label--type-inline">Thursday, June 18 at 7:30 '
                   'PM</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_10_4">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" '
                   'type="radio" value="Friday, June 19 at 7:30 PM" '
                   'id="choice_5_10_4" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_10_4" id="label_5_10_4" '
                   'class="gform-field-label gform-field-label--type-inline">Friday, '
                   'June 19 at 7:30 PM</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_10_5">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" '
                   'type="radio" value="Saturday, June 20 at 7:30 PM" '
                   'id="choice_5_10_5" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_10_5" id="label_5_10_5" '
                   'class="gform-field-label '
                   'gform-field-label--type-inline">Saturday, June 20 at 7:30 '
                   'PM</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_10_6">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" '
                   'type="radio" value="Sunday, June 21 at 2:00 PM" '
                   'id="choice_5_10_6" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_10_6" id="label_5_10_6" '
                   'class="gform-field-label gform-field-label--type-inline">Sunday, '
                   'June 21 at 2:00 PM</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_10_7">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" '
                   'type="radio" value="Friday, June 26 at 7:30 PM" '
                   'id="choice_5_10_7" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_10_7" id="label_5_10_7" '
                   'class="gform-field-label gform-field-label--type-inline">Friday, '
                   'June 26 at 7:30 PM</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_10_8">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" '
                   'type="radio" value="Saturday, June 27 at 7:30 PM" '
                   'id="choice_5_10_8" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_10_8" id="label_5_10_8" '
                   'class="gform-field-label '
                   'gform-field-label--type-inline">Saturday, June 27 at 7:30 '
                   'PM</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_10_9">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_10" '
                   'type="radio" value="Sunday, June 28 at 2:00 PM" '
                   'id="choice_5_10_9" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_10_9" id="label_5_10_9" '
                   'class="gform-field-label gform-field-label--type-inline">Sunday, '
                   'June 28 at 2:00 PM</label>\n'
                   '\t\t\t</div></div></div></fieldset><div id="field_5_11" '
                   'class="gfield gfield--type-product '
                   'gfield--input-type-singleproduct gfield--width-full gfield_price '
                   'gfield_price_5_11 gfield_product_5_11 gfield_contains_required '
                   'field_sublabel_below gfield--no-description '
                   'field_description_below field_validation_below '
                   'gfield_visibility_visible"><label class="gfield_label '
                   'gform-field-label gfield_label_before_complex" '
                   'for="input_5_11_1"><span class="gform-field-label '
                   'gfield_label_product">Standard Tickets</span> <span '
                   'class="screen-reader-text">Quantity</span><span '
                   'class="gfield_required"><span class="gfield_required '
                   'gfield_required_text">(Required)</span></span></label><div '
                   'class="ginput_container ginput_container_singleproduct">\n'
                   '\t\t\t\t\t<input type="hidden" name="input_11.1" value="Standard '
                   'Tickets" class="gform_hidden">\n'
                   '\t\t\t\t\t<div id="ginput_product_price_5_11" '
                   'class="ginput_product_price_wrapper">\n'
                   '\t\t\t\t\t\t<span class="gform-field-label '
                   'gform-field-label--type-sub-large '
                   'ginput_product_price_label">Price:</span>\n'
                   '\t\t\t\t\t\t<span class="gform-field-label '
                   'gform-field-label--type-sub-large ginput_product_price" '
                   'id="input_5_11">$30.00</span>\n'
                   '\t\t\t\t\t</div>\n'
                   '\t\t\t\t\t<input type="hidden" name="input_11.2" '
                   'id="ginput_base_price_5_11" class="gform_hidden" '
                   'value="$30.00">\n'
                   '\t\t\t\t\t <label for="ginput_quantity_5_11_1" '
                   'class="ginput_quantity_label gform-field-label" '
                   'aria-hidden="true">Quantity</label> <input type="number" '
                   'name="input_11.3" value="" id="input_5_11_1" '
                   'class="ginput_quantity" size="10" min="0" aria-label="Quantity '
                   'Standard Tickets" aria-describedby="ginput_product_price_5_11">\n'
                   '\t\t\t\t</div></div><div id="field_5_12" class="gfield '
                   'gfield--type-product gfield--input-type-singleproduct '
                   'gfield--width-full gfield_price gfield_price_5_12 '
                   'gfield_product_5_12 gfield_contains_required '
                   'field_sublabel_below gfield--no-description '
                   'field_description_below field_validation_below '
                   'gfield_visibility_visible"><label class="gfield_label '
                   'gform-field-label gfield_label_before_complex" '
                   'for="input_5_12_1"><span class="gform-field-label '
                   'gfield_label_product">Senior Tickets</span> <span '
                   'class="screen-reader-text">Quantity</span><span '
                   'class="gfield_required"><span class="gfield_required '
                   'gfield_required_text">(Required)</span></span></label><div '
                   'class="ginput_container ginput_container_singleproduct">\n'
                   '\t\t\t\t\t<input type="hidden" name="input_12.1" value="Senior '
                   'Tickets" class="gform_hidden">\n'
                   '\t\t\t\t\t<div id="ginput_product_price_5_12" '
                   'class="ginput_product_price_wrapper">\n'
                   '\t\t\t\t\t\t<span class="gform-field-label '
                   'gform-field-label--type-sub-large '
                   'ginput_product_price_label">Price:</span>\n'
                   '\t\t\t\t\t\t<span class="gform-field-label '
                   'gform-field-label--type-sub-large ginput_product_price" '
                   'id="input_5_12">$25.00</span>\n'
                   '\t\t\t\t\t</div>\n'
                   '\t\t\t\t\t<input type="hidden" name="input_12.2" '
                   'id="ginput_base_price_5_12" class="gform_hidden" '
                   'value="$25.00">\n'
                   '\t\t\t\t\t <label for="ginput_quantity_5_12_1" '
                   'class="ginput_quantity_label gform-field-label" '
                   'aria-hidden="true">Quantity</label> <input type="number" '
                   'name="input_12.3" value="" id="input_5_12_1" '
                   'class="ginput_quantity" size="10" min="0" aria-label="Quantity '
                   'Senior Tickets" aria-describedby="ginput_product_price_5_12">\n'
                   '\t\t\t\t</div></div><div id="field_5_17" class="gfield '
                   'gfield--type-number gfield--input-type-number gfield--width-full '
                   'field_sublabel_below gfield--has-description '
                   'field_description_below field_validation_below '
                   'gfield_visibility_visible"><label class="gfield_label '
                   'gform-field-label" for="input_5_17">How many tickets would you '
                   'like?</label><div class="ginput_container '
                   'ginput_container_number"><input name="input_17" id="input_5_17" '
                   'type="number" step="any" value="" class="small" '
                   'aria-invalid="false" '
                   'aria-describedby="gfield_description_5_17"></div><div '
                   'class="gfield_description" id="gfield_description_5_17">This '
                   'field only accepts numerals.</div></div><div id="field_5_8" '
                   'class="gfield gfield--type-total gfield--input-type-total '
                   'gfield_price gfield_price_5_ gfield_total gfield_total_5_ '
                   'field_sublabel_below gfield--no-description '
                   'field_description_below field_validation_below '
                   'gfield_visibility_visible" aria-atomic="true" '
                   'aria-live="polite"><label class="gfield_label gform-field-label" '
                   'for="input_5_8">Total for this order</label><div '
                   'class="ginput_container ginput_container_total">\n'
                   '\t\t\t\t\t\t\t<input type="text" readonly name="input_8" '
                   'id="input_5_8" value="$0.00" class="gform-text-input-reset '
                   'ginput_total ginput_total_5">\n'
                   '\t\t\t\t\t\t</div></div><fieldset id="field_5_15" class="gfield '
                   'gfield--type-radio gfield--type-choice gfield--input-type-radio '
                   'gfield--width-full gfield_contains_required field_sublabel_below '
                   'gfield--no-description field_description_below '
                   'field_validation_below gfield_visibility_visible"><legend '
                   'class="gfield_label gform-field-label">Payment method<span '
                   'class="gfield_required"><span class="gfield_required '
                   'gfield_required_text">(Required)</span></span></legend><div '
                   'class="ginput_container ginput_container_radio"><div '
                   'class="gfield_radio" id="input_5_15">\n'
                   '\t\t\t<div class="gchoice gchoice_5_15_0">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_15" '
                   'type="radio" value="I would like to pay now with my credit card" '
                   'id="choice_5_15_0" onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_15_0" id="label_5_15_0" '
                   'class="gform-field-label gform-field-label--type-inline">I would '
                   'like to pay now with my credit card</label>\n'
                   '\t\t\t</div>\n'
                   '\t\t\t<div class="gchoice gchoice_5_15_1">\n'
                   '\t\t\t\t\t<input class="gfield-choice-input" name="input_15" '
                   'type="radio" value="I would like to call the box office to '
                   'complete my order" id="choice_5_15_1" '
                   'onchange="gformToggleRadioOther( this )">\n'
                   '\t\t\t\t\t<label for="choice_5_15_1" id="label_5_15_1" '
                   'class="gform-field-label gform-field-label--type-inline">I would '
                   'like to call the box office to complete my order</label>\n'
                   '\t\t\t</div></div></div></fieldset><div id="field_5_16" '
                   'class="gfield gfield--type-html gfield--input-type-html '
                   'gfield--width-full gfield_html gfield_html_formatted '
                   'gfield_no_follows_desc field_sublabel_below '
                   'gfield--no-description field_description_below '
                   'field_validation_below gfield_visibility_visible"><h4>Box '
                   'office: (203) 226-1983</h4>\n'
                   '<p>Reservations for our main stage productions should be made '
                   '<strong>at least 2 hours before performance time</strong>.</p>\n'
                   '<p style="background-color: yellow;">Be sure to click the '
                   '<strong><em>Submit</em></strong> button below so the box office '
                   'knows which performance you want to reserve.</p></div><fieldset '
                   'id="field_5_9" class="gfield gfield--type-square_creditcard '
                   'gfield--input-type-square_creditcard gfield_contains_required '
                   'field_sublabel_below gfield--no-description '
                   'field_description_below field_validation_below '
                   'gfield_visibility_visible"><legend class="gfield_label '
                   'gfield_label_before_complex gform-field-label">Credit Card<span '
                   'class="gfield_required"><span class="gfield_required '
                   'gfield_required_text">(Required)</span></span></legend><div '
                   'class="ginput_complex ginput_container '
                   'ginput_container_square_card gform-grid-row single-element" '
                   'id="input_5_9">\n'
                   '\t\t\t\t\t<div class="ginput_full gform-grid-col" '
                   'id="input_5_9_1_container">\n'
                   '\t\t\t\t\t\t<div class="sq-input-container '
                   'sq-cardholder-container"><input class="sq-input" type="text" '
                   'name="input_9.3" id="input_5_9_3" value="" '
                   'placeholder="Cardholder Name"><label for="input_5_9_3" '
                   'id="input_5_9_3_label" class="gform-field-label '
                   'gform-field-label--type-sub">Cardholder Name</label></div>\n'
                   '\t\t\t\t\t</div>\n'
                   '\t\t\t\t\t<div class="ginput_full gform-grid-col" '
                   'id="input_5_9_3_container">\n'
                   '\t\t\t\t\t\t<div id="input_5_9_1" '
                   'class="square-single-form"></div><label for="input_5_9_1" '
                   'id="input_5_9_1_label" class="gform-field-label '
                   'gform-field-label--type-sub">Card Details</label>\n'
                   '\t\t\t\t\t</div>\n'
                   '\t\t\t\t</div></fieldset><div id="field_5_14" class="gfield '
                   'gfield--type-textarea gfield--input-type-textarea '
                   'field_sublabel_below gfield--no-description '
                   'field_description_below field_validation_below '
                   'gfield_visibility_visible"><label class="gfield_label '
                   'gform-field-label" for="input_5_14">Comments, questions or '
                   'special requests</label><div class="ginput_container '
                   'ginput_container_textarea"><textarea name="input_14" '
                   'id="input_5_14" class="textarea large" aria-invalid="false" '
                   'rows="10" cols="50"></textarea></div></div></div></div>\n'
                   '        <div class="gform-footer gform_footer top_label"> <input '
                   'type="submit" id="gform_submit_button_5" class="gform_button '
                   'button" onclick="gform.submission.handleButtonClick(this);" '
                   'data-submission-type="submit" value="Submit"> \n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_submission_method" '
                   'data-js="gform_submission_method_5" value="postback">\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_theme" data-js="gform_theme_5" id="gform_theme_5" '
                   'value="orbital">\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_style_settings" data-js="gform_style_settings_5" '
                   'id="gform_style_settings_5" '
                   'value=\'{"inputPrimaryColor":"#204ce5"}\'>\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="is_submit_5" value="1">\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_submit" value="5">\n'
                   '            \n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_currency" data-currency="USD" '
                   'value="e0rcmqVscAtBmP2B+xHuaN7hWVU0TsFy071JjkV9LPGs2N3l2uP0EHWDlDeZc/Sr9eIRFctRW+c1zjUuEnuSNtpWi2W8zHaNZksMv4NvOjDyGfM=">\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_unique_id" value="">\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="state_5" '
                   'value="WyJ7XCIxM1wiOltcIjE4OTBhYjI5MTQ4YzExMTQ2MWMyYTA1ZDk4ZGE3MmM1XCIsXCI0Njk4NDJkODBlNGEzNTQzNjFmMzVkYWFmMDlkNDFlOVwiXSxcIjEwXCI6W1wiYjhmNGM4OGEwNWU4YjkyODFhOThkMTQ5MzQ0NTU1YzVcIixcIjU4ZDUzOWMxZGFjNzViNDc5ZGVkNDVjY2JiNWU4MzVjXCIsXCJmNGQ5Y2I3YjM3NjEzZWU0NTZmYjlkZWE2YWYxZTA0ZVwiLFwiMGE4ZjBiZWUzMTU2ZWVmODQzZGVmMWI5YWYyMjY4ODhcIixcImE0Y2U1MTRlYTMyZTc0Y2NjOGZjMTUxYTdlMzM3M2IyXCIsXCIxMTRjMDQ1OTM2NTI1NGJhMDE4YjcxMGI4NjU1YTg3MFwiLFwiMzU3YjI1ZTNiYzQwYTY1ZjBhNTU4ZDYyNDk1NjNmNDJcIixcIjQ1OWE3ZDJiY2Q3NTg5N2JjNjgwOTM0MzU5OGEyN2EyXCIsXCIxNGQ2NDViNzg0ODZlMDU5ZDUwY2NmODJiYTczODE5NVwiLFwiOTdjMWU2MzVhMjA2NjQ4YTIyYzBkZDU4MGM3NGIyNDRcIl0sXCIxMS4xXCI6XCI5NjdiNjY1MDQwMGJmZGFhYjIzYjI3YWE3ZWNjZjU1ZVwiLFwiMTEuMlwiOlwiN2QzMzQ1YjdkN2M2NTE1OWNiMjE1NTQ5YjJkYWNkODNcIixcIjEyLjFcIjpcIjMzYjJjOTlkMTZkODg4MTE2MTdkNDlkMjAxNDE4YzUzXCIsXCIxMi4yXCI6XCJiMDg4Mzk4ZWUzODIxYTYyMjA4OGVhZGU3MWMxZjVlZlwiLFwiMTVcIjpbXCIzMGRlMThiZGUyOGNjN2JiZGY5ZWZkNjE0NDNkYWMwMFwiLFwiYTQ1N2UwMGQwNjBjNDA1OTc1ZTNlNWJhZDU2OWQwNTBcIl19IiwiODFmYWUxOGFiNzE2ODU1YzNmMmRmZmI1MTU1N2U2OWMiXQ==">\n'
                   '            <input type="hidden" autocomplete="off" '
                   'class="gform_hidden" name="gform_target_page_number_5" '
                   'id="gform_target_page_number_5" value="0">\n'
                   '            <input type="hidden" autocomplete="off" '
                   'class="gform_hidden" name="gform_source_page_number_5" '
                   'id="gform_source_page_number_5" value="1">\n'
                   '            <input type="hidden" name="gform_field_values" '
                   'value="">\n'
                   '            \n'
                   '        </div>\n'
                   '                        <p style="display: none !important;" '
                   'class="akismet-fields-container" '
                   'data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" '
                   'cols="45" rows="8" maxlength="100"></textarea></label><input '
                   'type="hidden" id="ak_js_1" name="ak_js" value="178"><script>\n'
                   'document.getElementById( "ak_js_1" ).setAttribute( "value", ( '
                   'new Date() ).getTime() );\n'
                   '</script>\n'
                   '</p></form>\n'
                   '                        </div><script>\n'
                   'gform.initializeOnLoaded( function() {gformInitSpinner( 5, '
                   "'https://westportcommunitytheatre.com/wp-content/plugins/gravityforms/images/spinner.svg', "
                   "false );jQuery('#gform_ajax_frame_5').on('load',function(){var "
                   "contents = jQuery(this).contents().find('*').html();var "
                   "is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= "
                   '0;if(!is_postback){return;}var form_content = '
                   "jQuery(this).contents().find('#gform_wrapper_5');var "
                   'is_confirmation = '
                   "jQuery(this).contents().find('#gform_confirmation_wrapper_5').length "
                   "> 0;var is_redirect = contents.indexOf('gformRedirect(){') >= "
                   '0;var is_form = form_content.length > 0 && ! is_redirect && ! '
                   'is_confirmation;var mt = '
                   "parseInt(jQuery('html').css('margin-top'), 10) + "
                   "parseInt(jQuery('body').css('margin-top'), 10) + "
                   "100;if(is_form){form_content.find('form').css('opacity', "
                   "0);jQuery('#gform_wrapper_5').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_5').addClass('gform_validation_error');} "
                   'else '
                   "{jQuery('#gform_wrapper_5').removeClass('gform_validation_error');}setTimeout( "
                   'function() { /* delay the scroll by 50 milliseconds to fix a bug '
                   "in chrome */  }, 50 );if(window['gformInitDatepicker']) "
                   "{gformInitDatepicker();}if(window['gformInitPriceFields']) "
                   '{gformInitPriceFields();}var current_page = '
                   "jQuery('#gform_source_page_number_5').val();gformInitSpinner( 5, "
                   "'https://westportcommunitytheatre.com/wp-content/plugins/gravityforms/images/spinner.svg', "
                   "false );jQuery(document).trigger('gform_page_loaded', [5, "
                   "current_page]);window['gf_submitting_5'] = false;}else "
                   'if(!is_redirect){var confirmation_content = '
                   "jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content "
                   '= '
                   "contents;}jQuery('#gform_wrapper_5').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', "
                   "[5]);window['gf_submitting_5'] = "
                   "false;wp.a11y.speak(jQuery('#gform_confirmation_message_5').text());}else{jQuery('#gform_5').append(contents);if(window['gformRedirect']) "
                   '{gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", '
                   '[{ formId: "5", currentPage: "current_page", abort: function() { '
                   'this.preventDefault(); } }]);        if (event && '
                   'event.defaultPrevented) {                return;        }        '
                   'const gformWrapperDiv = document.getElementById( '
                   '"gform_wrapper_5" );        if ( gformWrapperDiv ) {            '
                   'const visibilitySpan = document.createElement( "span" '
                   ');            visibilitySpan.id = '
                   '"gform_visibility_test_5";            '
                   'gformWrapperDiv.insertAdjacentElement( "afterend", '
                   'visibilitySpan );        }        const visibilityTestDiv = '
                   'document.getElementById( "gform_visibility_test_5" );        let '
                   'postRenderFired = false;        function triggerPostRender() '
                   '{            if ( postRenderFired ) {                '
                   'return;            }            postRenderFired = '
                   'true;            gform.core.triggerPostRenderEvents( 5, '
                   'current_page );            if ( visibilityTestDiv ) '
                   '{                visibilityTestDiv.parentNode.removeChild( '
                   'visibilityTestDiv );            }        }        function '
                   'debounce( func, wait, immediate ) {            var '
                   'timeout;            return function() {                var '
                   'context = this, args = arguments;                var later = '
                   'function() {                    timeout = '
                   'null;                    if ( !immediate ) func.apply( context, '
                   'args );                };                var callNow = immediate '
                   '&& !timeout;                clearTimeout( timeout '
                   ');                timeout = setTimeout( later, wait '
                   ');                if ( callNow ) func.apply( context, args '
                   ');            };        }        const '
                   'debouncedTriggerPostRender = debounce( function() {            '
                   'triggerPostRender();        }, 200 );        if ( '
                   'visibilityTestDiv && visibilityTestDiv.offsetParent === null ) '
                   '{            const observer = new MutationObserver( ( mutations '
                   ') => {                mutations.forEach( ( mutation ) => '
                   "{                    if ( mutation.type === 'attributes' && "
                   'visibilityTestDiv.offsetParent !== null ) '
                   '{                        '
                   'debouncedTriggerPostRender();                        '
                   'observer.disconnect();                    }                '
                   '});            });            observer.observe( document.body, '
                   '{                attributes: true,                childList: '
                   'false,                subtree: true,                '
                   "attributeFilter: [ 'style', 'class' ],            });        } "
                   'else {            triggerPostRender();        }    } );} );\n'
                   '</script>\n'
                   '<div class="sharedaddy sd-sharing-enabled"><div '
                   'class="robots-nocontent sd-block sd-social sd-social-icon '
                   'sd-sharing"><h3 class="sd-title">Share this:</h3><div '
                   'class="sd-content"><ul><li class="share-twitter"><a '
                   'rel="nofollow noopener noreferrer" '
                   'data-shared="sharing-twitter-739" class="share-twitter sd-button '
                   'share-icon no-text" '
                   'href="https://westportcommunitytheatre.com/reserve-tickets/?share=twitter" '
                   'target="_blank" aria-labelledby="sharing-twitter-739">\n'
                   '\t\t\t\t<span id="sharing-twitter-739" hidden>Share on X (Opens '
                   'in new window)</span>\n'
                   '\t\t\t\t<span>X</span>\n'
                   '\t\t\t</a></li><li class="share-facebook"><a rel="nofollow '
                   'noopener noreferrer" data-shared="sharing-facebook-739" '
                   'class="share-facebook sd-button share-icon no-text" '
                   'href="https://westportcommunitytheatre.com/reserve-tickets/?share=facebook" '
                   'target="_blank" aria-labelledby="sharing-facebook-739">\n'
                   '\t\t\t\t<span id="sharing-facebook-739" hidden>Share on Facebook '
                   '(Opens in new window)</span>\n'
                   '\t\t\t\t<span>Facebook</span>\n'
                   '\t\t\t</a></li><li class="share-pinterest"><a rel="nofollow '
                   'noopener noreferrer" data-shared="sharing-pinterest-739" '
                   'class="share-pinterest sd-button share-icon no-text" '
                   'href="https://westportcommunitytheatre.com/reserve-tickets/?share=pinterest" '
                   'target="_blank" aria-labelledby="sharing-pinterest-739">\n'
                   '\t\t\t\t<span id="sharing-pinterest-739" hidden>Share on '
                   'Pinterest (Opens in new window)</span>\n'
                   '\t\t\t\t<span>Pinterest</span>\n'
                   '\t\t\t</a></li><li class="share-reddit"><a rel="nofollow '
                   'noopener noreferrer" data-shared="sharing-reddit-739" '
                   'class="share-reddit sd-button share-icon no-text" '
                   'href="https://westportcommunitytheatre.com/reserve-tickets/?share=reddit" '
                   'target="_blank" aria-labelledby="sharing-reddit-739">\n'
                   '\t\t\t\t<span id="sharing-reddit-739" hidden>Share on Reddit '
                   '(Opens in new window)</span>\n'
                   '\t\t\t\t<span>Reddit</span>\n'
                   '\t\t\t</a></li><li '
                   'class="share-end"></ul></div></div></div>\t\t\t\t\t\t\t\t\t\t\t'
                   '</div><!-- .entry-content -->\n'
                   '\n'
                   '\t\t\t\t\t<footer class="entry-meta">\n'
                   '\t\t\t\t\t\t\t\t\t\t\t</footer><!-- .entry-meta -->\n'
                   '\t\t\t\t</article>'}
    • Head

      2026-06-16 18:01:34 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
      2026-06-16 18:01:34 [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 18:01:34 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
      2026-06-16 18:01:34 [asyncio] DEBUG: Using selector: EpollSelector
      2026-06-16 18:01:34 [scrapy.addons] INFO: Enabled addons:
      []
      2026-06-16 18:01:34 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-06-16 18:01:34 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-06-16 18:01:34 [scrapy.extensions.telnet] INFO: Telnet Password: 8e61330a88eb96a9
      2026-06-16 18:01:34 [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 18:01:34 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'event_scrapers',
       'FEED_EXPORT_ENCODING': 'utf-8',
       'FEED_URI_PARAMS': <function _feed_uri_params at 0x769ddd844540>,
       'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/west_port_community_theatre/a3b657a5699c11f19cc80050565fa5d9.log',
       'NEWSPIDER_MODULE': 'event_scrapers.spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'SPIDER_MODULES': ['event_scrapers.spiders']}
      2026-06-16 18:01:34 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-06-16 18:01:34 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-06-16 18:01:34 [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 18:01:34 [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 18:01:34 [scrapy.middleware] INFO: Enabled item pipelines:
      ['event_scrapers.pipelines.EventScrapersPipeline']
      2026-06-16 18:01:34 [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 18:01:34 [scrapy.core.engine] INFO: Spider opened
      2026-06-16 18:01:34 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.west_port_community_theatre.WestPortCommunityTheatreSpider 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 18:01:34 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-06-16 18:01:34 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-06-16 18:01:37 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://westportcommunitytheatre.com/reserve-tickets/> (referer: https://westportcommunitytheatre.com/)
      2026-06-16 18:01:37 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): 144.91.120.141:80
      2026-06-16 18:01:37 [urllib3.connectionpool] DEBUG: http://144.91.120.141:80 "POST /api/v1/raw-events/ HTTP/1.1" 201 36020
      2026-06-16 18:01:37 [scrapy.core.scraper] DEBUG: Scraped from <200 https://westportcommunitytheatre.com/reserve-tickets/>
      {'event_url': 'https://westportcommunitytheatre.com/reserve-tickets/',
       'platform': 'West port Community Theatre',
       'platform_hash': 'd9a32b98edbc539c59d55da42235e7ce',
       'raw_body': '<article id="post-739" class="post-739 page type-page '
                   'status-publish hentry">\n'
                   '\t\t\t\t\t<header class="entry-header">\n'
                   '\t\t\t\t\t\t\n'
                   '\t\t\t\t\t\t<h1 class="entry-title">Reserve Tickets</h1>\n'
                   '\t\t\t\t\t</header><!-- .entry-header -->\n'
                   '\n'
                   '\t\t\t\t\t<div class="entry-content">\n'
                   '\t\t\t\t\t\t\n'
                   '<p class="wp-block-paragraph"><strong><em>\xa0</em>SINGLE TICKET '
                   'PRICE: $30.00</strong></p>\n'
                   '\n'
                   '\n'
                   '\n'
                   '<p class="wp-block-paragraph"><strong>CURTAIN TIME:\xa0 Evenings '
                   '– 7:30 PM</strong> | <strong>Sunday matinee – 2:00 '
                   'PM</strong></p>\n'
                   '\n'
                   '\n'
                   '\n'
                   '<p class="wp-block-paragraph">Reservations for our main stage '
                   'productions should be made <strong><span style="text-decoration: '
                   'underline;">at least 2 hours</span></strong> prior to '
                   'performance time.</p>\n'
    • Tail

                   'special requests</label><div class="ginput_container '
                   'ginput_container_textarea"><textarea name="input_14" '
                   'id="input_5_14" class="textarea large" aria-invalid="false" '
                   'rows="10" cols="50"></textarea></div></div></div></div>\n'
                   '        <div class="gform-footer gform_footer top_label"> <input '
                   'type="submit" id="gform_submit_button_5" class="gform_button '
                   'button" onclick="gform.submission.handleButtonClick(this);" '
                   'data-submission-type="submit" value="Submit"> \n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_submission_method" '
                   'data-js="gform_submission_method_5" value="postback">\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_theme" data-js="gform_theme_5" id="gform_theme_5" '
                   'value="orbital">\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_style_settings" data-js="gform_style_settings_5" '
                   'id="gform_style_settings_5" '
                   'value=\'{"inputPrimaryColor":"#204ce5"}\'>\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="is_submit_5" value="1">\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_submit" value="5">\n'
                   '            \n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_currency" data-currency="USD" '
                   'value="e0rcmqVscAtBmP2B+xHuaN7hWVU0TsFy071JjkV9LPGs2N3l2uP0EHWDlDeZc/Sr9eIRFctRW+c1zjUuEnuSNtpWi2W8zHaNZksMv4NvOjDyGfM=">\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="gform_unique_id" value="">\n'
                   '            <input type="hidden" class="gform_hidden" '
                   'name="state_5" '
                   'value="WyJ7XCIxM1wiOltcIjE4OTBhYjI5MTQ4YzExMTQ2MWMyYTA1ZDk4ZGE3MmM1XCIsXCI0Njk4NDJkODBlNGEzNTQzNjFmMzVkYWFmMDlkNDFlOVwiXSxcIjEwXCI6W1wiYjhmNGM4OGEwNWU4YjkyODFhOThkMTQ5MzQ0NTU1YzVcIixcIjU4ZDUzOWMxZGFjNzViNDc5ZGVkNDVjY2JiNWU4MzVjXCIsXCJmNGQ5Y2I3YjM3NjEzZWU0NTZmYjlkZWE2YWYxZTA0ZVwiLFwiMGE4ZjBiZWUzMTU2ZWVmODQzZGVmMWI5YWYyMjY4ODhcIixcImE0Y2U1MTRlYTMyZTc0Y2NjOGZjMTUxYTdlMzM3M2IyXCIsXCIxMTRjMDQ1OTM2NTI1NGJhMDE4YjcxMGI4NjU1YTg3MFwiLFwiMzU3YjI1ZTNiYzQwYTY1ZjBhNTU4ZDYyNDk1NjNmNDJcIixcIjQ1OWE3ZDJiY2Q3NTg5N2JjNjgwOTM0MzU5OGEyN2EyXCIsXCIxNGQ2NDViNzg0ODZlMDU5ZDUwY2NmODJiYTczODE5NVwiLFwiOTdjMWU2MzVhMjA2NjQ4YTIyYzBkZDU4MGM3NGIyNDRcIl0sXCIxMS4xXCI6XCI5NjdiNjY1MDQwMGJmZGFhYjIzYjI3YWE3ZWNjZjU1ZVwiLFwiMTEuMlwiOlwiN2QzMzQ1YjdkN2M2NTE1OWNiMjE1NTQ5YjJkYWNkODNcIixcIjEyLjFcIjpcIjMzYjJjOTlkMTZkODg4MTE2MTdkNDlkMjAxNDE4YzUzXCIsXCIxMi4yXCI6XCJiMDg4Mzk4ZWUzODIxYTYyMjA4OGVhZGU3MWMxZjVlZlwiLFwiMTVcIjpbXCIzMGRlMThiZGUyOGNjN2JiZGY5ZWZkNjE0NDNkYWMwMFwiLFwiYTQ1N2UwMGQwNjBjNDA1OTc1ZTNlNWJhZDU2OWQwNTBcIl19IiwiODFmYWUxOGFiNzE2ODU1YzNmMmRmZmI1MTU1N2U2OWMiXQ==">\n'
                   '            <input type="hidden" autocomplete="off" '
                   'class="gform_hidden" name="gform_target_page_number_5" '
                   'id="gform_target_page_number_5" value="0">\n'
                   '            <input type="hidden" autocomplete="off" '
                   'class="gform_hidden" name="gform_source_page_number_5" '
                   'id="gform_source_page_number_5" value="1">\n'
                   '            <input type="hidden" name="gform_field_values" '
                   'value="">\n'
                   '            \n'
                   '        </div>\n'
                   '                        <p style="display: none !important;" '
                   'class="akismet-fields-container" '
                   'data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" '
                   'cols="45" rows="8" maxlength="100"></textarea></label><input '
                   'type="hidden" id="ak_js_1" name="ak_js" value="178"><script>\n'
                   'document.getElementById( "ak_js_1" ).setAttribute( "value", ( '
                   'new Date() ).getTime() );\n'
                   '</script>\n'
                   '</p></form>\n'
                   '                        </div><script>\n'
                   'gform.initializeOnLoaded( function() {gformInitSpinner( 5, '
                   "'https://westportcommunitytheatre.com/wp-content/plugins/gravityforms/images/spinner.svg', "
                   "false );jQuery('#gform_ajax_frame_5').on('load',function(){var "
                   "contents = jQuery(this).contents().find('*').html();var "
                   "is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= "
                   '0;if(!is_postback){return;}var form_content = '
                   "jQuery(this).contents().find('#gform_wrapper_5');var "
                   'is_confirmation = '
                   "jQuery(this).contents().find('#gform_confirmation_wrapper_5').length "
                   "> 0;var is_redirect = contents.indexOf('gformRedirect(){') >= "
                   '0;var is_form = form_content.length > 0 && ! is_redirect && ! '
                   'is_confirmation;var mt = '
                   "parseInt(jQuery('html').css('margin-top'), 10) + "
                   "parseInt(jQuery('body').css('margin-top'), 10) + "
                   "100;if(is_form){form_content.find('form').css('opacity', "
                   "0);jQuery('#gform_wrapper_5').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_5').addClass('gform_validation_error');} "
                   'else '
                   "{jQuery('#gform_wrapper_5').removeClass('gform_validation_error');}setTimeout( "
                   'function() { /* delay the scroll by 50 milliseconds to fix a bug '
                   "in chrome */  }, 50 );if(window['gformInitDatepicker']) "
                   "{gformInitDatepicker();}if(window['gformInitPriceFields']) "
                   '{gformInitPriceFields();}var current_page = '
                   "jQuery('#gform_source_page_number_5').val();gformInitSpinner( 5, "
                   "'https://westportcommunitytheatre.com/wp-content/plugins/gravityforms/images/spinner.svg', "
                   "false );jQuery(document).trigger('gform_page_loaded', [5, "
                   "current_page]);window['gf_submitting_5'] = false;}else "
                   'if(!is_redirect){var confirmation_content = '
                   "jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content "
                   '= '
                   "contents;}jQuery('#gform_wrapper_5').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', "
                   "[5]);window['gf_submitting_5'] = "
                   "false;wp.a11y.speak(jQuery('#gform_confirmation_message_5').text());}else{jQuery('#gform_5').append(contents);if(window['gformRedirect']) "
                   '{gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", '
                   '[{ formId: "5", currentPage: "current_page", abort: function() { '
                   'this.preventDefault(); } }]);        if (event && '
                   'event.defaultPrevented) {                return;        }        '
                   'const gformWrapperDiv = document.getElementById( '
                   '"gform_wrapper_5" );        if ( gformWrapperDiv ) {            '
                   'const visibilitySpan = document.createElement( "span" '
                   ');            visibilitySpan.id = '
                   '"gform_visibility_test_5";            '
                   'gformWrapperDiv.insertAdjacentElement( "afterend", '
                   'visibilitySpan );        }        const visibilityTestDiv = '
                   'document.getElementById( "gform_visibility_test_5" );        let '
                   'postRenderFired = false;        function triggerPostRender() '
                   '{            if ( postRenderFired ) {                '
                   'return;            }            postRenderFired = '
                   'true;            gform.core.triggerPostRenderEvents( 5, '
                   'current_page );            if ( visibilityTestDiv ) '
                   '{                visibilityTestDiv.parentNode.removeChild( '
                   'visibilityTestDiv );            }        }        function '
                   'debounce( func, wait, immediate ) {            var '
                   'timeout;            return function() {                var '
                   'context = this, args = arguments;                var later = '
                   'function() {                    timeout = '
                   'null;                    if ( !immediate ) func.apply( context, '
                   'args );                };                var callNow = immediate '
                   '&& !timeout;                clearTimeout( timeout '
                   ');                timeout = setTimeout( later, wait '
                   ');                if ( callNow ) func.apply( context, args '
                   ');            };        }        const '
                   'debouncedTriggerPostRender = debounce( function() {            '
                   'triggerPostRender();        }, 200 );        if ( '
                   'visibilityTestDiv && visibilityTestDiv.offsetParent === null ) '
                   '{            const observer = new MutationObserver( ( mutations '
                   ') => {                mutations.forEach( ( mutation ) => '
                   "{                    if ( mutation.type === 'attributes' && "
                   'visibilityTestDiv.offsetParent !== null ) '
                   '{                        '
                   'debouncedTriggerPostRender();                        '
                   'observer.disconnect();                    }                '
                   '});            });            observer.observe( document.body, '
                   '{                attributes: true,                childList: '
                   'false,                subtree: true,                '
                   "attributeFilter: [ 'style', 'class' ],            });        } "
                   'else {            triggerPostRender();        }    } );} );\n'
                   '</script>\n'
                   '<div class="sharedaddy sd-sharing-enabled"><div '
                   'class="robots-nocontent sd-block sd-social sd-social-icon '
                   'sd-sharing"><h3 class="sd-title">Share this:</h3><div '
                   'class="sd-content"><ul><li class="share-twitter"><a '
                   'rel="nofollow noopener noreferrer" '
                   'data-shared="sharing-twitter-739" class="share-twitter sd-button '
                   'share-icon no-text" '
                   'href="https://westportcommunitytheatre.com/reserve-tickets/?share=twitter" '
                   'target="_blank" aria-labelledby="sharing-twitter-739">\n'
                   '\t\t\t\t<span id="sharing-twitter-739" hidden>Share on X (Opens '
                   'in new window)</span>\n'
                   '\t\t\t\t<span>X</span>\n'
                   '\t\t\t</a></li><li class="share-facebook"><a rel="nofollow '
                   'noopener noreferrer" data-shared="sharing-facebook-739" '
                   'class="share-facebook sd-button share-icon no-text" '
                   'href="https://westportcommunitytheatre.com/reserve-tickets/?share=facebook" '
                   'target="_blank" aria-labelledby="sharing-facebook-739">\n'
                   '\t\t\t\t<span id="sharing-facebook-739" hidden>Share on Facebook '
                   '(Opens in new window)</span>\n'
                   '\t\t\t\t<span>Facebook</span>\n'
                   '\t\t\t</a></li><li class="share-pinterest"><a rel="nofollow '
                   'noopener noreferrer" data-shared="sharing-pinterest-739" '
                   'class="share-pinterest sd-button share-icon no-text" '
                   'href="https://westportcommunitytheatre.com/reserve-tickets/?share=pinterest" '
                   'target="_blank" aria-labelledby="sharing-pinterest-739">\n'
                   '\t\t\t\t<span id="sharing-pinterest-739" hidden>Share on '
                   'Pinterest (Opens in new window)</span>\n'
                   '\t\t\t\t<span>Pinterest</span>\n'
                   '\t\t\t</a></li><li class="share-reddit"><a rel="nofollow '
                   'noopener noreferrer" data-shared="sharing-reddit-739" '
                   'class="share-reddit sd-button share-icon no-text" '
                   'href="https://westportcommunitytheatre.com/reserve-tickets/?share=reddit" '
                   'target="_blank" aria-labelledby="sharing-reddit-739">\n'
                   '\t\t\t\t<span id="sharing-reddit-739" hidden>Share on Reddit '
                   '(Opens in new window)</span>\n'
                   '\t\t\t\t<span>Reddit</span>\n'
                   '\t\t\t</a></li><li '
                   'class="share-end"></ul></div></div></div>\t\t\t\t\t\t\t\t\t\t\t'
                   '</div><!-- .entry-content -->\n'
                   '\n'
                   '\t\t\t\t\t<footer class="entry-meta">\n'
                   '\t\t\t\t\t\t\t\t\t\t\t</footer><!-- .entry-meta -->\n'
                   '\t\t\t\t</article>'}
      2026-06-16 18:01:37 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-06-16 18:01:37 [scrapy.extensions.feedexport] INFO: Stored csv feed (1 items) in: output/2026/06/16/west_port_community_theatre.csv
      2026-06-16 18:01:37 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 538,
       'downloader/request_count': 1,
       'downloader/request_method_count/GET': 1,
       'downloader/response_bytes': 30888,
       'downloader/response_count': 1,
       'downloader/response_status_count/200': 1,
       'elapsed_time_seconds': 2.952518,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 6, 16, 16, 1, 37, 595921, tzinfo=datetime.timezone.utc),
       'httpcompression/response_bytes': 97071,
       'httpcompression/response_count': 1,
       'item_scraped_count': 1,
       'items_per_minute': 30.0,
       'log_count/DEBUG': 4,
       'log_count/INFO': 3,
       'memusage/max': 93429760,
       'memusage/startup': 93429760,
       'response_received_count': 1,
       'responses_per_minute': 30.0,
       'scheduler/dequeued': 1,
       'scheduler/dequeued/memory': 1,
       'scheduler/enqueued': 1,
       'scheduler/enqueued/memory': 1,
       'start_time': datetime.datetime(2026, 6, 16, 16, 1, 34, 643403, tzinfo=datetime.timezone.utc)}
      2026-06-16 18:01:37 [scrapy.core.engine] INFO: Spider closed (finished)
    • Log

      /1/log/utf8/event_scrapers/west_port_community_theatre/a3b657a5699c11f19cc80050565fa5d9/?job_finished=True

    • Source

      http://127.0.0.1:6800/logs/event_scrapers/west_port_community_theatre/a3b657a5699c11f19cc80050565fa5d9.log

  • sourcelog
    last_update_time2026-06-16 18:01:37
    last_update_timestamp1781625697
    downloader/request_bytes538
    downloader/request_count1
    downloader/request_method_count/GET1
    downloader/response_bytes30888
    downloader/response_count1
    downloader/response_status_count/2001
    elapsed_time_seconds2.952518
    feedexport/success_count/FileFeedStorage1
    finish_reasonfinished
    finish_timedatetime.datetime(2026, 6, 16, 16, 1, 37, 595921, tzinfo=datetime.timezone.utc)
    httpcompression/response_bytes97071
    httpcompression/response_count1
    item_scraped_count1
    items_per_minute30.0
    log_count/DEBUG4
    log_count/INFO3
    memusage/max93429760
    memusage/startup93429760
    response_received_count1
    responses_per_minute30.0
    scheduler/dequeued1
    scheduler/dequeued/memory1
    scheduler/enqueued1
    scheduler/enqueued/memory1
    start_timedatetime.datetime(2026, 6, 16, 16, 1, 34, 643403, tzinfo=datetime.timezone.utc)