2026-03-04 03:21:09 [INFO] [scrapy.utils.log] Scrapy 2.13.3 started (bot: price_scraper) 2026-03-04 03:21:09 [INFO] [scrapy.utils.log] Versions: {'lxml': '6.0.0', 'libxml2': '2.14.4', 'cssselect': '1.3.0', 'parsel': '1.10.0', 'w3lib': '2.3.1', 'Twisted': '25.5.0', 'Python': '3.12.11 (main, Jul 1 2025, 18:37:24) [Clang 20.1.4 ]', 'pyOpenSSL': '25.1.0 (OpenSSL 3.5.1 1 Jul 2025)', 'cryptography': '45.0.5', 'Platform': 'Linux-5.15.0-161-generic-x86_64-with-glibc2.35'} 2026-03-04 03:21:09 [INFO] [scrapy.addons] Enabled addons: [] 2026-03-04 03:21:09 [DEBUG] [asyncio] Using selector: EpollSelector 2026-03-04 03:21:09 [DEBUG] [scrapy.utils.log] Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor 2026-03-04 03:21:09 [DEBUG] [scrapy.utils.log] Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop 2026-03-04 03:21:09 [INFO] [scrapy.middleware] Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'price_scraper.utils.per_spider_logger.PerSpiderFileLogger'] 2026-03-04 03:21:09 [INFO] [scrapy.crawler] Overridden settings: {'BOT_NAME': 'price_scraper', 'CONCURRENT_REQUESTS_PER_DOMAIN': 1, 'DOWNLOAD_DELAY': 1, 'FEED_EXPORT_ENCODING': 'utf-8', 'LOG_FILE': '/Users/rodionulanov/projects/price-scraper/logs/price_scraper/kingstore/e0d333aa176d11f18dfebd92ec2c210c.log', 'LOG_FORMAT': '%(asctime)s [%(levelname)s] [%(name)s] %(message)s', 'LOG_STDOUT': True, 'NEWSPIDER_MODULE': 'price_scraper.spiders', 'SPIDER_MODULES': ['price_scraper.spiders']} 2026-03-04 03:21:11 [INFO] [scrapy.middleware] 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.downloadermiddlewares.cookies.CookiesMiddleware', 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware', 'scrapy.downloadermiddlewares.stats.DownloaderStats'] 2026-03-04 03:21:11 [INFO] [scrapy.middleware] Enabled spider middlewares: ['scrapy.spidermiddlewares.start.StartSpiderMiddleware', 'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2026-03-04 03:21:11 [INFO] [scrapy.middleware] Enabled item pipelines: ['price_scraper.pipelines.SheetsWriterPipeline'] 2026-03-04 03:21:11 [INFO] [scrapy.core.engine] Spider opened 2026-03-04 03:21:11 [INFO] [ps.kingstore] File logging: /root/price-scraper/kingstore/kingstore_2026-03-04_032111.log 2026-03-04 03:21:11 [INFO] [ps.kingstore] Job logging: /Users/rodionulanov/projects/price-scraper/logs/price_scraper/kingstore/e0d333aa176d11f18dfebd92ec2c210c.log 2026-03-04 03:21:11 [INFO] [ps.kingstore] Job logging: /Users/rodionulanov/projects/price-scraper/logs/price_scraper/kingstore/e0d333aa176d11f18dfebd92ec2c210c.log 2026-03-04 03:21:11 [INFO] [scrapy-playwright] Starting download handler 2026-03-04 03:21:11 [INFO] [scrapy-playwright] Starting download handler 2026-03-04 03:21:18 [INFO] [scrapy-playwright] Launching browser chromium 2026-03-04 03:21:18 [INFO] [ps.kingstore] Start crawl: 1 URL(s) (accepted=1, total_input=1) 2026-03-04 03:21:18 [INFO] [ps.kingstore] Start crawl: 1 URL(s) (accepted=1, total_input=1) 2026-03-04 03:21:18 [INFO] [scrapy-playwright] Browser chromium launched 2026-03-04 03:21:18 [DEBUG] [scrapy-playwright] Browser context started: 'default' (persistent=False, remote=False) 2026-03-04 03:21:19 [DEBUG] [scrapy-playwright] [Context=default] New page created, page count is 1 (1 for all contexts) 2026-03-04 03:21:19 [DEBUG] [scrapy-playwright] [Context=default] Request: (resource type: document) 2026-03-04 03:21:29 [DEBUG] [scrapy-playwright] [Context=default] Response: <200 https://saratov.kingstore.io/catalog/watch/apple-watch-ultra-3/smart-chasy-apple-watch-ultra-3-49-mm-chernyy-korpus-iz-titana-remeshok-ocean-tsveta-black/> 2026-03-04 03:22:19 [WARNING] [scrapy-playwright] Closing page due to failed request: exc_type= exc_msg=Page.goto: Timeout 60000ms exceeded. Call log: - navigating to "https://saratov.kingstore.io/catalog/watch/apple-watch-ultra-3/smart-chasy-apple-watch-ultra-3-49-mm-chernyy-korpus-iz-titana-remeshok-ocean-tsveta-black/", waiting until "domcontentloaded" Traceback (most recent call last): File "/root/price-scraper/.venv/lib/python3.12/site-packages/scrapy_playwright/handler.py", line 433, in _download_request_with_retry return await self._download_request_with_page(request, page, spider) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/scrapy_playwright/handler.py", line 462, in _download_request_with_page response, download = await self._get_response_and_download(request, page, spider) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/scrapy_playwright/handler.py", line 564, in _get_response_and_download response = await page.goto(url=request.url, **page_goto_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/playwright/async_api/_generated.py", line 8992, in goto await self._impl_obj.goto( File "/root/price-scraper/.venv/lib/python3.12/site-packages/playwright/_impl/_page.py", line 556, in goto return await self._main_frame.goto(**locals_to_params(locals())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/playwright/_impl/_frame.py", line 153, in goto await self._channel.send( File "/root/price-scraper/.venv/lib/python3.12/site-packages/playwright/_impl/_connection.py", line 69, in send return await self._connection.wrap_api_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/playwright/_impl/_connection.py", line 558, in wrap_api_call raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None playwright._impl._errors.TimeoutError: Page.goto: Timeout 60000ms exceeded. Call log: - navigating to "https://saratov.kingstore.io/catalog/watch/apple-watch-ultra-3/smart-chasy-apple-watch-ultra-3-49-mm-chernyy-korpus-iz-titana-remeshok-ocean-tsveta-black/", waiting until "domcontentloaded" 2026-03-04 03:22:19 [ERROR] [ps.kingstore] Request failed: Page.goto: Timeout 60000ms exceeded. Call log: - navigating to "https://saratov.kingstore.io/catalog/watch/apple-watch-ultra-3/smart-chasy-apple-watch-ultra-3-49-mm-chernyy-korpus-iz-titana-remeshok-ocean-tsveta-black/", waiting until "domcontentloaded" | https://saratov.kingstore.io/catalog/watch/apple-watch-ultra-3/smart-chasy-apple-watch-ultra-3-49-mm-chernyy-korpus-iz-titana-remeshok-ocean-tsveta-black/ 2026-03-04 03:22:19 [ERROR] [ps.kingstore] Request failed: Page.goto: Timeout 60000ms exceeded. Call log: - navigating to "https://saratov.kingstore.io/catalog/watch/apple-watch-ultra-3/smart-chasy-apple-watch-ultra-3-49-mm-chernyy-korpus-iz-titana-remeshok-ocean-tsveta-black/", waiting until "domcontentloaded" | https://saratov.kingstore.io/catalog/watch/apple-watch-ultra-3/smart-chasy-apple-watch-ultra-3-49-mm-chernyy-korpus-iz-titana-remeshok-ocean-tsveta-black/ 2026-03-04 03:22:19 [INFO] [scrapy.core.engine] Closing spider (finished) 2026-03-04 03:22:19 [INFO] [ps.kingstore] Spider closed: reason=finished 2026-03-04 03:22:19 [INFO] [ps.kingstore] Spider closed: reason=finished 2026-03-04 03:22:19 [INFO] [ps.kingstore] Spider closed (signal): reason=finished 2026-03-04 03:22:19 [INFO] [ps.kingstore] Spider closed (signal): reason=finished 2026-03-04 03:22:19 [INFO] [scrapy.statscollectors] Dumping Scrapy stats: {'downloader/exception_count': 1, 'downloader/exception_type_count/playwright._impl._errors.TimeoutError': 1, 'downloader/request_bytes': 346, 'downloader/request_count': 1, 'downloader/request_method_count/GET': 1, 'elapsed_time_seconds': 68.572411, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2026, 3, 4, 3, 22, 19, 922749, tzinfo=datetime.timezone.utc), 'log_count/DEBUG': 7, 'log_count/ERROR': 1, 'log_count/INFO': 16, 'log_count/WARNING': 1, 'playwright/browser_count': 1, 'playwright/context_count': 1, 'playwright/context_count/max_concurrent': 1, 'playwright/context_count/persistent/False': 1, 'playwright/context_count/remote/False': 1, 'playwright/page_count': 1, 'playwright/page_count/closed': 1, 'playwright/page_count/max_concurrent': 1, 'playwright/request_count': 1, 'playwright/request_count/method/GET': 1, 'playwright/request_count/navigation': 1, 'playwright/request_count/resource_type/document': 1, 'playwright/response_count': 1, 'playwright/response_count/method/GET': 1, 'playwright/response_count/resource_type/document': 1, 'scheduler/dequeued': 1, 'scheduler/dequeued/memory': 1, 'scheduler/enqueued': 1, 'scheduler/enqueued/memory': 1, 'start_time': datetime.datetime(2026, 3, 4, 3, 21, 11, 350338, tzinfo=datetime.timezone.utc)} 2026-03-04 03:22:19 [INFO] [scrapy.core.engine] Spider closed (finished) 2026-03-04 03:22:19 [INFO] [scrapy-playwright] Closing download handler 2026-03-04 03:22:19 [INFO] [scrapy-playwright] Closing download handler 2026-03-04 03:22:20 [DEBUG] [scrapy-playwright] Browser context closed: 'default' (persistent=False, remote=False) 2026-03-04 03:22:20 [INFO] [scrapy-playwright] Closing browser 2026-03-04 03:22:20 [DEBUG] [scrapy-playwright] Browser disconnected