Head
2026-08-11 14:40:22 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
2026-08-11 14:40:22 [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:40:22 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
2026-08-11 14:40:22 [asyncio] DEBUG: Using selector: EpollSelector
2026-08-11 14:40:22 [scrapy.addons] INFO: Enabled addons:
[]
2026-08-11 14:40:22 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-08-11 14:40:22 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-08-11 14:40:22 [scrapy.extensions.telnet] INFO: Telnet Password: 941892efafd5c716
2026-08-11 14:40:22 [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:40:22 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'event_scrapers',
'CONCURRENT_REQUESTS': 3,
'FEED_EXPORT_ENCODING': 'utf-8',
'FEED_URI_PARAMS': <function _feed_uri_params at 0x7dc7b6a4f4c0>,
'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/carriage_barn/ce15583f958111f1ac2f0050565fa5d9.log',
'NEWSPIDER_MODULE': 'event_scrapers.spiders',
'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
'SPIDER_MODULES': ['event_scrapers.spiders']}
2026-08-11 14:40:22 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-11 14:40:22 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-11 14:40:22 [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:40:22 [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:40:22 [scrapy.middleware] INFO: Enabled item pipelines:
['event_scrapers.pipelines.EventScrapersPipeline']
2026-08-11 14:40:22 [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:40:22 [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:40:22 [scrapy.core.engine] INFO: Spider opened
2026-08-11 14:40:22 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.carriage_barn.CarriageBarnSpider 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:40:22 [carriage_barn] INFO: Sending scraped events to prod API
2026-08-11 14:40:22 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-08-11 14:40:22 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2026-08-11 14:40:22 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-11 14:40:22 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-11 14:40:24 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://carriagebarn.org/events/> (referer: None) ['zyte-api']
2026-08-11 14:40:24 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://carriagebarn.org/25-calendar/> (referer: None) ['zyte-api']
2026-08-11 14:40:24 [scrapy_zyte_api._params] WARNING: Cookies are enabled for request <GET https://carriagebarn.org/event/orientalism-lecture/>, 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-11 14:40:24 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-11 14:40:24 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-11 14:40:24 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-11 14:40:24 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-11 14:40:24 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 677
2026-08-11 14:40:24 [scrapy.core.scraper] DEBUG: Scraped from <200 https://carriagebarn.org/25-calendar/>
{'event_url': 'https://carriagebarn.org/25-calendar/#through_our_eyes:_annual_new_canaan_high_school_art_show',
'platform_hash': 'e6b31f4afa81ef52b0c509a6d6fc25fa',
'raw_body': '<p style="text-align: left;"><strong><span style="font-size: '
'14pt;">Through Our Eyes: Annual New Canaan High School Art '
'Show</span><br/></strong><span style="font-size: 12pt;">March 19 '
'- April 3, 2026</span><br/><em><span style="font-size: '
'12pt;">Opening Reception Mar. 19 from 5-7pm</span></em></p>'}
2026-08-11 14:40:24 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): norwalklist.org:443
2026-08-11 14:40:24 [urllib3.connectionpool] DEBUG: https://norwalklist.org:443 "POST /api/v1/raw-events/ HTTP/1.1" 201 750
2026-08-11 14:40:24 [scrapy.core.scraper] DEBUG: Scraped from <200 https://carriagebarn.org/25-calendar/>
{'event_url': 'https://carriagebarn.org/25-calendar/#spectrum_2026:_juried_contemporary_art_exhibition',
'platform_hash': 'e6b31f4afa81ef52b0c509a6d6fc25fa',
'raw_body': '<p style="text-align: left;"><strong><span style="font-size: '
'14pt;">Spectrum 2026: Juried Contemporary Art '
'Exhibition</span><br/></strong><span style="font-size: '
Tail
'class="et_pb_divider_internal"></div></div>\n'
'</div>\n'
'</div>\n'
'<div class="et_pb_row_3 et_pb_row et_block_row">\n'
'<div class="et_pb_column_4 et_pb_column et_pb_column_4_4 '
'et-last-child et_block_column '
'et_pb_css_mix_blend_mode_passthrough">\n'
'<div class="et_pb_text_2 et_pb_text et_pb_bg_layout_light '
'et_pb_module et_block_module"><div '
'class="et_pb_text_inner"><p><span style="font-size: 14pt; color: '
'#333333;">Please meet at the <a href="https://brucemuseum.org" '
'style="color: #333333;">Bruce Museum</a>, 1 Museum Drive, '
'Greenwich by 10:50am.</span></p>\n'
'<p style="text-align: center;"><span style="color: '
'#808080;"><em><span style="font-size: 14pt;"><span style="color: '
'#333333;"><span style="color: #0a610a; font-size: '
'18pt;"><strong>Cost: $65 for Carriage Barn members | $80 for '
'non-members</strong></span><br/>Includes lunch.\xa0 Register '
'below. Space is limited</span>.\xa0</span></em></span></p>\n'
'<p><span style="font-size: 12pt;"></span></p>\n'
'<p><em><span style="color: #808080; font-size: 10pt;">Please '
'note registration and payment for this program is '
'non-refundable. In the event you must cancel, we will consider '
'your purchase a donation and will happily issue you a donation '
'receipt.</span></em></p>\n'
'</div></div>\n'
'</div>\n'
'</div>\n'
'<div class="et_pb_row_4 et_pb_row et_block_row">\n'
'<div class="et_pb_column_5 et_pb_column et_pb_column_4_4 '
'et-last-child et_block_column '
'et_pb_css_mix_blend_mode_passthrough">\n'
'<div class="et_pb_text_3 et_pb_text et_pb_bg_layout_light '
'et_pb_module et_block_module"><div class="et_pb_text_inner">\n'
'</div></div>\n'
'</div>\n'
'</div>\n'
'</div>\n'
'</div>\n'
'</div>\n'
'</div>\n'
'</div>\n'
'<!-- .tribe-events-single-event-description -->\n'
'<div class="tribe-events tribe-common">\n'
'<div class="tribe-events-c-subscribe-dropdown__container">\n'
'<div class="tribe-events-c-subscribe-dropdown">\n'
'<div class="tribe-common-c-btn-border '
'tribe-events-c-subscribe-dropdown__button">\n'
'<svg aria-hidden="true" class="tribe-common-c-svgicon '
'tribe-common-c-svgicon--cal-export '
'tribe-events-c-subscribe-dropdown__export-icon" viewbox="0 0 23 '
'17" xmlns="http://www.w3.org/2000/svg">\n'
'<path clip-rule="evenodd" d="M.128.896V16.13c0 '
'.211.145.383.323.383h15.354c.179 0 '
'.323-.172.323-.383V.896c0-.212-.144-.383-.323-.383H.451C.273.513.128.684.128.896Zm16 '
'6.742h-.901V4.679H1.009v10.729h14.218v-3.336h.901V7.638ZM1.01 '
'1.614h14.218v2.058H1.009V1.614Z" fill-rule="evenodd"></path>\n'
'<path d="M20.5 9.846H8.312M18.524 6.953l2.89 2.909-2.855 2.855" '
'stroke-linecap="round" stroke-linejoin="round" '
'stroke-width="1.2"></path>\n'
'</svg>\n'
'<button aria-controls="tribe-events-subscribe-dropdown-content" '
'aria-expanded="false" aria-label="View links to add events to '
'your calendar" '
'class="tribe-events-c-subscribe-dropdown__button-text">\n'
'\t\t\t\t\tAdd to calendar\t\t\t\t</button>\n'
'<svg aria-hidden="true" class="tribe-common-c-svgicon '
'tribe-common-c-svgicon--caret-down '
'tribe-events-c-subscribe-dropdown__button-icon" viewbox="0 0 10 '
'7" xmlns="http://www.w3.org/2000/svg">\n'
'<path class="tribe-common-c-svgicon__svg-fill" '
'clip-rule="evenodd" d="M1.008.609L5 4.6 8.992.61l.958.958L5 '
'6.517.05 1.566l.958-.958z" fill-rule="evenodd"></path>\n'
'</svg>\n'
'</div>\n'
'<div class="tribe-events-c-subscribe-dropdown__content" '
'id="tribe-events-subscribe-dropdown-content">\n'
'<ul class="tribe-events-c-subscribe-dropdown__list">\n'
'<li class="tribe-events-c-subscribe-dropdown__list-item '
'tribe-events-c-subscribe-dropdown__list-item--gcal">\n'
'<a class="tribe-events-c-subscribe-dropdown__list-item-link" '
'href="https://www.google.com/calendar/event?action=TEMPLATE&dates=20261028T110000/20261028T133000&text=Bruce%20Museum%20Tour%20%26%23038%3B%20Lunch%3A%20American%20Stories%20from%20Sargent%20to%20O%E2%80%99Keeffe&details=&trp=false&ctz=UTC-4&sprop=website:https://carriagebarn.org" '
'rel="noopener noreferrer nofollow noindex" target="_blank">\n'
'\t\tGoogle Calendar\t</a>\n'
'</li>\n'
'<li class="tribe-events-c-subscribe-dropdown__list-item '
'tribe-events-c-subscribe-dropdown__list-item--ical">\n'
'<a class="tribe-events-c-subscribe-dropdown__list-item-link" '
'href="webcal://carriagebarn.org/event/bruce-sargent-okeeffe/?ical=1" '
'rel="noopener noreferrer nofollow noindex" target="_blank">\n'
'\t\tiCalendar\t</a>\n'
'</li>\n'
'<li class="tribe-events-c-subscribe-dropdown__list-item '
'tribe-events-c-subscribe-dropdown__list-item--outlook-365">\n'
'<a class="tribe-events-c-subscribe-dropdown__list-item-link" '
'href="https://outlook.office.com/owa/?path=/calendar/action/compose&rrv=addevent&startdt=2026-10-28T11%3A00%3A00-03%3A00&enddt=2026-10-28T13%3A30%3A00-03%3A00&location&subject=Bruce%20Museum%20Tour%20%26%20Lunch%3A%20American%20Stories%20from%20Sargent%20to%20O%E2%80%99Keeffe&body=" '
'rel="noopener noreferrer nofollow noindex" target="_blank">\n'
'\t\tOutlook 365\t</a>\n'
'</li>\n'
'<li class="tribe-events-c-subscribe-dropdown__list-item '
'tribe-events-c-subscribe-dropdown__list-item--outlook-live">\n'
'<a class="tribe-events-c-subscribe-dropdown__list-item-link" '
'href="https://outlook.live.com/owa/?path=/calendar/action/compose&rrv=addevent&startdt=2026-10-28T11%3A00%3A00-03%3A00&enddt=2026-10-28T13%3A30%3A00-03%3A00&location&subject=Bruce%20Museum%20Tour%20%26%20Lunch%3A%20American%20Stories%20from%20Sargent%20to%20O%E2%80%99Keeffe&body=" '
'rel="noopener noreferrer nofollow noindex" target="_blank">\n'
'\t\tOutlook Live\t</a>\n'
'</li>\n'
'</ul>\n'
'</div>\n'
'</div>\n'
'</div>\n'
'</div>\n'
'<!-- Event meta -->\n'
'<div class="tribe-events-single-section tribe-events-event-meta '
'primary tribe-clearfix">\n'
'<div class="tribe-events-meta-group '
'tribe-events-meta-group-details">\n'
'<h2 class="tribe-events-single-section-title"> Details </h2>\n'
'<ul class="tribe-events-meta-list">\n'
'<li class="tribe-events-meta-item">\n'
'<span class="tribe-events-start-date-label '
'tribe-events-meta-label">Date:</span>\n'
'<span class="tribe-events-meta-value">\n'
'<abbr class="tribe-events-abbr tribe-events-start-date published '
'dtstart" title="2026-10-28"> October 28 </abbr>\n'
'</span>\n'
'</li>\n'
'<li class="tribe-events-meta-item">\n'
'<span class="tribe-events-start-time-label '
'tribe-events-meta-label">Time:</span>\n'
'<span class="tribe-events-meta-value">\n'
'<div class="tribe-events-abbr tribe-events-start-time published '
'dtstart" title="2026-10-28">\n'
'\t\t\t\t\t\t11:00 am - 1:30 pm\t\t\t\t\t\t\t\t\t\t\t</div>\n'
'</span>\n'
'</li>\n'
'</ul>\n'
'</div>\n'
'</div>\n'
'</div> <!-- #post-x -->\n'
'<!-- Event footer -->\n'
'<div id="tribe-events-footer">\n'
'<!-- Navigation -->\n'
'<nav aria-label="Event Navigation" '
'class="tribe-events-nav-pagination">\n'
'<ul class="tribe-events-sub-nav">\n'
'<li class="tribe-events-nav-previous"><a '
'href="https://carriagebarn.org/event/yoga-sound-bath-fall-series-15/"><span>«</span> '
'Yoga & Sound Bath, Fall Series</a></li>\n'
'<li class="tribe-events-nav-next">\n'
'</li></ul>\n'
'<!-- .tribe-events-sub-nav -->\n'
'</nav>\n'
'</div>\n'
'<!-- #tribe-events-footer -->\n'
'</div>'}
2026-08-11 14:41:05 [scrapy.core.engine] INFO: Closing spider (finished)
2026-08-11 14:41:05 [scrapy.extensions.feedexport] INFO: Stored csv feed (29 items) in: output/2026/08/11/carriage_barn.csv
2026-08-11 14:41:05 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 13734,
'downloader/request_count': 30,
'downloader/request_method_count/GET': 30,
'downloader/response_bytes': 12998283,
'downloader/response_count': 30,
'downloader/response_status_count/200': 30,
'elapsed_time_seconds': 43.082692,
'feedexport/success_count/FileFeedStorage': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2026, 8, 11, 12, 41, 5, 942551, tzinfo=datetime.timezone.utc),
'item_scraped_count': 29,
'items_per_minute': 40.46511627906977,
'log_count/DEBUG': 147,
'log_count/ERROR': 1,
'log_count/INFO': 3,
'log_count/WARNING': 1,
'memusage/max': 99672064,
'memusage/startup': 99672064,
'request_depth_max': 2,
'response_received_count': 30,
'responses_per_minute': 41.860465116279066,
'scheduler/dequeued': 30,
'scheduler/dequeued/memory': 30,
'scheduler/enqueued': 30,
'scheduler/enqueued/memory': 30,
'scrapy-zyte-api/429': 0,
'scrapy-zyte-api/attempts': 30,
'scrapy-zyte-api/error_ratio': 0.0,
'scrapy-zyte-api/errors': 0,
'scrapy-zyte-api/fatal_errors': 0,
'scrapy-zyte-api/mean_connection_seconds': 3.3430261029551427,
'scrapy-zyte-api/mean_response_seconds': 3.7169882543385024,
'scrapy-zyte-api/processed': 30,
'scrapy-zyte-api/request_args/httpResponseBody': 30,
'scrapy-zyte-api/request_args/httpResponseHeaders': 30,
'scrapy-zyte-api/request_args/url': 30,
'scrapy-zyte-api/status_codes/200': 30,
'scrapy-zyte-api/success': 30,
'scrapy-zyte-api/success_ratio': 1.0,
'scrapy-zyte-api/throttle_ratio': 0.0,
'start_time': datetime.datetime(2026, 8, 11, 12, 40, 22, 859859, tzinfo=datetime.timezone.utc)}
2026-08-11 14:41:05 [scrapy.core.engine] INFO: Spider closed (finished)