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