Desktop version Jobs Stats

PROJECT (event_scrapers)
SPIDER (washington_prime)

2026-08-12 03:40:47 [scrapy.utils.log] INFO: Scrapy 2.14.1 started (bot: event_scrapers)
2026-08-12 03:40:47 [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-12 03:40:47 [scrapy.crawler] DEBUG: Using AsyncCrawlerProcess
2026-08-12 03:40:47 [asyncio] DEBUG: Using selector: EpollSelector
2026-08-12 03:40:47 [scrapy.addons] INFO: Enabled addons:
[]
2026-08-12 03:40:47 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-08-12 03:40:47 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-08-12 03:40:47 [scrapy.extensions.telnet] INFO: Telnet Password: b4d2153123d6ad7b
2026-08-12 03:40:47 [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-12 03:40:47 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'event_scrapers',
 'FEED_EXPORT_ENCODING': 'utf-8',
 'FEED_URI_PARAMS': <function _feed_uri_params at 0x70266783b4c0>,
 'LOG_FILE': '/root/event-list-scraping/logs/event_scrapers/washington_prime/d5aeebd295ee11f18c1b0050565fa5d9.log',
 'NEWSPIDER_MODULE': 'event_scrapers.spiders',
 'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
 'SPIDER_MODULES': ['event_scrapers.spiders']}
2026-08-12 03:40:47 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-12 03:40:47 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with 'ff9baec'
2026-08-12 03:40:47 [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-12 03:40:47 [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-12 03:40:47 [scrapy.middleware] INFO: Enabled item pipelines:
['event_scrapers.pipelines.EventScrapersPipeline']
2026-08-12 03:40:47 [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-12 03:40:47 [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-12 03:40:47 [scrapy.core.engine] INFO: Spider opened
2026-08-12 03:40:47 [py.warnings] WARNING: /root/.venv/lib/python3.12/site-packages/scrapy/core/spidermw.py:490: ScrapyDeprecationWarning: event_scrapers.spiders.washington_prime.WashingtonPrimeSpider 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-12 03:40:47 [washington_prime] INFO: Sending scraped events to prod API
2026-08-12 03:40:47 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-08-12 03:40:47 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Accept, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Accept-Language, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Cache-Control, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header If-None-Match, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Priority, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua-Mobile, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua-Platform, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Dest, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Mode, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Site, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-User, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Upgrade-Insecure-Requests, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header User-Agent, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Accept, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Accept-Language, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Cache-Control, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header If-None-Match, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Priority, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua-Mobile, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua-Platform, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Dest, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Mode, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Site, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-User, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Upgrade-Insecure-Requests, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header User-Agent, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Accept, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Accept-Language, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Cache-Control, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header If-None-Match, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Priority, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua-Mobile, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua-Platform, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Dest, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Mode, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Site, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-User, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Upgrade-Insecure-Requests, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header User-Agent, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Accept, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Accept-Language, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Cache-Control, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header If-None-Match, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Priority, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua-Mobile, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Ch-Ua-Platform, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Dest, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Mode, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-Site, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Sec-Fetch-User, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header Upgrade-Insecure-Requests, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [scrapy_zyte_api._params] WARNING: Request <GET https://washingtonprimect.com/events-calendar> defines header User-Agent, which cannot be mapped into the Zyte API requestHeaders parameter. See the ZYTE_API_BROWSER_HEADERS setting.
2026-08-12 03:40:47 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-08-12 03:41:05 [scrapy_zyte_api.handler] DEBUG: Got Zyte API error (status=421, type='/website/certificate-issue', request_id='0aabe0cb6cee094c54e460c6e50d2a85') while processing URL (https://washingtonprimect.com/events-calendar): The SSL certificate is invalid or expired. Check if the website is accessible.
2026-08-12 03:41:06 [scrapy.core.scraper] ERROR: Error downloading <GET https://washingtonprimect.com/events-calendar>
Traceback (most recent call last):
  File "/root/.venv/lib/python3.12/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks
    result = context.run(
             ^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator
    return g.throw(self.value.with_traceback(self.tb))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy/core/engine.py", line 490, in _download
    result = yield self.downloader.fetch(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks
    result = context.run(
             ^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator
    return g.throw(self.value.with_traceback(self.tb))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy/core/downloader/__init__.py", line 144, in fetch
    yield deferred_from_coro(
  File "/root/.venv/lib/python3.12/site-packages/twisted/internet/defer.py", line 1257, in adapt
    extracted: _SelfResultT | Failure = result.result()
                                        ^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy/core/downloader/middleware.py", line 158, in download_async
    result = await process_exception(ex)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy/core/downloader/middleware.py", line 150, in process_exception
    raise exception
  File "/root/.venv/lib/python3.12/site-packages/scrapy/core/downloader/middleware.py", line 153, in download_async
    result: Response | Request = await process_request(request)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy/core/downloader/middleware.py", line 97, in process_request
    return await download_func(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy/core/downloader/__init__.py", line 202, in _enqueue_request
    return await maybe_deferred_to_future(d)  # fired in _wait_for_download()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy/core/downloader/__init__.py", line 269, in _wait_for_download
    response = await self._download(slot, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy/core/downloader/__init__.py", line 239, in _download
    response: Response = await self.handlers.download_request_async(request)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy/core/downloader/handlers/__init__.py", line 156, in download_request_async
    return await handler.download_request(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy_zyte_api/handler.py", line 222, in download_request
    return await self._download_request(api_params, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/scrapy_zyte_api/handler.py", line 292, in _download_request
    api_response = await self._session.get(api_params, retrying=retrying)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/zyte_api/_async.py", line 70, in get
    return await self._client.get(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/zyte_api/_async.py", line 269, in get
    result = await request()
             ^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/tenacity/asyncio/__init__.py", line 193, in async_wrapped
    return await copy(fn, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/tenacity/asyncio/__init__.py", line 112, in __call__
    do = await self.iter(retry_state=retry_state)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/tenacity/asyncio/__init__.py", line 157, in iter
    result = await action(retry_state)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/tenacity/_utils.py", line 111, in inner
    return call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/tenacity/__init__.py", line 393, in <lambda>
    self._add_action_func(lambda rs: rs.outcome.result())
                                     ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/root/.venv/lib/python3.12/site-packages/tenacity/asyncio/__init__.py", line 116, in __call__
    result = await fn(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.venv/lib/python3.12/site-packages/zyte_api/_async.py", line 242, in request
    raise RequestError(
zyte_api._errors.RequestError: RequestError: 421, message=, headers=<CIMultiDictProxy('Date': 'Wed, 12 Aug 2026 01:41:05 GMT', 'Content-Type': 'application/problem+json', 'Content-Length': '168', 'Connection': 'close', 'Request-Id': '0aabe0cb6cee094c54e460c6e50d2a85', 'Vary': 'Accept-Encoding', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Access-Control-Allow-Credentials': 'true', 'Access-Control-Expose-Headers': '*, X-Project-Key', 'Access-Control-Allow-Methods': 'GET, PUT, POST, DELETE, PATCH, OPTIONS', 'Access-Control-Allow-Headers': 'DNT, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Range, Authorization, X-Project-Key', 'Access-Control-Max-Age': '1728000')>, body=b'{"type":"/website/certificate-issue","title":"Certificate Issue","status":421,"detail":"The SSL certificate is invalid or expired. Check if the website is accessible."}', request_id=0aabe0cb6cee094c54e460c6e50d2a85
2026-08-12 03:41:06 [scrapy.core.engine] INFO: Closing spider (finished)
2026-08-12 03:41:06 [scrapy.extensions.feedexport] INFO: Stored csv feed (0 items) in: output/2026/08/12/washington_prime.csv
2026-08-12 03:41:06 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/exception_count': 1,
 'downloader/exception_type_count/zyte_api._errors.RequestError': 1,
 'downloader/request_bytes': 823,
 'downloader/request_count': 1,
 'downloader/request_method_count/GET': 1,
 'elapsed_time_seconds': 18.603519,
 'feedexport/success_count/FileFeedStorage': 1,
 'finish_reason': 'finished',
 'finish_time': datetime.datetime(2026, 8, 12, 1, 41, 6, 164118, tzinfo=datetime.timezone.utc),
 'items_per_minute': 0.0,
 'log_count/DEBUG': 2,
 'log_count/ERROR': 1,
 'log_count/INFO': 3,
 'log_count/WARNING': 56,
 'memusage/max': 99667968,
 'memusage/startup': 99667968,
 'responses_per_minute': 0.0,
 'scheduler/dequeued': 1,
 'scheduler/dequeued/memory': 1,
 'scheduler/enqueued': 1,
 'scheduler/enqueued/memory': 1,
 'scrapy-zyte-api/429': 0,
 'scrapy-zyte-api/attempts': 1,
 'scrapy-zyte-api/error_ratio': 1.0,
 'scrapy-zyte-api/error_types/website/certificate-issue': 1,
 'scrapy-zyte-api/errors': 1,
 'scrapy-zyte-api/fatal_errors': 1,
 'scrapy-zyte-api/mean_connection_seconds': 18.273850601166487,
 'scrapy-zyte-api/mean_response_seconds': 0.0,
 'scrapy-zyte-api/processed': 1,
 'scrapy-zyte-api/request_args/browserHtml': 1,
 'scrapy-zyte-api/request_args/requestHeaders': 1,
 'scrapy-zyte-api/request_args/url': 1,
 'scrapy-zyte-api/status_codes/421': 1,
 'scrapy-zyte-api/success': 0,
 'scrapy-zyte-api/success_ratio': 0.0,
 'scrapy-zyte-api/throttle_ratio': 0.0,
 'start_time': datetime.datetime(2026, 8, 12, 1, 40, 47, 560599, tzinfo=datetime.timezone.utc)}
2026-08-12 03:41:06 [scrapy.core.engine] INFO: Spider closed (finished)

PROJECT (event_scrapers)
SPIDER (washington_prime)