PROJECT (event_scrapers)
SPIDER (music_theatre)
2026-08-04 21:01:08 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
2026-08-04 21:01:08 [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 21:01:08 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
2026-08-04 21:01:08 [asyncio] DEBUG: Using selector: EpollSelector
2026-08-04 21:01:08 [scrapy.addons] INFO: Enabled addons:
[]
2026-08-04 21:01:08 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-08-04 21:01:08 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-08-04 21:01:08 [scrapy.extensions.telnet] INFO: Telnet Password: ed4136e82487f1f6
2026-08-04 21:01:08 [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 21:01:08 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'event_scrapers',
'FEED_EXPORT_ENCODING': 'utf-8',
'FEED_URI_PARAMS': <function _feed_uri_params at 0x70808eb374c0>,
'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/music_theatre/d6f4630d903611f1ad6f0050565fa5d9.log',
'NEWSPIDER_MODULE': 'event_scrapers.spiders',
'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
'SPIDER_MODULES': ['event_scrapers.spiders']}
2026-08-04 21:01:08 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-04 21:01:09 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-04 21:01:09 [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 21:01:09 [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 21:01:09 [scrapy.middleware] INFO: Enabled item pipelines:
['event_scrapers.pipelines.EventScrapersPipeline']
2026-08-04 21:01:09 [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 21:01:09 [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 21:01:09 [scrapy.core.engine] INFO: Spider opened
2026-08-04 21:01:09 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.music_theatre.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 21:01:09 [music_theatre] INFO: Sending scraped events to prod API
2026-08-04 21:01:09 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-08-04 21:01:09 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2026-08-04 21:01:10 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://app.arts-people.com/index.php?ticketing=mtct> (referer: None)
2026-08-04 21:01:10 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://app.arts-people.com/?show=334844>, and there are cookies in the cookiejar, but ZYTE_API_EXPERIMENTAL_COOKIES_ENABLED is False, so automatic mapping will not map cookies for this or any other request. To silence this warning, disable cookies for all requests that use automatic mapping, either with the COOKIES_ENABLED setting or with the dont_merge_cookies request metadata key.
2026-08-04 21:01:10 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://app.arts-people.com/?show=334844> (referer: https://app.arts-people.com/index.php?ticketing=mtct)
2026-08-04 21:01:10 [py.warnings] WARNING: /root/event-list-scraping/event_scrapers/spiders/music_theatre.py:34: 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 34 of the file /root/event-list-scraping/event_scrapers/spiders/music_theatre.py. To get rid of this warning, pass the additional argument 'features="lxml"' to the BeautifulSoup constructor.
item['raw_body'] = str(bs(body))
2026-08-04 21:01:10 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-04 21:01:10 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 500 145
2026-08-04 21:01:10 [music_theatre] 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 21:01:10 [scrapy.core.scraper] DEBUG: Scraped from <200 https://app.arts-people.com/?show=334844>
{'event_url': 'https://app.arts-people.com/?show=334844',
'platform': 'music theatre ofct',
'platform_hash': 'a34ebb398c7ce231420dc0818f369187',
'raw_body': '<html><body><table border="0" cellpadding="0" cellspacing="0" '
'class="content"><tr><td>\n'
'<!-- BEGIN table Object 2885 -->\n'
'<table border="0" cellpadding="0" cellspacing="0" '
'class="table_basic" id="TBL2885"><tr> <td width="33%">\n'
'<!-- BEGIN table Object 236 -->\n'
'<table id="TBL236" style="margin-right:20px;"><tr><td> <img '
'class="image_user" '
'src="/uploads/3050/HSN-2026-Randye-Kaye-Logo-2.png"/> '
'</td></tr>\n'
'<tr><td> <div class="show_text_div"> <span class="normal" '
'id=""></span> <span class="normal" id="show_text"><p><span '
'style="font-size: 12pt; background-color: #ff6600; color: '
'#ffffff;"><strong>MTC\xa0Hot Summer Nights</strong></span></p>\n'
'<p><span style="font-size: 18pt;"><strong><em>Cracks and All: A '
'Perfectly Imperfect Life<br/>\n'
'</em>by Randye Kaye</strong></span></p>\n'
'<p><span style="font-size: 14pt;">August 15, 2026 at '
'8:00pm</span></p>\n'
'<p><span style="font-size: 12pt;">Cracks and All, Randye Kaye’s '
'one-woman show, asks the question: “Can we be loved, even if we, '
'and our lives, are far from perfect?” Even if our past is full '
'of errors of judgment, dreams that fizzle, and sudden trauma? '
'Can we love, and laugh, flaws and all? </span></p></span> '
'</div></td></tr></table>\n'
'<!-- END table Object 236 -->\n'
'</td><td></td> <td align="LEFT" valign="TOP">\n'
'<!-- BEGIN table Object 240 -->\n'
'<table id="TBL240" style="width:100%;"><tr><td> <span '
'class="emph"> Please select a performance</span> </td></tr>\n'
'<tr><td>\n'
'<!-- BEGIN htable Object performances -->\n'
'<table class="htable" id="TBLperformances" '
'style="width:100%;"><tr> <th style="vertical-align:top; '
'padding-top: 7px;"> </th><th></th></tr><tr> <td '
'style="vertical-align:top; padding-top: 7px;"> <img '
'class="image_user" '
'src="/uploads/3050/3050-mtct-2022-bullet.png"/> </td><td>\n'
'<!-- BEGIN table Object 4600 -->\n'
'<table id="TBL4600" style="min-width:250px;"><tr><td> <a '
'class="" '
'href="https://app.arts-people.com/index.php?actions=4&p=2" '
'id="A2538">Sat, Aug 15th, 2026 at 8:00 pm</a> </td></tr>\n'
'<tr><td align="left"> <span class="normal" id=""></span> <span '
'class="normal" id="sold_out_text"></span> </td></tr></table>\n'
'<!-- END table Object 4600 -->\n'
'</td></tr>\n'
'</table>\n'
'<!-- END htable Object performances -->\n'
' \xa0 </td></tr>\n'
'<tr><td> <input class="btn btn-sm-bs3 btn-default '
'btn-outline-secondary" id="BTNnav_back_1" name="6" type="SUBMIT" '
'value="Back"/> </td></tr>\n'
'<tr><td> </td><td>\xa0 </td></tr></table>\n'
'<!-- END table Object 240 -->\n'
'</td> <td style="padding-left: 20px; width: 30%;">\n'
'<!-- BEGIN table Object 300 -->\n'
'<table id="TBL300"><tr><td><br/> </td></tr>\n'
'<tr><td align="left"> <span class="emph"> </span> <span '
'class="normal" id="11400"><p><span style="font-size: '
'10pt;"><strong>All Tickets:\xa0</strong>$45</span></p>\n'
'<p></p>\n'
'<p><span style="font-size: 10pt;">+$5 service fee per '
'ticket</span><br/>\n'
'<span style="font-size: 10pt;"> +$3 facility fee per '
'ticket</span><br/>\n'
'<span style="font-size: 10pt;"> <em>Fees apply whether you '
'purchase tix online, over the phone, or in '
'person.</em></span></p>\n'
'<p></p>\n'
'<p><span style="font-size: 10pt;"><strong>What are these '
'fees?</strong></span><br/>\n'
'<span style="font-size: 10pt;"> The service fee is charged by '
'our ticketing service, ArtsPeople.</span><br/>\n'
'<span style="font-size: 10pt;"> The facility fee goes towards '
'the maintenance and operation of MTC.</span></p></span> '
'</td></tr></table>\n'
'<!-- END table Object 300 -->\n'
'</td></tr></table>\n'
'<!-- END table Object 2885 -->\n'
'</td></tr></table></body></html>'}
2026-08-04 21:01:10 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://app.arts-people.com/?show=346164> (referer: https://app.arts-people.com/index.php?ticketing=mtct)
2026-08-04 21:01:10 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://app.arts-people.com/?show=318412> (referer: https://app.arts-people.com/index.php?ticketing=mtct)
2026-08-04 21:01:11 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-04 21:01:11 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 500 145
2026-08-04 21:01:11 [music_theatre] 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 21:01:11 [scrapy.core.scraper] DEBUG: Scraped from <200 https://app.arts-people.com/?show=346164>
{'event_url': 'https://app.arts-people.com/?show=346164',
'platform': 'music theatre ofct',
'platform_hash': 'a34ebb398c7ce231420dc0818f369187',
'raw_body': '<html><body><table border="0" cellpadding="0" cellspacing="0" '
'class="content"><tr><td>\n'
'<!-- BEGIN table Object 2885 -->\n'
'<table border="0" cellpadding="0" cellspacing="0" '
'class="table_basic" id="TBL2885"><tr> <td width="33%">\n'
'<!-- BEGIN table Object 236 -->\n'
'<table id="TBL236" style="margin-right:20px;"><tr><td> <img '
'class="image_user" src="/uploads/3050/KateKatcherFocus.png"/> '
'</td></tr>\n'
'<tr><td> <div class="show_text_div"> <span class="normal" '
'id=""></span> <span class="normal" id="show_text"><p><span '
'style="font-size: 12pt; background-color: #ffff00; color: '
'#000000;"><strong>MTC\xa0New Voices Reading '
'Series</strong></span></p>\n'
'<p><span style="font-size: 18pt; background-color: #ffff00; '
'color: #000000;"><strong><em><span style="background-color: '
'#ffffff;">36</span><br/>\n'
'</em></strong></span></p>\n'
'<p><em><span style="font-size: 12pt;">by</span></em><span '
'style="font-size: 12pt;">\xa0Kate Katcher</span></p>\n'
'<p><span style="font-size: 14pt;">August 11, 2026 at '
'7:30pm</span></p>\n'
'<p><span style="font-size: 12pt;">In summer 1984, Maxine Weiss '
'struggles to hold her demanding family together when her eldest '
'daughter announces she is moving to California. Against the '
'backdrop of the Lamed Vav legend, the family must learn to let '
'go, break free, and discover unexpected strength.<br/>\n'
'</span></p></span> </div></td></tr></table>\n'
'<!-- END table Object 236 -->\n'
'</td><td></td> <td align="LEFT" valign="TOP">\n'
'<!-- BEGIN table Object 240 -->\n'
'<table id="TBL240" style="width:100%;"><tr><td> <span '
'class="emph"> Please select a performance</span> </td></tr>\n'
'<tr><td>\n'
'<!-- BEGIN htable Object performances -->\n'
'<table class="htable" id="TBLperformances" '
'style="width:100%;"><tr> <th style="vertical-align:top; '
'padding-top: 7px;"> </th><th></th></tr><tr> <td '
'style="vertical-align:top; padding-top: 7px;"> <img '
'class="image_user" '
'src="/uploads/3050/3050-mtct-2022-bullet.png"/> </td><td>\n'
'<!-- BEGIN table Object 4600 -->\n'
'<table id="TBL4600" style="min-width:250px;"><tr><td> <a '
'class="" '
'href="https://app.arts-people.com/index.php?actions=4&p=3" '
'id="A2538">Tue, Aug 11th, 2026 at 7:30 pm</a> </td></tr>\n'
'<tr><td align="left"> <span class="normal" id=""></span> <span '
'class="normal" id="sold_out_text"></span> </td></tr></table>\n'
'<!-- END table Object 4600 -->\n'
'</td></tr>\n'
'</table>\n'
'<!-- END htable Object performances -->\n'
' \xa0 </td></tr>\n'
'<tr><td> <input class="btn btn-sm-bs3 btn-default '
'btn-outline-secondary" id="BTNnav_back_1" name="6" type="SUBMIT" '
'value="Back"/> </td></tr>\n'
'<tr><td> </td><td>\xa0 </td></tr></table>\n'
'<!-- END table Object 240 -->\n'
'</td> <td style="padding-left: 20px; width: 30%;">\n'
'<!-- BEGIN table Object 300 -->\n'
'<table id="TBL300"><tr><td><br/> </td></tr>\n'
'<tr><td align="left"> <span class="emph"> </span> <span '
'class="normal" id="11400"><p>All Tickets: $20</p>\n'
'<p></p>\n'
'<p>+$5 service fee per ticket<br/>\n'
' +$3 facility fee per ticket<br/>\n'
'<em>Fees apply whether you purchase tix online, over the phone, '
'or in person.</em></p>\n'
'<p></p>\n'
'<p><strong>What are these fees?</strong><br/>\n'
' The service fee is charged by our ticketing service, '
'ArtsPeople.<br/>\n'
' The facility fee goes towards the maintenance and operation of '
'MTC.</p></span> </td></tr></table>\n'
'<!-- END table Object 300 -->\n'
'</td></tr></table>\n'
'<!-- END table Object 2885 -->\n'
'</td></tr></table></body></html>'}
2026-08-04 21:01:11 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-04 21:01:11 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 500 145
2026-08-04 21:01:11 [music_theatre] 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 21:01:11 [scrapy.core.scraper] DEBUG: Scraped from <200 https://app.arts-people.com/?show=318412>
{'event_url': 'https://app.arts-people.com/?show=318412',
'platform': 'music theatre ofct',
'platform_hash': 'a34ebb398c7ce231420dc0818f369187',
'raw_body': '<html><body><table border="0" cellpadding="0" cellspacing="0" '
'class="content"><tr><td>\n'
'<!-- BEGIN table Object 2885 -->\n'
'<table border="0" cellpadding="0" cellspacing="0" '
'class="table_basic" id="TBL2885"><tr> <td width="33%">\n'
'<!-- BEGIN table Object 236 -->\n'
'<table id="TBL236" style="margin-right:20px;"><tr><td> <img '
'class="image_user" '
'src="/uploads/3050/Katona-and-Kittredge.png"/> </td></tr>\n'
'<tr><td> <div class="show_text_div"> <span class="normal" '
'id=""></span> <span class="normal" id="show_text"><p><span '
'style="font-size: 12pt; background-color: #ff6600; color: '
'#ffffff;"><strong>MTC\xa0Hot Summer Nights</strong></span></p>\n'
'<p><span style="font-size: 18pt;"><strong><em>Katona & '
'Kittredge: <br/>\n'
' Key Changes</em></strong></span></p>\n'
'<p><span style="font-size: 14pt;">August 8, 2026 at '
'8:00pm</span></p>\n'
'<p><span style="font-size: 12pt;">Ann Kittredge and Raissa '
'Katona Bennett—award-winning cabaret and Broadway artists—join '
'forces for an evening of song drawn from the Great American '
'Songbook, blending Standards, Pop, Classic Broadway, and works '
'by today’s most exciting new theatre '
'songwriters.</span></p></span> </div></td></tr></table>\n'
'<!-- END table Object 236 -->\n'
'</td><td></td> <td align="LEFT" valign="TOP">\n'
'<!-- BEGIN table Object 240 -->\n'
'<table id="TBL240" style="width:100%;"><tr><td> <span '
'class="emph"> Please select a performance</span> </td></tr>\n'
'<tr><td>\n'
'<!-- BEGIN htable Object performances -->\n'
'<table class="htable" id="TBLperformances" '
'style="width:100%;"><tr> <th style="vertical-align:top; '
'padding-top: 7px;"> </th><th></th></tr><tr> <td '
'style="vertical-align:top; padding-top: 7px;"> <img '
'class="image_user" '
'src="/uploads/3050/3050-mtct-2022-bullet.png"/> </td><td>\n'
'<!-- BEGIN table Object 4600 -->\n'
'<table id="TBL4600" style="min-width:250px;"><tr><td> <a '
'class="" '
'href="https://app.arts-people.com/index.php?actions=4&p=3" '
'id="A2538">Sat, Aug 8th, 2026 at 8:00 pm</a> </td></tr>\n'
'<tr><td align="left"> <span class="normal" id=""></span> <span '
'class="normal" id="sold_out_text"></span> </td></tr></table>\n'
'<!-- END table Object 4600 -->\n'
'</td></tr>\n'
'</table>\n'
'<!-- END htable Object performances -->\n'
' \xa0 </td></tr>\n'
'<tr><td> <input class="btn btn-sm-bs3 btn-default '
'btn-outline-secondary" id="BTNnav_back_1" name="6" type="SUBMIT" '
'value="Back"/> </td></tr>\n'
'<tr><td> </td><td>\xa0 </td></tr></table>\n'
'<!-- END table Object 240 -->\n'
'</td> <td style="padding-left: 20px; width: 30%;">\n'
'<!-- BEGIN table Object 300 -->\n'
'<table id="TBL300"><tr><td><br/> </td></tr>\n'
'<tr><td align="left"> <span class="emph"> </span> <span '
'class="normal" id="11400"><p><span style="font-size: '
'10pt;"><strong>All Tickets:\xa0</strong>$55</span></p>\n'
'<p></p>\n'
'<p><span style="font-size: 10pt;">+$5 service fee per '
'ticket</span><br/>\n'
'<span style="font-size: 10pt;"> +$3 facility fee per '
'ticket</span><br/>\n'
'<span style="font-size: 10pt;"> <em>Fees apply whether you '
'purchase tix online, over the phone, or in '
'person.</em></span></p>\n'
'<p></p>\n'
'<p><span style="font-size: 10pt;"><strong>What are these '
'fees?</strong></span><br/>\n'
'<span style="font-size: 10pt;"> The service fee is charged by '
'our ticketing service, ArtsPeople.</span><br/>\n'
'<span style="font-size: 10pt;"> The facility fee goes towards '
'the maintenance and operation of MTC.</span></p></span> '
'</td></tr></table>\n'
'<!-- END table Object 300 -->\n'
'</td></tr></table>\n'
'<!-- END table Object 2885 -->\n'
'</td></tr></table></body></html>'}
2026-08-04 21:01:11 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://app.arts-people.com/?show=346163> (referer: https://app.arts-people.com/index.php?ticketing=mtct)
2026-08-04 21:01:12 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-04 21:01:12 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 500 145
2026-08-04 21:01:12 [music_theatre] 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 21:01:12 [scrapy.core.scraper] DEBUG: Scraped from <200 https://app.arts-people.com/?show=346163>
{'event_url': 'https://app.arts-people.com/?show=346163',
'platform': 'music theatre ofct',
'platform_hash': 'a34ebb398c7ce231420dc0818f369187',
'raw_body': '<html><body><table border="0" cellpadding="0" cellspacing="0" '
'class="content"><tr><td>\n'
'<!-- BEGIN table Object 2885 -->\n'
'<table border="0" cellpadding="0" cellspacing="0" '
'class="table_basic" id="TBL2885"><tr> <td width="33%">\n'
'<!-- BEGIN table Object 236 -->\n'
'<table id="TBL236" style="margin-right:20px;"><tr><td> <img '
'class="image_user" src="/uploads/3050/JackRushenFocus.png"/> '
'</td></tr>\n'
'<tr><td> <div class="show_text_div"> <span class="normal" '
'id=""></span> <span class="normal" id="show_text"><p><span '
'style="font-size: 12pt; background-color: #ffff00; color: '
'#000000;"><strong>MTC\xa0New Voices Reading '
'Series</strong></span></p>\n'
'<p><span style="font-size: 18pt;"><strong><em>Taming The '
'Lion<br/>\n'
'</em></strong></span></p>\n'
'<p><em><span style="font-size: 12pt;">by</span></em><span '
'style="font-size: 12pt;">\xa0Jack Rushen</span></p>\n'
'<p><span style="font-size: 14pt;">August 4, 2026 at '
'7:30pm</span></p>\n'
'<p><span style="font-size: 12pt;">The true story of the '
'contentious relationship between film mogel Louis B. Mayer and '
'William Haines, the first openly gay actor in the studio system '
"in the early 30's.</span></p></span> </div></td></tr></table>\n"
'<!-- END table Object 236 -->\n'
'</td><td></td> <td align="LEFT" valign="TOP">\n'
'<!-- BEGIN table Object 240 -->\n'
'<table id="TBL240" style="width:100%;"><tr><td> <span '
'class="emph"> Please select a performance</span> </td></tr>\n'
'<tr><td>\n'
'<!-- BEGIN htable Object performances -->\n'
'<table class="htable" id="TBLperformances" '
'style="width:100%;"><tr> <th style="vertical-align:top; '
'padding-top: 7px;"> </th><th></th></tr><tr> <td '
'style="vertical-align:top; padding-top: 7px;"> <img '
'class="image_user" '
'src="/uploads/3050/3050-mtct-2022-bullet.png"/> </td><td>\n'
'<!-- BEGIN table Object 4600 -->\n'
'<table id="TBL4600" style="min-width:250px;"><tr><td> <a '
'class="" '
'href="https://app.arts-people.com/index.php?actions=4&p=3" '
'id="A2538">Tue, Aug 4th, 2026 at 7:30 pm</a> </td></tr>\n'
'<tr><td align="left"> <span class="normal" id=""></span> <span '
'class="normal" id="sold_out_text"></span> </td></tr></table>\n'
'<!-- END table Object 4600 -->\n'
'</td></tr>\n'
'</table>\n'
'<!-- END htable Object performances -->\n'
' \xa0 </td></tr>\n'
'<tr><td> <input class="btn btn-sm-bs3 btn-default '
'btn-outline-secondary" id="BTNnav_back_1" name="6" type="SUBMIT" '
'value="Back"/> </td></tr>\n'
'<tr><td> </td><td>\xa0 </td></tr></table>\n'
'<!-- END table Object 240 -->\n'
'</td> <td style="padding-left: 20px; width: 30%;">\n'
'<!-- BEGIN table Object 300 -->\n'
'<table id="TBL300"><tr><td><br/> </td></tr>\n'
'<tr><td align="left"> <span class="emph"> </span> <span '
'class="normal" id="11400"><p>All Tickets: $20</p>\n'
'<p></p>\n'
'<p>+$5 service fee per ticket<br/>\n'
' +$3 facility fee per ticket<br/>\n'
'<em>Fees apply whether you purchase tix online, over the phone, '
'or in person.</em></p>\n'
'<p></p>\n'
'<p><strong>What are these fees?</strong><br/>\n'
' The service fee is charged by our ticketing service, '
'ArtsPeople.<br/>\n'
' The facility fee goes towards the maintenance and operation of '
'MTC.</p></span> </td></tr></table>\n'
'<!-- END table Object 300 -->\n'
'</td></tr></table>\n'
'<!-- END table Object 2885 -->\n'
'</td></tr></table></body></html>'}
2026-08-04 21:01:12 [scrapy.core.engine] INFO: Closing spider (finished)
2026-08-04 21:01:12 [scrapy.extensions.feedexport] INFO: Stored csv feed (4 items) in: output/2026/08/04/music_theatre.csv
2026-08-04 21:01:12 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 1980,
'downloader/request_count': 5,
'downloader/request_method_count/GET': 5,
'downloader/response_bytes': 21382,
'downloader/response_count': 5,
'downloader/response_status_count/200': 5,
'elapsed_time_seconds': 3.288067,
'feedexport/success_count/FileFeedStorage': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2026, 8, 4, 19, 1, 12, 327762, tzinfo=datetime.timezone.utc),
'httpcompression/response_bytes': 77796,
'httpcompression/response_count': 5,
'item_scraped_count': 4,
'items_per_minute': 80.0,
'log_count/DEBUG': 17,
'log_count/ERROR': 4,
'log_count/INFO': 3,
'log_count/WARNING': 2,
'memusage/max': 99663872,
'memusage/startup': 99663872,
'request_depth_max': 1,
'response_received_count': 5,
'responses_per_minute': 100.0,
'scheduler/dequeued': 5,
'scheduler/dequeued/memory': 5,
'scheduler/enqueued': 5,
'scheduler/enqueued/memory': 5,
'start_time': datetime.datetime(2026, 8, 4, 19, 1, 9, 39695, tzinfo=datetime.timezone.utc)}
2026-08-04 21:01:12 [scrapy.core.engine] INFO: Spider closed (finished)
PROJECT (event_scrapers)
SPIDER (music_theatre)