Desktop version Jobs
  • Analysis
  • Categories
  • Logs
  • Crawler.stats
  • projectevent_scrapers
    spiderbrass_bonect
    job367a3bfe957c11f1b2f90050565fa5d9
    first_log_time2026-08-11 14:00:17
    latest_log_time2026-08-11 14:00:20
    runtime0:00:03
    crawled_pages 1
    scraped_items 11
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count3
    log_warning_count1
    log_redirect_count0
    log_retry_count0
    log_ignore_count0
    latest_crawl
    latest_scrape
    latest_log
    current_time
    latest_item{'event_url': 'https://brassandbonect.com/events/#midnight_cardinal_at_brass_&_bone_saturday_08_22_2026', 'platform_hash': 'e13843b4b7e09a32288d3baf2c458376', 'raw_body': '<html><body><div class="content-grid__item event" ' 'data-date="2026-08-22" data-id="124" data-start-time="930PM" ' 'data-title="Midnight Cardinal at Brass &amp; Bone"><div ' 'class="event-image"><img alt="Midnight Cardinal" ' 'decoding="async" height="410" loading="lazy" ' 'src="/images/posters/124/small.webp" ' 'srcset="/images/posters/124/small.webp, ' '/images/posters/124/medium.webp 2x" width="328"/></div><p ' 'class="event-datetime"><span class="-capitalize">saturday ' '08/22</span> 930PM</p><p class="event-title">Midnight ' 'Cardinal</p><div class="event-description">Based in Westport, ' 'Connecticut, Midnight Cardinal isn’t your average cover band. ' 'Known for turning classic hits and unexpected album cuts into ' 'full-room experiences, their genre-bending setlists span ' 'alt-pop, rock, soul, R&amp;B, disco, and indie favorites. Every ' 'show is high-energy, musically tight, and built for ' 'connection.<br/><br/>*It’s midnight. Start dreaming.*</div><div ' 'class="event-links"><a aria-label="View website for Midnight ' 'Cardinal" class="social-link" ' 'href="https://www.midnightcardinal.com/" target="_blank"><img ' ',="" alt="website logo" decoding="async" height="40" ' 'loading="lazy" src="/images/social/website/1x.webp" ' 'srcset="/images/social/website/1x.webp, ' '/images/social/website/2x.webp 2x, ' '/images/social/website/3x.webp 3x" width="40"/> </a><a ' 'aria-label="View facebook profile for Midnight Cardinal" ' 'class="social-link" ' 'href="https://www.facebook.com/Midnight-Cardinal-61570073564175" ' 'target="_blank"><img ,="" alt="facebook logo" decoding="async" ' 'height="40" loading="lazy" src="/images/social/facebook/1x.webp" ' 'srcset="/images/social/facebook/1x.webp, ' '/images/social/facebook/2x.webp 2x, ' '/images/social/facebook/3x.webp 3x" width="40"/> </a><a ' 'aria-label="View instagram profile for Midnight Cardinal" ' 'class="social-link" ' 'href="https://www.instagram.com/midnightcardinalmusic" ' 'target="_blank"><img ,="" alt="instagram logo" decoding="async" ' 'height="40" loading="lazy" ' 'src="/images/social/instagram/1x.webp" ' 'srcset="/images/social/instagram/1x.webp, ' '/images/social/instagram/2x.webp 2x, ' '/images/social/instagram/3x.webp 3x" ' 'width="40"/></a></div></div></body></html>'}
    • WARNING+

    • error_logs
      3 in total

      2026-08-11 14:00:19 [brass_bonect] 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-11 14:00:19 [brass_bonect] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-11 14:00:20 [brass_bonect] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
    • warning_logs
      1 in total

      2026-08-11 14:00:18 [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-11 14:00:18 [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-11 14:00:18 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.brass_bonect.BrassBonectSpider 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-11 14:00:18 [py.warnings] WARNING: /root/event-list-scraping/event_scrapers/spiders/brass_bonect.py:25: GuessedAtParserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.
      
      The code that caused this warning is on line 25 of the file /root/event-list-scraping/event_scrapers/spiders/brass_bonect.py. To get rid of this warning, pass the additional argument 'features="lxml"' to the BeautifulSoup constructor.
      
        item['raw_body'] = str(bs(event.get()))
      

      INFO

      DEBUG

    • scrapy_version

      2.14.1
    • telnet_console

      127.0.0.1:6023
    • telnet_password

      800e3fda208da80f
    • latest_crawl

      2026-08-11 14:00:18 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://brassandbonect.com/events/> (referer: None)
    • latest_stat

      2026-08-11 14:00:18 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
    • latest_scrape

      2026-08-11 14:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
    • latest_item

      {'event_url': 'https://brassandbonect.com/events/#midnight_cardinal_at_brass_&_bone_saturday_08_22_2026',
       'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
       'raw_body': '<html><body><div class="content-grid__item event" '
                   'data-date="2026-08-22" data-id="124" data-start-time="930PM" '
                   'data-title="Midnight Cardinal at Brass &amp; Bone"><div '
                   'class="event-image"><img alt="Midnight Cardinal" '
                   'decoding="async" height="410" loading="lazy" '
                   'src="/images/posters/124/small.webp" '
                   'srcset="/images/posters/124/small.webp, '
                   '/images/posters/124/medium.webp 2x" width="328"/></div><p '
                   'class="event-datetime"><span class="-capitalize">saturday '
                   '08/22</span> 930PM</p><p class="event-title">Midnight '
                   'Cardinal</p><div class="event-description">Based in Westport, '
                   'Connecticut, Midnight Cardinal isn’t your average cover band. '
                   'Known for turning classic hits and unexpected album cuts into '
                   'full-room experiences, their genre-bending setlists span '
                   'alt-pop, rock, soul, R&amp;B, disco, and indie favorites. Every '
                   'show is high-energy, musically tight, and built for '
                   'connection.<br/><br/>*It’s midnight. Start dreaming.*</div><div '
                   'class="event-links"><a aria-label="View website for Midnight '
                   'Cardinal" class="social-link" '
                   'href="https://www.midnightcardinal.com/" target="_blank"><img '
                   ',="" alt="website logo" decoding="async" height="40" '
                   'loading="lazy" src="/images/social/website/1x.webp" '
                   'srcset="/images/social/website/1x.webp, '
                   '/images/social/website/2x.webp 2x, '
                   '/images/social/website/3x.webp 3x" width="40"/> </a><a '
                   'aria-label="View facebook profile for Midnight Cardinal" '
                   'class="social-link" '
                   'href="https://www.facebook.com/Midnight-Cardinal-61570073564175" '
                   'target="_blank"><img ,="" alt="facebook logo" decoding="async" '
                   'height="40" loading="lazy" src="/images/social/facebook/1x.webp" '
                   'srcset="/images/social/facebook/1x.webp, '
                   '/images/social/facebook/2x.webp 2x, '
                   '/images/social/facebook/3x.webp 3x" width="40"/> </a><a '
                   'aria-label="View instagram profile for Midnight Cardinal" '
                   'class="social-link" '
                   'href="https://www.instagram.com/midnightcardinalmusic" '
                   'target="_blank"><img ,="" alt="instagram logo" decoding="async" '
                   'height="40" loading="lazy" '
                   'src="/images/social/instagram/1x.webp" '
                   'srcset="/images/social/instagram/1x.webp, '
                   '/images/social/instagram/2x.webp 2x, '
                   '/images/social/instagram/3x.webp 3x" '
                   'width="40"/></a></div></div></body></html>'}
    • Head

      2026-08-11 14:00:17 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
      2026-08-11 14:00:17 [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-11 14:00:17 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
      2026-08-11 14:00:17 [asyncio] DEBUG: Using selector: EpollSelector
      2026-08-11 14:00:17 [scrapy.addons] INFO: Enabled addons:
      []
      2026-08-11 14:00:18 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-08-11 14:00:18 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-08-11 14:00:18 [scrapy.extensions.telnet] INFO: Telnet Password: 800e3fda208da80f
      2026-08-11 14:00:18 [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-11 14:00:18 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'event_scrapers',
       'FEED_EXPORT_ENCODING': 'utf-8',
       'FEED_URI_PARAMS': <function _feed_uri_params at 0x71c5e67134c0>,
       'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/brass_bonect/367a3bfe957c11f1b2f90050565fa5d9.log',
       'NEWSPIDER_MODULE': 'event_scrapers.spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'SPIDER_MODULES': ['event_scrapers.spiders']}
      2026-08-11 14:00:18 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-11 14:00:18 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
      2026-08-11 14:00:18 [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-11 14:00:18 [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-11 14:00:18 [scrapy.middleware] INFO: Enabled item pipelines:
      ['event_scrapers.pipelines.EventScrapersPipeline']
      2026-08-11 14:00:18 [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-11 14:00:18 [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-11 14:00:18 [scrapy.core.engine] INFO: Spider opened
      2026-08-11 14:00:18 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.brass_bonect.BrassBonectSpider 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-11 14:00:18 [brass_bonect] INFO: Sending scraped events to prod API
      2026-08-11 14:00:18 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-08-11 14:00:18 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-08-11 14:00:18 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://brassandbonect.com/events/> (referer: None)
      2026-08-11 14:00:18 [py.warnings] WARNING: /root/event-list-scraping/event_scrapers/spiders/brass_bonect.py:25: GuessedAtParserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.
      
      The code that caused this warning is on line 25 of the file /root/event-list-scraping/event_scrapers/spiders/brass_bonect.py. To get rid of this warning, pass the additional argument 'features="lxml"' to the BeautifulSoup constructor.
      
        item['raw_body'] = str(bs(event.get()))
      
      2026-08-11 14:00:18 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-11 14:00:18 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 1248
      2026-08-11 14:00:18 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
      {'event_url': 'https://brassandbonect.com/events/#open_mic_night_at_brass_&_bone_tuesday_08_18_2026',
       'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
       'raw_body': '<html><body><div class="content-grid__item event" '
                   'data-date="2026-08-18" data-id="2" data-start-time="8PM" '
                   'data-title="Open Mic Night at Brass &amp; Bone"><div '
                   'class="event-image"><img alt="Open Mic Night" decoding="async" '
                   'height="5" loading="lazy" '
                   'src="/images/posters/open-mic-night/small.webp" '
                   'srcset="/images/posters/open-mic-night/small.webp, '
                   '/images/posters/open-mic-night/medium.webp 2x" '
                   'width="4"/></div><p class="event-datetime"><span '
                   'class="-capitalize">tuesday 08/18</span> 8PM</p><p '
                   'class="event-title">Open Mic Night</p><div '
                   'class="event-description">Come on down and showcase your '
                   "talents! With a full backline of gear available, it's all set up "
                   "to just plug in and play. If you're not one to jump up on stage, "
                   'come check out some amazing local talent while you take '
    • Tail

                   'decoding="async" height="410" loading="lazy" '
                   'src="/images/posters/100/small.webp" '
                   'srcset="/images/posters/100/small.webp, '
                   '/images/posters/100/medium.webp 2x" width="328"/></div><p '
                   'class="event-datetime"><span class="-capitalize">saturday '
                   '08/15</span> 930PM</p><p class="event-title">Zully Ramos and the '
                   'OGs</p><div class="event-description">A long time performer, '
                   'Zully Ramos has sung on countless stages across the Tri-State '
                   'area. From theater and cabaret performances around Fairfield '
                   'County, to being the lead singer of various bands, Zully has '
                   'trained her voice to cross genres.</div><div '
                   'class="event-links"><a aria-label="View youtube profile for '
                   'Zully Ramos and the OGs" class="social-link" '
                   'href="https://www.youtube.com/@ZullyRamosMusic" '
                   'target="_blank"><img ,="" alt="youtube logo" decoding="async" '
                   'height="40" loading="lazy" src="/images/social/youtube/1x.webp" '
                   'srcset="/images/social/youtube/1x.webp, '
                   '/images/social/youtube/2x.webp 2x, '
                   '/images/social/youtube/3x.webp 3x" width="40"/> </a><a '
                   'aria-label="View facebook profile for Zully Ramos and the OGs" '
                   'class="social-link" '
                   'href="https://www.facebook.com/ZullyRamosMusic" '
                   'target="_blank"><img ,="" alt="facebook logo" decoding="async" '
                   'height="40" loading="lazy" src="/images/social/facebook/1x.webp" '
                   'srcset="/images/social/facebook/1x.webp, '
                   '/images/social/facebook/2x.webp 2x, '
                   '/images/social/facebook/3x.webp 3x" width="40"/> </a><a '
                   'aria-label="View instagram profile for Zully Ramos and the OGs" '
                   'class="social-link" href="https://www.instagram.com/zrandtheogs" '
                   'target="_blank"><img ,="" alt="instagram logo" decoding="async" '
                   'height="40" loading="lazy" '
                   'src="/images/social/instagram/1x.webp" '
                   'srcset="/images/social/instagram/1x.webp, '
                   '/images/social/instagram/2x.webp 2x, '
                   '/images/social/instagram/3x.webp 3x" '
                   'width="40"/></a></div></div></body></html>'}
      2026-08-11 14:00:19 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-11 14:00:19 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 1048
      2026-08-11 14:00:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
      {'event_url': 'https://brassandbonect.com/events/#mike_cusa_at_brass_&_bone_thursday_08_20_2026',
       'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
       'raw_body': '<html><body><div class="content-grid__item event" '
                   'data-date="2026-08-20" data-id="130" data-start-time="5PM" '
                   'data-title="Mike Cusa at Brass &amp; Bone"><div '
                   'class="event-image"><img alt="Mike Cusa" decoding="async" '
                   'height="410" loading="lazy" src="/images/posters/130/small.webp" '
                   'srcset="/images/posters/130/small.webp, '
                   '/images/posters/130/medium.webp 2x" width="328"/></div><p '
                   'class="event-datetime"><span class="-capitalize">thursday '
                   '08/20</span> 5PM</p><p class="event-title">Mike Cusa</p><div '
                   'class="event-description">Join Mike Cusa in the Piano corner for '
                   'a dinner service of classics and more!</div><div '
                   'class="event-links"></div></div></body></html>'}
      2026-08-11 14:00:19 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-11 14:00:20 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 3893
      2026-08-11 14:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
      {'event_url': 'https://brassandbonect.com/events/#peak_at_brass_&_bone_friday_08_21_2026',
       'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
       'raw_body': '<html><body><div class="content-grid__item event" '
                   'data-date="2026-08-21" data-id="114" data-start-time="930PM" '
                   'data-title="PEAK at Brass &amp; Bone"><div '
                   'class="event-image"><img alt="PEAK" decoding="async" '
                   'height="410" loading="lazy" src="/images/posters/114/small.webp" '
                   'srcset="/images/posters/114/small.webp, '
                   '/images/posters/114/medium.webp 2x" width="328"/></div><p '
                   'class="event-datetime"><span class="-capitalize">friday '
                   '08/21</span> 930PM</p><p class="event-title">PEAK</p><div '
                   'class="event-description">PEAK is a Brooklyn-based Quartet led '
                   'by guitarist Jeremy Hilliard, a versatile singer–songwriter, '
                   'that has been performing in its current incarnation since 2019. '
                   "PEAK's original music, characterized as psychedelic indie funk, "
                   'draws from influences ranging from Talking Heads, Phish, and the '
                   "Grateful Dead to Tom Petty and Bright Eyes.<br/><br/>The band's "
                   'three albums, “Electric Bouquet,” “Choppy Water,” and “Vanishing '
                   "Skies” highlight PEAK's versatile talents within a range that "
                   'veers from guitar-driven rock to Americana and melodic indie '
                   "tunes.<br/><br/>Hilliard's musicianship and lyric narrative "
                   'style mesh seamlessly with the talents of keyboard master Johnny '
                   'Young. Friends for many years, the two started writing songs '
                   'together as the band began to take shape. Blind since age 17, '
                   'Young has been blessed with a soulful voice and musical talents '
                   'that help PEAK paint richly detailed, ever-changing visions of '
                   'color and sound on the stage.<br/><br/>Drummer Kito Bovenschulte '
                   'and bassist Josh T. Carter provide the flawless beat that moves '
                   'the music of PEAK through a playlist including a distinctive mix '
                   'of searing blues rock, high-energy electro funk and moody indie '
                   'originals.<br/><br/>The band has shared the stage with acts such '
                   'as Goose, Eggy, Dizgo, Lespecial, Neighbor, Mihali, Kendal '
                   'Street Company, The Magic Beans, Space Bacon, and many '
                   'more.</div><div class="event-links"><a aria-label="View website '
                   'for PEAK" class="social-link" '
                   'href="https://www.peaktheband.com/" target="_blank"><img ,="" '
                   'alt="website logo" decoding="async" height="40" loading="lazy" '
                   'src="/images/social/website/1x.webp" '
                   'srcset="/images/social/website/1x.webp, '
                   '/images/social/website/2x.webp 2x, '
                   '/images/social/website/3x.webp 3x" width="40"/> </a><a '
                   'aria-label="View spotify profile for PEAK" class="social-link" '
                   'href="https://open.spotify.com/artist/3Irtra1o5fL2pJMPPtXHxd" '
                   'target="_blank"><img ,="" alt="spotify logo" decoding="async" '
                   'height="40" loading="lazy" src="/images/social/spotify/1x.webp" '
                   'srcset="/images/social/spotify/1x.webp, '
                   '/images/social/spotify/2x.webp 2x, '
                   '/images/social/spotify/3x.webp 3x" width="40"/> </a><a '
                   'aria-label="View facebook profile for PEAK" class="social-link" '
                   'href="https://www.facebook.com/PEAKbandNYC" target="_blank"><img '
                   ',="" alt="facebook logo" decoding="async" height="40" '
                   'loading="lazy" src="/images/social/facebook/1x.webp" '
                   'srcset="/images/social/facebook/1x.webp, '
                   '/images/social/facebook/2x.webp 2x, '
                   '/images/social/facebook/3x.webp 3x" width="40"/> </a><a '
                   'aria-label="View instagram profile for PEAK" class="social-link" '
                   'href="https://www.instagram.com/peaktheband" '
                   'target="_blank"><img ,="" alt="instagram logo" decoding="async" '
                   'height="40" loading="lazy" '
                   'src="/images/social/instagram/1x.webp" '
                   'srcset="/images/social/instagram/1x.webp, '
                   '/images/social/instagram/2x.webp 2x, '
                   '/images/social/instagram/3x.webp 3x" '
                   'width="40"/></a></div></div></body></html>'}
      2026-08-11 14:00:20 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
      2026-08-11 14:00:20 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 400 68
      2026-08-11 14:00:20 [brass_bonect] ERROR: API error 400: {"event_url":["Raw Event Data with this event url already exists."]}
      2026-08-11 14:00:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
      {'event_url': 'https://brassandbonect.com/events/#midnight_cardinal_at_brass_&_bone_saturday_08_22_2026',
       'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
       'raw_body': '<html><body><div class="content-grid__item event" '
                   'data-date="2026-08-22" data-id="124" data-start-time="930PM" '
                   'data-title="Midnight Cardinal at Brass &amp; Bone"><div '
                   'class="event-image"><img alt="Midnight Cardinal" '
                   'decoding="async" height="410" loading="lazy" '
                   'src="/images/posters/124/small.webp" '
                   'srcset="/images/posters/124/small.webp, '
                   '/images/posters/124/medium.webp 2x" width="328"/></div><p '
                   'class="event-datetime"><span class="-capitalize">saturday '
                   '08/22</span> 930PM</p><p class="event-title">Midnight '
                   'Cardinal</p><div class="event-description">Based in Westport, '
                   'Connecticut, Midnight Cardinal isn’t your average cover band. '
                   'Known for turning classic hits and unexpected album cuts into '
                   'full-room experiences, their genre-bending setlists span '
                   'alt-pop, rock, soul, R&amp;B, disco, and indie favorites. Every '
                   'show is high-energy, musically tight, and built for '
                   'connection.<br/><br/>*It’s midnight. Start dreaming.*</div><div '
                   'class="event-links"><a aria-label="View website for Midnight '
                   'Cardinal" class="social-link" '
                   'href="https://www.midnightcardinal.com/" target="_blank"><img '
                   ',="" alt="website logo" decoding="async" height="40" '
                   'loading="lazy" src="/images/social/website/1x.webp" '
                   'srcset="/images/social/website/1x.webp, '
                   '/images/social/website/2x.webp 2x, '
                   '/images/social/website/3x.webp 3x" width="40"/> </a><a '
                   'aria-label="View facebook profile for Midnight Cardinal" '
                   'class="social-link" '
                   'href="https://www.facebook.com/Midnight-Cardinal-61570073564175" '
                   'target="_blank"><img ,="" alt="facebook logo" decoding="async" '
                   'height="40" loading="lazy" src="/images/social/facebook/1x.webp" '
                   'srcset="/images/social/facebook/1x.webp, '
                   '/images/social/facebook/2x.webp 2x, '
                   '/images/social/facebook/3x.webp 3x" width="40"/> </a><a '
                   'aria-label="View instagram profile for Midnight Cardinal" '
                   'class="social-link" '
                   'href="https://www.instagram.com/midnightcardinalmusic" '
                   'target="_blank"><img ,="" alt="instagram logo" decoding="async" '
                   'height="40" loading="lazy" '
                   'src="/images/social/instagram/1x.webp" '
                   'srcset="/images/social/instagram/1x.webp, '
                   '/images/social/instagram/2x.webp 2x, '
                   '/images/social/instagram/3x.webp 3x" '
                   'width="40"/></a></div></div></body></html>'}
      2026-08-11 14:00:20 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-08-11 14:00:20 [scrapy.extensions.feedexport] INFO: Stored csv feed (11 items) in: output/2026/08/11/brass_bonect.csv
      2026-08-11 14:00:20 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 230,
       'downloader/request_count': 1,
       'downloader/request_method_count/GET': 1,
       'downloader/response_bytes': 9326,
       'downloader/response_count': 1,
       'downloader/response_status_count/200': 1,
       'elapsed_time_seconds': 2.097897,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 8, 11, 12, 0, 20, 217814, tzinfo=datetime.timezone.utc),
       'httpcompression/response_bytes': 39705,
       'httpcompression/response_count': 1,
       'item_scraped_count': 11,
       'items_per_minute': 330.0,
       'log_count/DEBUG': 34,
       'log_count/ERROR': 3,
       'log_count/INFO': 3,
       'log_count/WARNING': 1,
       'memusage/max': 99631104,
       'memusage/startup': 99631104,
       '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, 8, 11, 12, 0, 18, 119917, tzinfo=datetime.timezone.utc)}
      2026-08-11 14:00:20 [scrapy.core.engine] INFO: Spider closed (finished)
    • Log

      /1/log/utf8/event_scrapers/brass_bonect/367a3bfe957c11f1b2f90050565fa5d9/?job_finished=True&ui=mobile

    • Source

      http://127.0.0.1:6800/logs/event_scrapers/brass_bonect/367a3bfe957c11f1b2f90050565fa5d9.log

  • sourcelog
    last update time2026-08-11 14:00:20
    last update timestamp1786449620
    downloader / request bytes230
    downloader / request count1
    downloader / request method count / GET1
    downloader / response bytes9326
    downloader / response count1
    downloader / response status count / 2001
    elapsed time seconds2.097897
    feedexport / success count / FileFeedStorage1
    finish reasonfinished
    finish timedatetime.datetime(2026, 8, 11, 12, 0, 20, 217814, tzinfo=datetime.timezone.utc)
    httpcompression / response bytes39705
    httpcompression / response count1
    item scraped count11
    items per minute330.0
    log count / DEBUG34
    log count / ERROR3
    log count / INFO3
    log count / WARNING1
    memusage / max99631104
    memusage / startup99631104
    response received count1
    responses per minute30.0
    scheduler / dequeued1
    scheduler / dequeued / memory1
    scheduler / enqueued1
    scheduler / enqueued / memory1
    start timedatetime.datetime(2026, 8, 11, 12, 0, 18, 119917, tzinfo=datetime.timezone.utc)