Desktop version Jobs
  • Analysis
  • Categories
  • Logs
  • Crawler.stats
  • projectevent_scrapers
    spiderdistrict_music_hall
    jobacebb38c900f11f194640050565fa5d9
    first_log_time2026-08-04 16:20:49
    latest_log_time2026-08-04 16:21:19
    runtime0:00:30
    crawled_pages 22
    scraped_items 21
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count21
    log_warning_count3
    log_redirect_count21
    log_retry_count0
    log_ignore_count0
    latest_crawl
    latest_scrape
    latest_log
    current_time
    latest_item{'event_url': 'https://districtmusichall.com/info-page-sg/e/the-calling-before-the-world-turns-to-dust-tour-1993614665130/', 'platform': 'District music hall', 'platform_hash': '6b4f271fdfa7af47c0eb25b6ae68b653', 'raw_body': '<section class="wfea default collegestreetmusichall-v2 sg ' 'sg-details"><article class="sg-details sg__event status-live ' 'city-norwalk region-ct country-us event__public ' 'event__available"> ' ' <div class="sg__hero"> ' ' <figure class=""> ' ' <a id="wfea-popup-img-6a71f55d5f594-1993614665130" ' 'href="https://www.eventbrite.com/e/the-calling-before-the-world-turns-to-dust-tour-tickets-1993614665130" ' 'rel="bookmark"><img decoding="async" class="wp-post-image" ' 'src="https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F1188544389%2F533131535899%2F1%2Foriginal.20260709-153011?h=200&amp;w=450&amp;auto=format%2Ccompress&amp;q=75&amp;sharp=10&amp;rect=1%2C106%2C8020%2C4010&amp;s=b88d9be2e4f254a40a553107b1a0672f" ' 'alt="The Calling: Before The World Turns To Dust Tour"></a> ' '</figure> ' ' </div> ' ' <div class="sg__content-wrap"> ' ' <div class="sg__head-group"> ' ' <div class="sg__presented-by presented-by">Premier ' 'Concerts and Manic Presents:</div> ' ' <h2 class="sg__title wfea-header__title entry-title "> ' ' <a id="wfea-popup-title-6a71f55d5f594-1993614665130" ' 'href="https://www.eventbrite.com/e/the-calling-before-the-world-turns-to-dust-tour-tickets-1993614665130" ' 'title="Eventbrite link to The Calling: Before The World Turns To ' 'Dust Tour" rel="bookmark">The Calling: Before The World Turns To ' 'Dust Tour</a></h2> ' ' ' '<div class="sg__summary"> ' ' ‎</div> </div> ' ' ' ' ' ' <div class="sg__content-group"> ' ' <time class="sg__head-date"> ' ' <time class="eaw-time published" ' 'datetime="2026-09-18T20:00:00+00:00">Fri 9.18.26</time> ' '</time> ' ' <div class="sg__door-time door-time">Doors: 7:00 pm | ' 'Show: 8:00 pm</div> ' ' <div class="sg__age-resriction age-restriction">All ' 'Ages</div> ' ' <div class="sg__location location"> ' ' District Music Hall<div class="city-region">Norwalk, ' 'CT</div> </div> ' ' </div> ' ' ' ' <div class="sg__cta"> ' ' <div class="sg__cta-wrap"> ' ' ' ' <div class="sg__buttons"> ' ' <div class="sg__booknow booknow "> ' ' <a id="wfea-popup-booknow-6a71f55d5f594-1993614665130" ' 'href="https://www.eventbrite.com/e/the-calling-before-the-world-turns-to-dust-tour-tickets-1993614665130" ' 'aria-label="TICKETS » on Eventbrite for Event Detail Page" ' 'class="book-now__link"><button>TICKETS »</button></a> </div> ' ' </div> ' ' ' ' </div> ' ' </div> ' ' </div> ' '</article> ' ' ' '<summary class="sg-details-summary"> ' ' <div class="sg__content entry-content"> ' ' <div class="sg__excerpt excerpt"> ' ' <div style="margin-top: 20px"><div style="margin: 20px ' '10px;font-size: 15px;line-height: 22px;font-weight: ' '400;text-align: left"><p>This event is General Admission ' 'Standing Room Only on the Floor, and Reserved Seated in the ' 'Balcony.</p></div></div> </div> ' '</div></summary> </section>'}
    • WARNING+

    • error_logs
      21 in total

      2026-08-04 16:20:58 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:05 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-04 16:21:07 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-04 16:21:08 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:08 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:09 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:09 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:09 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:10 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-04 16:21:11 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-04 16:21:11 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-04 16:21:14 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-04 16:21:14 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:16 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:17 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-04 16:21:17 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-04 16:21:18 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-04 16:21:18 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:19 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:19 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:19 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
    • warning_logs
      3 in total

      2026-08-04 16:20:50 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:41: ScrapyDeprecationWarning: EventScrapersPipeline.open_spider() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.open_spider)
      
      2026-08-04 16:20:50 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:47: ScrapyDeprecationWarning: EventScrapersPipeline.process_item() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.process_item)
      
      2026-08-04 16:20:50 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.district_music_hall.ListingSpider defines the deprecated start_requests() method. start_requests() has been deprecated in favor of a new method, start(), to support asynchronous code execution. start_requests() will stop being called in a future version of Scrapy. If you use Scrapy 2.13 or higher only, replace start_requests() with start(); note that start() is a coroutine (async def). If you need to maintain compatibility with lower Scrapy versions, when overriding start_requests() in a spider class, override start() as well; you can use super() to reuse the inherited start() implementation without copy-pasting. See the release notes of Scrapy 2.13 for details: https://docs.scrapy.org/en/2.13/news.html
        warn(
      

      INFO

    • redirect_logs
      21 in total

      2026-08-04 16:20:56 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/deer-tick-1984571393461/> from <GET https://districtmusichall.com/info-page-sg/e/deer-tick-1984571393461>
      2026-08-04 16:20:56 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/thrown-1992172938888/> from <GET https://districtmusichall.com/info-page-sg/e/thrown-1992172938888>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/nekrogoblikon-1991385987094/> from <GET https://districtmusichall.com/info-page-sg/e/nekrogoblikon-1991385987094>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/phillip-phillips-let-s-go-far-tour-1992026814827/> from <GET https://districtmusichall.com/info-page-sg/e/phillip-phillips-let-s-go-far-tour-1992026814827>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/lords-of-acid-1992772504204/> from <GET https://districtmusichall.com/info-page-sg/e/lords-of-acid-1992772504204>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/chat-pile-who-loves-the-sun-tour-2026-1991379538807/> from <GET https://districtmusichall.com/info-page-sg/e/chat-pile-who-loves-the-sun-tour-2026-1991379538807>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/sunn-o-1993841758372/> from <GET https://districtmusichall.com/info-page-sg/e/sunn-o-1993841758372>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/evan-honer-it-s-an-even-longer-road-tour-1991488909939/> from <GET https://districtmusichall.com/info-page-sg/e/evan-honer-it-s-an-even-longer-road-tour-1991488909939>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/bertha-grateful-drag-1989098722825/> from <GET https://districtmusichall.com/info-page-sg/e/bertha-grateful-drag-1989098722825>
      2026-08-04 16:20:58 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/built-to-spill-fall-2026-tour-1991574065642/> from <GET https://districtmusichall.com/info-page-sg/e/built-to-spill-fall-2026-tour-1991574065642>
      2026-08-04 16:20:58 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/all-them-witches-21-shows-21-days-1988020814773/> from <GET https://districtmusichall.com/info-page-sg/e/all-them-witches-21-shows-21-days-1988020814773>
      2026-08-04 16:20:58 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/alien-ant-farm-anthology-tour-1993352411723/> from <GET https://districtmusichall.com/info-page-sg/e/alien-ant-farm-anthology-tour-1993352411723>
      2026-08-04 16:20:58 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/cradle-of-filth-majestic-in-death-ii-1993616069330/> from <GET https://districtmusichall.com/info-page-sg/e/cradle-of-filth-majestic-in-death-ii-1993616069330>
      2026-08-04 16:20:59 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/boy-harsher-1994511460469/> from <GET https://districtmusichall.com/info-page-sg/e/boy-harsher-1994511460469>
      2026-08-04 16:20:59 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/the-damned-final-damnation-50-1987541099933/> from <GET https://districtmusichall.com/info-page-sg/e/the-damned-final-damnation-50-1987541099933>
      2026-08-04 16:20:59 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/the-wrecks-finally-outside-tour-1992029479798/> from <GET https://districtmusichall.com/info-page-sg/e/the-wrecks-finally-outside-tour-1992029479798>
      2026-08-04 16:21:11 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/buzzcocks-celebrating-50-years-of-buzzcocks-1992061154538/> from <GET https://districtmusichall.com/info-page-sg/e/buzzcocks-celebrating-50-years-of-buzzcocks-1992061154538>
      2026-08-04 16:21:11 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/jordan-jensen-1989611193639/> from <GET https://districtmusichall.com/info-page-sg/e/jordan-jensen-1989611193639>
      2026-08-04 16:21:11 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/hatebreed-summer-slaughter-tour-2026-1990042491663/> from <GET https://districtmusichall.com/info-page-sg/e/hatebreed-summer-slaughter-tour-2026-1990042491663>
      2026-08-04 16:21:11 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/bingo-loco-1993615526707/> from <GET https://districtmusichall.com/info-page-sg/e/bingo-loco-1993615526707>
      2026-08-04 16:21:11 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/the-calling-before-the-world-turns-to-dust-tour-1993614665130/> from <GET https://districtmusichall.com/info-page-sg/e/the-calling-before-the-world-turns-to-dust-tour-1993614665130>

      DEBUG

    • scrapy_version

      2.14.1
    • telnet_console

      127.0.0.1:6023
    • telnet_password

      eee4ae3fd41df4e5
    • latest_crawl

      2026-08-04 16:21:19 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://districtmusichall.com/info-page-sg/e/the-calling-before-the-world-turns-to-dust-tour-1993614665130/> (referer: https://districtmusichall.com/)
    • latest_stat

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

      2026-08-04 16:21:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://districtmusichall.com/info-page-sg/e/the-calling-before-the-world-turns-to-dust-tour-1993614665130/>
    • latest_item

      {'event_url': 'https://districtmusichall.com/info-page-sg/e/the-calling-before-the-world-turns-to-dust-tour-1993614665130/',
       'platform': 'District music hall',
       'platform_hash': '6b4f271fdfa7af47c0eb25b6ae68b653',
       'raw_body': '<section class="wfea  default  collegestreetmusichall-v2 sg '
                   'sg-details"><article class="sg-details sg__event status-live  '
                   'city-norwalk region-ct country-us event__public '
                   'event__available">
      '
                   '    <div class="sg__hero">
      '
                   '		    <figure class="">
      '
                   '		<a id="wfea-popup-img-6a71f55d5f594-1993614665130" '
                   'href="https://www.eventbrite.com/e/the-calling-before-the-world-turns-to-dust-tour-tickets-1993614665130" '
                   'rel="bookmark"><img decoding="async" class="wp-post-image" '
                   'src="https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F1188544389%2F533131535899%2F1%2Foriginal.20260709-153011?h=200&amp;w=450&amp;auto=format%2Ccompress&amp;q=75&amp;sharp=10&amp;rect=1%2C106%2C8020%2C4010&amp;s=b88d9be2e4f254a40a553107b1a0672f" '
                   'alt="The Calling: Before The World Turns To Dust Tour"></a>    '
                   '</figure>
      '
                   '	    </div>
      '
                   '    <div class="sg__content-wrap">
      '
                   '        <div class="sg__head-group">
      '
                   '					<div class="sg__presented-by presented-by">Premier '
                   'Concerts and Manic Presents:</div>
      '
                   '		<h2 class="sg__title wfea-header__title entry-title ">
      '
                   '	<a id="wfea-popup-title-6a71f55d5f594-1993614665130" '
                   'href="https://www.eventbrite.com/e/the-calling-before-the-world-turns-to-dust-tour-tickets-1993614665130" '
                   'title="Eventbrite link to The Calling: Before The World Turns To '
                   'Dust Tour" rel="bookmark">The Calling: Before The World Turns To '
                   'Dust Tour</a></h2>
      '
                   '
      '
                   '<div class="sg__summary">
      '
                   '	‎</div>        </div>
      '
                   '
      '
                   '        
      '
                   '        <div class="sg__content-group">
      '
                   '        	    <time class="sg__head-date">
      '
                   '		<time class="eaw-time published" '
                   'datetime="2026-09-18T20:00:00+00:00">Fri 9.18.26</time>    '
                   '</time>
      '
                   '			<div class="sg__door-time door-time">Doors: 7:00 pm | '
                   'Show: 8:00 pm</div>
      '
                   '		        <div class="sg__age-resriction age-restriction">All '
                   'Ages</div>
      '
                   '		    <div class="sg__location location">
      '
                   '        District Music Hall<div class="city-region">Norwalk, '
                   'CT</div>    </div>
      '
                   '            </div>
      '
                   '
      '
                   '        <div class="sg__cta">
      '
                   '	        <div class="sg__cta-wrap">
      '
                   '				
      '
                   '				<div class="sg__buttons">
      '
                   '					    <div class="sg__booknow booknow ">
      '
                   '		<a id="wfea-popup-booknow-6a71f55d5f594-1993614665130" '
                   'href="https://www.eventbrite.com/e/the-calling-before-the-world-turns-to-dust-tour-tickets-1993614665130" '
                   'aria-label="TICKETS » on Eventbrite for Event Detail Page" '
                   'class="book-now__link"><button>TICKETS »</button></a>    </div>
      '
                   '																				</div>
      '
                   '
      '
                   '					        </div>
      '
                   '	    </div>
      '
                   '    </div>
      '
                   '</article>
      '
                   '
      '
                   '<summary class="sg-details-summary">
      '
                   '	<div class="sg__content entry-content">
      '
                   '    <div class="sg__excerpt excerpt">
      '
                   '		<div style="margin-top: 20px"><div style="margin: 20px '
                   '10px;font-size: 15px;line-height: 22px;font-weight: '
                   '400;text-align: left"><p>This event is General Admission '
                   'Standing Room Only on the Floor, and Reserved Seated in the '
                   'Balcony.</p></div></div>    </div>
      '
                   '</div></summary>    </section>'}
    • Head

      2026-08-04 16:20:49 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
      2026-08-04 16:20:49 [scrapy.utils.log] INFO: Versions:
      {'lxml': '6.0.2',
       'libxml2': '2.14.6',
       'cssselect': '1.3.0',
       'parsel': '1.10.0',
       'w3lib': '2.0.0',
       'Twisted': '25.5.0',
       'Python': '3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]',
       'pyOpenSSL': '25.3.0 (OpenSSL 3.5.4 30 Sep 2025)',
       'cryptography': '46.0.3',
       'Platform': 'Linux-6.8.0-90-generic-x86_64-with-glibc2.39'}
      2026-08-04 16:20:49 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
      2026-08-04 16:20:49 [asyncio] DEBUG: Using selector: EpollSelector
      2026-08-04 16:20:49 [scrapy.addons] INFO: Enabled addons:
      []
      2026-08-04 16:20:50 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-08-04 16:20:50 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-08-04 16:20:50 [scrapy.extensions.telnet] INFO: Telnet Password: eee4ae3fd41df4e5
      2026-08-04 16:20:50 [scrapy.middleware] INFO: Enabled extensions:
      ['scrapy.extensions.corestats.CoreStats',
       'scrapy.extensions.logcount.LogCount',
       'scrapy.extensions.telnet.TelnetConsole',
       'scrapy.extensions.memusage.MemoryUsage',
       'scrapy.extensions.feedexport.FeedExporter',
       'scrapy.extensions.logstats.LogStats']
      2026-08-04 16:20:50 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'event_scrapers',
       'FEED_EXPORT_ENCODING': 'utf-8',
       'FEED_URI_PARAMS': <function _feed_uri_params at 0x746a643134c0>,
       'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/district_music_hall/acebb38c900f11f194640050565fa5d9.log',
       'NEWSPIDER_MODULE': 'event_scrapers.spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'SPIDER_MODULES': ['event_scrapers.spiders']}
      2026-08-04 16:20:50 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-04 16:20:50 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-04 16:20:50 [scrapy.middleware] INFO: Enabled downloader middlewares:
      ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware',
       'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
       'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
       'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
       'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
       'scrapy.downloadermiddlewares.retry.RetryMiddleware',
       'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
       'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
       'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPIDownloaderMiddleware',
       'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
       'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
       'scrapy.downloadermiddlewares.stats.DownloaderStats']
      2026-08-04 16:20:50 [scrapy.middleware] INFO: Enabled spider middlewares:
      ['scrapy.spidermiddlewares.start.StartSpiderMiddleware',
       'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPISpiderMiddleware',
       'scrapy.spidermiddlewares.referer.RefererMiddleware',
       'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
       'scrapy.spidermiddlewares.depth.DepthMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPIRefererSpiderMiddleware']
      2026-08-04 16:20:50 [scrapy.middleware] INFO: Enabled item pipelines:
      ['event_scrapers.pipelines.EventScrapersPipeline']
      2026-08-04 16:20:50 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:41: ScrapyDeprecationWarning: EventScrapersPipeline.open_spider() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.open_spider)
      
      2026-08-04 16:20:50 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/pipelines/__init__.py:47: ScrapyDeprecationWarning: EventScrapersPipeline.process_item() requires a spider argument, this is deprecated and the argument will not be passed in future Scrapy versions. If you need to access the spider instance you can save the crawler instance passed to from_crawler() and use its spider attribute.
        self._check_mw_method_spider_arg(pipe.process_item)
      
      2026-08-04 16:20:50 [scrapy.core.engine] INFO: Spider opened
      2026-08-04 16:20:50 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.district_music_hall.ListingSpider defines the deprecated start_requests() method. start_requests() has been deprecated in favor of a new method, start(), to support asynchronous code execution. start_requests() will stop being called in a future version of Scrapy. If you use Scrapy 2.13 or higher only, replace start_requests() with start(); note that start() is a coroutine (async def). If you need to maintain compatibility with lower Scrapy versions, when overriding start_requests() in a spider class, override start() as well; you can use super() to reuse the inherited start() implementation without copy-pasting. See the release notes of Scrapy 2.13 for details: https://docs.scrapy.org/en/2.13/news.html
        warn(
      
      2026-08-04 16:20:50 [district_music_hall] INFO: Sending scraped events to prod API
      2026-08-04 16:20:50 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-08-04 16:20:50 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-08-04 16:20:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://districtmusichall.com/> (referer: None)
      2026-08-04 16:20:56 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/deer-tick-1984571393461/> from <GET https://districtmusichall.com/info-page-sg/e/deer-tick-1984571393461>
      2026-08-04 16:20:56 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/thrown-1992172938888/> from <GET https://districtmusichall.com/info-page-sg/e/thrown-1992172938888>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/nekrogoblikon-1991385987094/> from <GET https://districtmusichall.com/info-page-sg/e/nekrogoblikon-1991385987094>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/phillip-phillips-let-s-go-far-tour-1992026814827/> from <GET https://districtmusichall.com/info-page-sg/e/phillip-phillips-let-s-go-far-tour-1992026814827>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/lords-of-acid-1992772504204/> from <GET https://districtmusichall.com/info-page-sg/e/lords-of-acid-1992772504204>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/chat-pile-who-loves-the-sun-tour-2026-1991379538807/> from <GET https://districtmusichall.com/info-page-sg/e/chat-pile-who-loves-the-sun-tour-2026-1991379538807>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/sunn-o-1993841758372/> from <GET https://districtmusichall.com/info-page-sg/e/sunn-o-1993841758372>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/evan-honer-it-s-an-even-longer-road-tour-1991488909939/> from <GET https://districtmusichall.com/info-page-sg/e/evan-honer-it-s-an-even-longer-road-tour-1991488909939>
      2026-08-04 16:20:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://districtmusichall.com/info-page-sg/e/bertha-grateful-drag-1989098722825/> from <GET https://districtmusichall.com/info-page-sg/e/bertha-grateful-drag-1989098722825>
      2026-08-04 16:20:57 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://districtmusichall.com/info-page-sg/e/phillip-phillips-let-s-go-far-tour-1992026814827/> (referer: https://districtmusichall.com/)
      2026-08-04 16:20:57 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-04 16:20:58 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 500 145
      2026-08-04 16:20:58 [district_music_hall] ERROR: API error 500: 
      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:20:58 [scrapy.core.scraper] DEBUG: Scraped from <200 https://districtmusichall.com/info-page-sg/e/phillip-phillips-let-s-go-far-tour-1992026814827/>
      {'event_url': 'https://districtmusichall.com/info-page-sg/e/phillip-phillips-let-s-go-far-tour-1992026814827/',
       'platform': 'District music hall',
    • Tail

      <!doctype html>
      <html lang="en">
      <head>
        <title>Server Error (500)</title>
      </head>
      <body>
        <h1>Server Error (500)</h1><p></p>
      </body>
      </html>
      
      2026-08-04 16:21:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://districtmusichall.com/info-page-sg/e/jordan-jensen-1989611193639/>
      {'event_url': 'https://districtmusichall.com/info-page-sg/e/jordan-jensen-1989611193639/',
       'platform': 'District music hall',
       'platform_hash': '6b4f271fdfa7af47c0eb25b6ae68b653',
       'raw_body': '<section class="wfea  default  collegestreetmusichall-v2 sg '
                   'sg-details"><article class="sg-details sg__event status-live  '
                   'city-norwalk region-ct country-us event__public '
                   'event__available">\n'
                   '    <div class="sg__hero">\n'
                   '\t\t    <figure class="">\n'
                   '\t\t<a id="wfea-popup-img-6a71f55c86a18-1989611193639" '
                   'href="https://www.eventbrite.com/e/jordan-jensen-tickets-1989611193639" '
                   'rel="bookmark"><img decoding="async" class="wp-post-image" '
                   'src="https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F1184942560%2F533131535899%2F1%2Foriginal.20260519-140328?crop=focalpoint&amp;fit=crop&amp;h=200&amp;w=450&amp;auto=format%2Ccompress&amp;q=75&amp;sharp=10&amp;fp-x=0.076&amp;fp-y=0.464&amp;s=c412b445913a72d3ed94c9033fffb17c" '
                   'alt="Jordan Jensen"></a>    </figure>\n'
                   '\t    </div>\n'
                   '    <div class="sg__content-wrap">\n'
                   '        <div class="sg__head-group">\n'
                   '\t\t\t\t\t<div class="sg__presented-by presented-by">Premier '
                   'Concerts and Manic Presents:</div>\n'
                   '\t\t<h2 class="sg__title wfea-header__title entry-title ">\n'
                   '\t<a id="wfea-popup-title-6a71f55c86a18-1989611193639" '
                   'href="https://www.eventbrite.com/e/jordan-jensen-tickets-1989611193639" '
                   'title="Eventbrite link to Jordan Jensen" rel="bookmark">Jordan '
                   'Jensen</a></h2>\n'
                   '\n'
                   '<div class="sg__summary">\n'
                   '\t\u200e</div>        </div>\n'
                   '\n'
                   '        \n'
                   '        <div class="sg__content-group">\n'
                   '        \t    <time class="sg__head-date">\n'
                   '\t\t<time class="eaw-time published" '
                   'datetime="2026-08-15T19:30:00+00:00">Sat 8.15.26</time>    '
                   '</time>\n'
                   '\t\t\t<div class="sg__door-time door-time">Doors: 6:30 pm | '
                   'Show: 7:30 pm</div>\n'
                   '\t\t        <div class="sg__age-resriction age-restriction">All '
                   'Ages</div>\n'
                   '\t\t    <div class="sg__location location">\n'
                   '        District Music Hall<div class="city-region">Norwalk, '
                   'CT</div>    </div>\n'
                   '            </div>\n'
                   '\n'
                   '        <div class="sg__cta">\n'
                   '\t        <div class="sg__cta-wrap">\n'
                   '\t\t\t\t\n'
                   '\t\t\t\t<div class="sg__buttons">\n'
                   '\t\t\t\t\t    <div class="sg__booknow booknow ">\n'
                   '\t\t<a id="wfea-popup-booknow-6a71f55c86a18-1989611193639" '
                   'href="https://www.eventbrite.com/e/jordan-jensen-tickets-1989611193639" '
                   'aria-label="TICKETS » on Eventbrite for Event Detail Page" '
                   'class="book-now__link"><button>TICKETS »</button></a>    </div>\n'
                   '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n'
                   '\n'
                   '\t\t\t\t\t        </div>\n'
                   '\t    </div>\n'
                   '    </div>\n'
                   '</article>\n'
                   '\n'
                   '<summary class="sg-details-summary">\n'
                   '\t<div class="sg__content entry-content">\n'
                   '    <div class="sg__excerpt excerpt">\n'
                   '\t\t<div style="margin-top: 20px"><div style="margin: 20px '
                   '10px;font-size: 15px;line-height: 22px;font-weight: '
                   '400;text-align: left"><p>This event is Reserved Seated on the '
                   'Floor, and Reserved Seated in the Balcony.</p></div><div '
                   'style="margin: 20px 10px;font-size: 15px;line-height: '
                   '22px;font-weight: 400;text-align: left"><h3>JORDAN '
                   'JENSEN</h3><p><br></p><p><strong></strong><strong>Links: '
                   '</strong><a href="https://www.jordanjensencomedy.com/" '
                   'title="https://www.jordanjensencomedy.com/" target="_blank" '
                   'data-msys-clicktrack="0" rel="nofollow noopener '
                   'noreferrer">Official Website</a> | <a '
                   'href="https://www.facebook.com/jordanjensencomedy/" '
                   'title="https://www.facebook.com/jordanjensencomedy/" '
                   'target="_blank" data-msys-clicktrack="0" rel="nofollow noopener '
                   'noreferrer">Facebook</a> | <a '
                   'href="https://www.instagram.com/jordanjensenlolstop/?hl=en" '
                   'title="https://www.instagram.com/jordanjensenlolstop/?hl=en" '
                   'target="_blank" data-msys-clicktrack="0" rel="nofollow noopener '
                   'noreferrer">Instagram</a></p></div></div>    </div>\n'
                   '</div></summary>    </section>'}
      2026-08-04 16:21:19 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://districtmusichall.com/info-page-sg/e/the-calling-before-the-world-turns-to-dust-tour-1993614665130/> (referer: https://districtmusichall.com/)
      2026-08-04 16:21:19 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-04 16:21:19 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 400 68
      2026-08-04 16:21:19 [district_music_hall] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-04 16:21:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://districtmusichall.com/info-page-sg/e/the-calling-before-the-world-turns-to-dust-tour-1993614665130/>
      {'event_url': 'https://districtmusichall.com/info-page-sg/e/the-calling-before-the-world-turns-to-dust-tour-1993614665130/',
       'platform': 'District music hall',
       'platform_hash': '6b4f271fdfa7af47c0eb25b6ae68b653',
       'raw_body': '<section class="wfea  default  collegestreetmusichall-v2 sg '
                   'sg-details"><article class="sg-details sg__event status-live  '
                   'city-norwalk region-ct country-us event__public '
                   'event__available">\n'
                   '    <div class="sg__hero">\n'
                   '\t\t    <figure class="">\n'
                   '\t\t<a id="wfea-popup-img-6a71f55d5f594-1993614665130" '
                   'href="https://www.eventbrite.com/e/the-calling-before-the-world-turns-to-dust-tour-tickets-1993614665130" '
                   'rel="bookmark"><img decoding="async" class="wp-post-image" '
                   'src="https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F1188544389%2F533131535899%2F1%2Foriginal.20260709-153011?h=200&amp;w=450&amp;auto=format%2Ccompress&amp;q=75&amp;sharp=10&amp;rect=1%2C106%2C8020%2C4010&amp;s=b88d9be2e4f254a40a553107b1a0672f" '
                   'alt="The Calling: Before The World Turns To Dust Tour"></a>    '
                   '</figure>\n'
                   '\t    </div>\n'
                   '    <div class="sg__content-wrap">\n'
                   '        <div class="sg__head-group">\n'
                   '\t\t\t\t\t<div class="sg__presented-by presented-by">Premier '
                   'Concerts and Manic Presents:</div>\n'
                   '\t\t<h2 class="sg__title wfea-header__title entry-title ">\n'
                   '\t<a id="wfea-popup-title-6a71f55d5f594-1993614665130" '
                   'href="https://www.eventbrite.com/e/the-calling-before-the-world-turns-to-dust-tour-tickets-1993614665130" '
                   'title="Eventbrite link to The Calling: Before The World Turns To '
                   'Dust Tour" rel="bookmark">The Calling: Before The World Turns To '
                   'Dust Tour</a></h2>\n'
                   '\n'
                   '<div class="sg__summary">\n'
                   '\t\u200e</div>        </div>\n'
                   '\n'
                   '        \n'
                   '        <div class="sg__content-group">\n'
                   '        \t    <time class="sg__head-date">\n'
                   '\t\t<time class="eaw-time published" '
                   'datetime="2026-09-18T20:00:00+00:00">Fri 9.18.26</time>    '
                   '</time>\n'
                   '\t\t\t<div class="sg__door-time door-time">Doors: 7:00 pm | '
                   'Show: 8:00 pm</div>\n'
                   '\t\t        <div class="sg__age-resriction age-restriction">All '
                   'Ages</div>\n'
                   '\t\t    <div class="sg__location location">\n'
                   '        District Music Hall<div class="city-region">Norwalk, '
                   'CT</div>    </div>\n'
                   '            </div>\n'
                   '\n'
                   '        <div class="sg__cta">\n'
                   '\t        <div class="sg__cta-wrap">\n'
                   '\t\t\t\t\n'
                   '\t\t\t\t<div class="sg__buttons">\n'
                   '\t\t\t\t\t    <div class="sg__booknow booknow ">\n'
                   '\t\t<a id="wfea-popup-booknow-6a71f55d5f594-1993614665130" '
                   'href="https://www.eventbrite.com/e/the-calling-before-the-world-turns-to-dust-tour-tickets-1993614665130" '
                   'aria-label="TICKETS » on Eventbrite for Event Detail Page" '
                   'class="book-now__link"><button>TICKETS »</button></a>    </div>\n'
                   '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n'
                   '\n'
                   '\t\t\t\t\t        </div>\n'
                   '\t    </div>\n'
                   '    </div>\n'
                   '</article>\n'
                   '\n'
                   '<summary class="sg-details-summary">\n'
                   '\t<div class="sg__content entry-content">\n'
                   '    <div class="sg__excerpt excerpt">\n'
                   '\t\t<div style="margin-top: 20px"><div style="margin: 20px '
                   '10px;font-size: 15px;line-height: 22px;font-weight: '
                   '400;text-align: left"><p>This event is General Admission '
                   'Standing Room Only on the Floor, and Reserved Seated in the '
                   'Balcony.</p></div></div>    </div>\n'
                   '</div></summary>    </section>'}
      2026-08-04 16:21:19 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-08-04 16:21:19 [scrapy.extensions.feedexport] INFO: Stored csv feed (21 items) in: output/2026/08/04/district_music_hall.csv
      2026-08-04 16:21:19 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 13729,
       'downloader/request_count': 43,
       'downloader/request_method_count/GET': 43,
       'downloader/response_bytes': 446966,
       'downloader/response_count': 43,
       'downloader/response_status_count/200': 22,
       'downloader/response_status_count/301': 21,
       'elapsed_time_seconds': 29.03119,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 8, 4, 14, 21, 19, 667120, tzinfo=datetime.timezone.utc),
       'httpcompression/response_bytes': 1526917,
       'httpcompression/response_count': 22,
       'item_scraped_count': 21,
       'items_per_minute': 43.44827586206897,
       'log_count/DEBUG': 106,
       'log_count/ERROR': 21,
       'log_count/INFO': 3,
       'memusage/max': 99635200,
       'memusage/startup': 99635200,
       'request_depth_max': 1,
       'response_received_count': 22,
       'responses_per_minute': 45.51724137931034,
       'scheduler/dequeued': 43,
       'scheduler/dequeued/memory': 43,
       'scheduler/enqueued': 43,
       'scheduler/enqueued/memory': 43,
       'start_time': datetime.datetime(2026, 8, 4, 14, 20, 50, 635930, tzinfo=datetime.timezone.utc)}
      2026-08-04 16:21:19 [scrapy.core.engine] INFO: Spider closed (finished)
    • Log

      /1/log/utf8/event_scrapers/district_music_hall/acebb38c900f11f194640050565fa5d9/?job_finished=True&ui=mobile

    • Source

      http://127.0.0.1:6800/logs/event_scrapers/district_music_hall/acebb38c900f11f194640050565fa5d9.log

  • sourcelog
    last update time2026-08-04 16:21:19
    last update timestamp1785853279
    downloader / request bytes13729
    downloader / request count43
    downloader / request method count / GET43
    downloader / response bytes446966
    downloader / response count43
    downloader / response status count / 20022
    downloader / response status count / 30121
    elapsed time seconds29.03119
    feedexport / success count / FileFeedStorage1
    finish reasonfinished
    finish timedatetime.datetime(2026, 8, 4, 14, 21, 19, 667120, tzinfo=datetime.timezone.utc)
    httpcompression / response bytes1526917
    httpcompression / response count22
    item scraped count21
    items per minute43.44827586206897
    log count / DEBUG106
    log count / ERROR21
    log count / INFO3
    memusage / max99635200
    memusage / startup99635200
    request depth max1
    response received count22
    responses per minute45.51724137931034
    scheduler / dequeued43
    scheduler / dequeued / memory43
    scheduler / enqueued43
    scheduler / enqueued / memory43
    start timedatetime.datetime(2026, 8, 4, 14, 20, 50, 635930, tzinfo=datetime.timezone.utc)