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)