2026-10-26 20:19:47 [scrapy.core.scraper] ERROR: Spider error processing (referer: https://api.hertz.com/rest/geography/city/country/NO) Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/scrapy/utils/defer.py", line 373, in aiter_errback yield await anext(it) ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/utils/python.py", line 366, in __anext__ return await anext(self.data) ^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/utils/python.py", line 347, in _async_chain async for o in as_async_generator(it): File "/.venv/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 18, in as_async_generator async for r in it: File "/.venv/lib/python3.11/site-packages/scrapy/utils/python.py", line 366, in __anext__ return await anext(self.data) ^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/utils/python.py", line 347, in _async_chain async for o in as_async_generator(it): File "/.venv/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 18, in as_async_generator async for r in it: File "/.venv/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 109, in _evaluate_iterable async for r in iterable: File "/.venv/lib/python3.11/site-packages/scrapy/utils/decorators.py", line 152, in asyncgen_inner async for item in func(*args, **kwargs): File "/.venv/lib/python3.11/site-packages/scrapy/spidermiddlewares/base.py", line 67, in process_spider_output_async async for o in result: File "/.venv/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 109, in _evaluate_iterable async for r in iterable: File "/locations/middlewares/track_sources.py", line 52, in process_spider_output_async async for x in result: File "/.venv/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 109, in _evaluate_iterable async for r in iterable: File "/.venv/lib/python3.11/site-packages/scrapy/utils/decorators.py", line 152, in asyncgen_inner async for item in func(*args, **kwargs): File "/.venv/lib/python3.11/site-packages/scrapy/spidermiddlewares/base.py", line 67, in process_spider_output_async async for o in result: File "/.venv/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 109, in _evaluate_iterable async for r in iterable: File "/.venv/lib/python3.11/site-packages/scrapy/utils/decorators.py", line 152, in asyncgen_inner async for item in func(*args, **kwargs): File "/.venv/lib/python3.11/site-packages/scrapy/spidermiddlewares/base.py", line 67, in process_spider_output_async async for o in result: File "/.venv/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 109, in _evaluate_iterable async for r in iterable: File "/.venv/lib/python3.11/site-packages/scrapy/utils/decorators.py", line 152, in asyncgen_inner async for item in func(*args, **kwargs): File "/.venv/lib/python3.11/site-packages/scrapy/spidermiddlewares/depth.py", line 97, in process_spider_output_async async for o in super().process_spider_output_async(response, result): File "/.venv/lib/python3.11/site-packages/scrapy/utils/decorators.py", line 152, in asyncgen_inner async for item in func(*args, **kwargs): File "/.venv/lib/python3.11/site-packages/scrapy/spidermiddlewares/base.py", line 67, in process_spider_output_async async for o in result: File "/.venv/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 109, in _evaluate_iterable async for r in iterable: File "/.venv/lib/python3.11/site-packages/scrapy/utils/decorators.py", line 152, in asyncgen_inner async for item in func(*args, **kwargs): File "/.venv/lib/python3.11/site-packages/scrapy/spidermiddlewares/base.py", line 67, in process_spider_output_async async for o in result: File "/.venv/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 114, in _evaluate_iterable exception_result: MutableAsyncChain[_T] = self._process_spider_exception( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 158, in _process_spider_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/spidermw.py", line 109, in _evaluate_iterable async for r in iterable: File "/.venv/lib/python3.11/site-packages/scrapy/utils/asyncgen.py", line 21, in as_async_generator for r in it: File "/locations/spiders/hertz.py", line 38, in parse_details for shop in response.json()["data"]["locations"]: ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ TypeError: list indices must be integers or slices, not str 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): Getting https://api.hertz.com/rest/geography/city/country/KH took longer than 15.0 seconds. 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): Getting https://api.hertz.com/rest/geography/city/country/BG took longer than 15.0 seconds. 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): Getting https://api.hertz.com/rest/geography/city/country/BN took longer than 15.0 seconds. 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): Getting https://api.hertz.com/rest/geography/city/country/VG took longer than 15.0 seconds. 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure. 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure. 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure. 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure. 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure. 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure. 2026-10-26 22:55:39 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure. 2026-10-26 22:55:39 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1092, in _runCallbacks current.result = callback( # type: ignore[misc] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 537, in _cb_timeout raise DownloadTimeoutError(f"Getting {url} took longer than {timeout} seconds.") scrapy.exceptions.DownloadTimeoutError: Getting https://api.hertz.com/rest/geography/city/country/KH took longer than 15.0 seconds. 2026-10-26 22:55:40 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1092, in _runCallbacks current.result = callback( # type: ignore[misc] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 537, in _cb_timeout raise DownloadTimeoutError(f"Getting {url} took longer than {timeout} seconds.") scrapy.exceptions.DownloadTimeoutError: Getting https://api.hertz.com/rest/geography/city/country/BG took longer than 15.0 seconds. 2026-10-26 22:55:40 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1092, in _runCallbacks current.result = callback( # type: ignore[misc] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 537, in _cb_timeout raise DownloadTimeoutError(f"Getting {url} took longer than {timeout} seconds.") scrapy.exceptions.DownloadTimeoutError: Getting https://api.hertz.com/rest/geography/city/country/BN took longer than 15.0 seconds. 2026-10-26 22:55:40 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1092, in _runCallbacks current.result = callback( # type: ignore[misc] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 537, in _cb_timeout raise DownloadTimeoutError(f"Getting {url} took longer than {timeout} seconds.") scrapy.exceptions.DownloadTimeoutError: Getting https://api.hertz.com/rest/geography/city/country/VG took longer than 15.0 seconds. 2026-10-26 22:55:40 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 55, in wrap_twisted_exceptions yield File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ twisted.internet.error.TimeoutError: User timeout caused connection failure. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 139, in download_request with wrap_twisted_exceptions(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 67, in wrap_twisted_exceptions raise DownloadTimeoutError(str(e)) from e scrapy.exceptions.DownloadTimeoutError: User timeout caused connection failure. 2026-10-26 22:55:41 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 55, in wrap_twisted_exceptions yield File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ twisted.internet.error.TimeoutError: User timeout caused connection failure. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 139, in download_request with wrap_twisted_exceptions(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 67, in wrap_twisted_exceptions raise DownloadTimeoutError(str(e)) from e scrapy.exceptions.DownloadTimeoutError: User timeout caused connection failure. 2026-10-26 22:55:41 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 55, in wrap_twisted_exceptions yield File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ twisted.internet.error.TimeoutError: User timeout caused connection failure. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 139, in download_request with wrap_twisted_exceptions(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 67, in wrap_twisted_exceptions raise DownloadTimeoutError(str(e)) from e scrapy.exceptions.DownloadTimeoutError: User timeout caused connection failure. 2026-10-26 22:55:41 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 55, in wrap_twisted_exceptions yield File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ twisted.internet.error.TimeoutError: User timeout caused connection failure. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 139, in download_request with wrap_twisted_exceptions(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 67, in wrap_twisted_exceptions raise DownloadTimeoutError(str(e)) from e scrapy.exceptions.DownloadTimeoutError: User timeout caused connection failure. 2026-10-26 22:55:41 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 55, in wrap_twisted_exceptions yield File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ twisted.internet.error.TimeoutError: User timeout caused connection failure. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 139, in download_request with wrap_twisted_exceptions(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 67, in wrap_twisted_exceptions raise DownloadTimeoutError(str(e)) from e scrapy.exceptions.DownloadTimeoutError: User timeout caused connection failure. 2026-10-26 22:55:41 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 55, in wrap_twisted_exceptions yield File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ twisted.internet.error.TimeoutError: User timeout caused connection failure. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 139, in download_request with wrap_twisted_exceptions(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 67, in wrap_twisted_exceptions raise DownloadTimeoutError(str(e)) from e scrapy.exceptions.DownloadTimeoutError: User timeout caused connection failure. 2026-10-26 22:55:41 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 55, in wrap_twisted_exceptions yield File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 140, in download_request return await maybe_deferred_to_future(agent.download_request(request)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ twisted.internet.error.TimeoutError: User timeout caused connection failure. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/engine.py", line 514, in _download result = yield self.downloader.fetch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1853, in _inlineCallbacks result = context.run( ^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/python/failure.py", line 467, in throwExceptionIntoGenerator return g.throw(self.value.with_traceback(self.tb)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 226, in fetch result: Response | Request = yield ( ^^^^^^^ File "/.venv/lib/python3.11/site-packages/twisted/internet/defer.py", line 1257, in adapt extracted: _SelfResultT | Failure = result.result() ^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 87, in download_async result = await self._process_exception(ex, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 156, in _process_exception raise exception File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 80, in download_async result: Response | Request = await self._process_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/middleware.py", line 114, in _process_request return await download_func(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 281, in _enqueue_request return await maybe_deferred_to_future(d) # fired in _wait_for_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 348, in _wait_for_download response = await self._download(slot, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/__init__.py", line 318, in _download response: Response = await self.handlers.download_request_async(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/__init__.py", line 168, in download_request_async return await handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy_zyte_api/handler.py", line 251, in download_request return await fallback_handler.download_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/.venv/lib/python3.11/site-packages/scrapy/core/downloader/handlers/http11.py", line 139, in download_request with wrap_twisted_exceptions(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/.venv/lib/python3.11/site-packages/scrapy/utils/_download_handlers.py", line 67, in wrap_twisted_exceptions raise DownloadTimeoutError(str(e)) from e scrapy.exceptions.DownloadTimeoutError: User timeout caused connection failure.