PROJECT (event_scrapers)
SPIDER (brass_bonect)
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 & 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 '
'advantage of some great food and drink '
'specials!</div></div></body></html>'}
2026-08-11 14:00:18 [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 1194
2026-08-11 14:00:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
{'event_url': 'https://brassandbonect.com/events/#karaoke_at_brass_&_bone_wednesday_08_12_2026',
'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
'raw_body': '<html><body><div class="content-grid__item event" '
'data-date="2026-08-12" data-id="24" data-start-time="8PM" '
'data-title="Karaoke at Brass & Bone"><div '
'class="event-image"><img alt="Karaoke" decoding="async" '
'height="5" loading="lazy" '
'src="/images/posters/karaoke/small.webp" '
'srcset="/images/posters/karaoke/small.webp, '
'/images/posters/karaoke/medium.webp 2x" width="4"/></div><p '
'class="event-datetime"><span class="-capitalize">wednesday '
'08/12</span> 8PM</p><p class="event-title">Karaoke</p><div '
'class="event-description">This isn\'t your usual bar karaoke - '
'jump up on a fully outfitted stage and bring your voice to life '
'through a top tier lighting and sound setup. Once a month, come '
'checkout our special live band karaoke night and sing your heart '
'out backed by a full band!</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" 500 145
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 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
{'event_url': 'https://brassandbonect.com/events/#stand_up_comedy_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="25" data-start-time="8PM" '
'data-title="Stand Up Comedy at Brass & Bone"><div '
'class="event-image"><img alt="Stand Up Comedy" decoding="async" '
'height="5" loading="lazy" '
'src="/images/posters/stand-up-comedy/small.webp" '
'srcset="/images/posters/stand-up-comedy/small.webp, '
'/images/posters/stand-up-comedy/medium.webp 2x" '
'width="4"/></div><p class="event-datetime"><span '
'class="-capitalize">thursday 08/20</span> 8PM</p><p '
'class="event-title">Stand Up Comedy</p><div '
'class="event-description">Once a month, hosted by our very own '
'Jon Ackerman. Come on down for some laughs or let us know if you '
'want to take the stage yourself!</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 1881
2026-08-11 14:00:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
{'event_url': 'https://brassandbonect.com/events/#bluelight_special_at_brass_&_bone_tuesday_08_11_2026',
'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
'raw_body': '<html><body><div class="content-grid__item event" '
'data-date="2026-08-11" data-id="132" data-start-time="530PM" '
'data-title="Bluelight Special at Brass & Bone"><div '
'class="event-image"><img alt="Bluelight Special" '
'decoding="async" height="410" loading="lazy" '
'src="/images/posters/132/small.webp" '
'srcset="/images/posters/132/small.webp, '
'/images/posters/132/medium.webp 2x" width="328"/></div><p '
'class="event-datetime"><span class="-capitalize">tuesday '
'08/11</span> 530PM</p><p class="event-title">Bluelight '
'Special</p><div class="event-description">Fully licensed and '
"insured rock n' roll cover band</div><div "
'class="event-links"><a aria-label="View youtube profile for '
'Bluelight Special" class="social-link" '
'href="https://www.youtube.com/@bluelightspecialct" '
'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 instagram profile for Bluelight Special" '
'class="social-link" '
'href="https://www.instagram.com/bluelightspecialct" '
'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 3118
2026-08-11 14:00:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
{'event_url': 'https://brassandbonect.com/events/#chuck_chesler_at_brass_&_bone_thursday_08_13_2026',
'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
'raw_body': '<html><body><div class="content-grid__item event" '
'data-date="2026-08-13" data-id="135" data-start-time="5PM" '
'data-title="Chuck Chesler at Brass & Bone"><div '
'class="event-image"><img alt="Chuck Chesler" decoding="async" '
'height="410" loading="lazy" src="/images/posters/135/small.webp" '
'srcset="/images/posters/135/small.webp, '
'/images/posters/135/medium.webp 2x" width="328"/></div><p '
'class="event-datetime"><span class="-capitalize">thursday '
'08/13</span> 5PM</p><p class="event-title">Chuck Chesler</p><div '
'class="event-description">Chuck Chesler, the source and writer '
'of Tyrone Shoelaces has been playing in multiple bands in the '
'Grateful Dead world over for most of his life since beginning '
'his career with The Lost Boys, who left their mark on the early '
'jam band era from 1985-1995.<br/><br/>Chuck then began a stint '
'with Levon Helm from 2000-2002 working alongside long time '
'friend and musical homie, Jimmy Bennett. These sessions, helped '
'Levon begin his journey back from cancer. They also became the '
'prelude to the legendary Midnight Rambles.</div><div '
'class="event-links"><a aria-label="View website for Chuck '
'Chesler" class="social-link" '
'href="https://www.tyroneshoelaces.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 Chuck Chesler" '
'class="social-link" '
'href="https://open.spotify.com/artist/5cMfg1Ld6O4oYvXnC9ZMeX" '
'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 Chuck Chesler" '
'class="social-link" '
'href="https://www.facebook.com/TyroneShoelacesBand" '
'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 Chuck Chesler" '
'class="social-link" href="https://www.instagram.com/tyroneband" '
'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 3736
2026-08-11 14:00:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
{'event_url': 'https://brassandbonect.com/events/#the_upfronts_at_brass_&_bone_friday_08_14_2026',
'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
'raw_body': '<html><body><div class="content-grid__item event" '
'data-date="2026-08-14" data-id="134" data-start-time="10PM" '
'data-title="The Upfronts at Brass & Bone"><div '
'class="event-image"><img alt="The Upfronts" decoding="async" '
'height="410" loading="lazy" src="/images/posters/134/small.webp" '
'srcset="/images/posters/134/small.webp, '
'/images/posters/134/medium.webp 2x" width="328"/></div><p '
'class="event-datetime"><span class="-capitalize">friday '
'08/14</span> 10PM</p><p class="event-title">The Upfronts</p><div '
'class="event-description">We\'re a pop-punk band from Norwalk, '
'CT mixing punk, jazz, and metal vibes into something fresh and '
"wild.<br/><br/>We've been playing together for almost 10 years "
'under different names—starting with Saturday Drive back in high '
'school, where G, Luis, and Juan dropped raw punk demo "Converse '
'vs. Pizza Hut".</div><div class="event-links"><a '
'aria-label="View spotify profile for The Upfronts" '
'class="social-link" '
'href="https://open.spotify.com/artist/3qCugYCdZJYOmhFugmPQhx" '
'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 youtube profile for The Upfronts" '
'class="social-link" href="https://www.youtube.com/@theupfronts" '
'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 The Upfronts" '
'class="social-link" '
'href="https://www.facebook.com/theupfrontsct" '
'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 The Upfronts" '
'class="social-link" href="https://www.instagram.com/theupfronts" '
'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><a '
'aria-label="View tiktok profile for The Upfronts" '
'class="social-link" href="https://www.tiktok.com/@theupfronts" '
'target="_blank"><img ,="" alt="tiktok logo" decoding="async" '
'height="40" loading="lazy" src="/images/social/tiktok/1x.webp" '
'srcset="/images/social/tiktok/1x.webp, '
'/images/social/tiktok/2x.webp 2x, /images/social/tiktok/3x.webp '
'3x" width="40"/> </a><a aria-label="View apple_music profile for '
'The Upfronts" class="social-link" '
'href="https://music.apple.com/us/artist/the-upfronts/1510252526" '
'target="_blank"><img ,="" alt="apple_music logo" '
'decoding="async" height="40" loading="lazy" '
'src="/images/social/apple_music/1x.webp" '
'srcset="/images/social/apple_music/1x.webp, '
'/images/social/apple_music/2x.webp 2x, '
'/images/social/apple_music/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 2157
2026-08-11 14:00:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
{'event_url': 'https://brassandbonect.com/events/#nick_dimaria_quartet_at_brass_&_bone_saturday_08_15_2026',
'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
'raw_body': '<html><body><div class="content-grid__item event" '
'data-date="2026-08-15" data-id="133" data-start-time="6PM" '
'data-title="Nick DiMaria Quartet at Brass & Bone"><div '
'class="event-image"><img alt="Nick DiMaria Quartet" '
'decoding="async" height="410" loading="lazy" '
'src="/images/posters/133/small.webp" '
'srcset="/images/posters/133/small.webp, '
'/images/posters/133/medium.webp 2x" width="328"/></div><p '
'class="event-datetime"><span class="-capitalize">saturday '
'08/15</span> 6PM</p><p class="event-title">Nick DiMaria '
'Quartet</p><div class="event-description">Trumpeter Nick Di '
"Maria's music is a blend of modern jazz melodies mixed over the "
'eclectic sounds of funk, fusion, world music and LoFi. His music '
'is original, exciting and enjoyed by heavy jazz diehards and the '
'most casual newbies. His bands and music have been described as '
'“moody, playful and often times…danceable. In a word, '
'‘groovy.’”</div><div class="event-links"><a aria-label="View '
'website for Nick DiMaria Quartet" class="social-link" '
'href="https://nickdimariatrumpet.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 youtube profile for Nick DiMaria Quartet" '
'class="social-link" href="https://www.youtube.com/@nicktsunami" '
'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></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" 400 68
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:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://brassandbonect.com/events/>
{'event_url': 'https://brassandbonect.com/events/#zully_ramos_and_the_ogs_at_brass_&_bone_saturday_08_15_2026',
'platform_hash': 'e13843b4b7e09a32288d3baf2c458376',
'raw_body': '<html><body><div class="content-grid__item event" '
'data-date="2026-08-15" data-id="100" data-start-time="930PM" '
'data-title="Zully Ramos and the OGs at Brass & Bone"><div '
'class="event-image"><img alt="Zully Ramos and the OGs" '
'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 & 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 & 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 & 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&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)
PROJECT (event_scrapers)
SPIDER (brass_bonect)