2026-07-31 08:41:13 [scrapy.utils.log] INFO: Scrapy 2.8.0 started (bot: modularspiders) 2026-07-31 08:41:14 [scrapy.utils.log] INFO: Versions: lxml 4.9.2.0, libxml2 2.9.14, cssselect 1.2.0, parsel 1.7.0, w3lib 2.1.1, Twisted 22.10.0, Python 3.10.15 (main, Oct 19 2024, 04:00:28) [GCC 12.2.0], pyOpenSSL 23.1.1 (OpenSSL 3.1.0 14 Mar 2023), cryptography 40.0.1, Platform Linux-5.10.0-21-amd64-x86_64-with-glibc2.36 2026-07-31 08:41:14 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'modularspiders', 'CLOSESPIDER_TIMEOUT': 3600, 'LOG_FILE': 'logs/default/rawvoltage/dc51b23a8cb511f1ac510242ac11000e.log', 'NEWSPIDER_MODULE': 'modularspiders.spiders', 'ROBOTSTXT_OBEY': True, 'SPIDER_MODULES': ['modularspiders.spiders'], 'USER_AGENT': 'Mozilla/5.0 (compatible; Googlebot/2.1; ' '+http://www.google.com/bot.html)'} 2026-07-31 08:41:14 [py.warnings] WARNING: /code/lib/python3.10/site-packages/scrapy/utils/request.py:232: ScrapyDeprecationWarning: '2.6' is a deprecated value for the 'REQUEST_FINGERPRINTER_IMPLEMENTATION' setting. It is also the default value. In other words, it is normal to get this warning if you have not defined a value for the 'REQUEST_FINGERPRINTER_IMPLEMENTATION' setting. This is so for backward compatibility reasons, but it will change in a future version of Scrapy. See the documentation of the 'REQUEST_FINGERPRINTER_IMPLEMENTATION' setting for information on how to handle this deprecation. return cls(crawler) 2026-07-31 08:41:16 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.epollreactor.EPollReactor 2026-07-31 08:41:52 [scrapy.extensions.telnet] INFO: Telnet Password: 2bb1276cce5fc38a 2026-07-31 08:42:00 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.memusage.MemoryUsage', 'scrapy.extensions.logstats.LogStats', 'scrapy.extensions.closespider.CloseSpider'] 2026-07-31 08:46:21 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware', '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-07-31 08:46:21 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2026-07-31 08:46:22 [scrapy.middleware] INFO: Enabled item pipelines: ['modularspiders.pipelines.MinimumViableItemPipeline', 'modularspiders.pipelines.RedisExporter', 'modularspiders.pipelines.BulkStoreUpdate'] 2026-07-31 08:46:22 [scrapy.core.engine] INFO: Spider opened 2026-07-31 08:46:26 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2026-07-31 08:46:26 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6030 2026-07-31 08:47:17 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2026-07-31 08:48:05 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2026-07-31 08:48:05 [scrapy.extensions.logstats] INFO: Crawled 2 pages (at 2 pages/min), scraped 0 items (at 0 items/min) 2026-07-31 08:51:30 [scrapy.extensions.logstats] INFO: Crawled 2 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2026-07-31 08:51:30 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/diy took longer than 180.0 seconds.. 2026-07-31 08:51:30 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis took longer than 180.0 seconds.. 2026-07-31 08:51:46 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2026-07-31 08:51:46 [scrapy.core.engine] DEBUG: Crawled (200) (referer: None) 2026-07-31 08:51:47 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules) 2026-07-31 08:51:47 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules) 2026-07-31 08:51:48 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules) 2026-07-31 08:51:48 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules) 2026-07-31 08:51:49 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules) 2026-07-31 08:51:49 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules) 2026-07-31 08:51:49 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules) 2026-07-31 08:51:49 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules) 2026-07-31 08:51:49 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis) 2026-07-31 08:51:50 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis) 2026-07-31 08:51:50 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis) 2026-07-31 08:51:50 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis) 2026-07-31 08:51:50 [rawvoltage] INFO: Found next: https://www.rawvoltage.wien/eurorack-modules/vcas?sort=20a&page=2 2026-07-31 08:51:51 [rawvoltage] INFO: Found next: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=2 2026-07-31 08:51:51 [rawvoltage] INFO: Found next: https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=2 2026-07-31 08:51:53 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 08:51:55 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/clock-trigger) 2026-07-31 08:51:55 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/clock-trigger) 2026-07-31 08:51:55 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/clock-trigger) 2026-07-31 08:51:55 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/sequencer) 2026-07-31 08:51:56 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/clock-trigger) 2026-07-31 08:51:56 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/clock-trigger) 2026-07-31 08:51:56 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/diy) 2026-07-31 08:51:56 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/ajh-minimod-vca-black> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/AJH-MiniMod-VCA-black_front.jpg', 'is_used': False, 'manufacturer': 'AJH Synth', 'name': 'AJH MiniMod VCA black', 'page_metadata': None, 'price': '190.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/ajh-minimod-vca-black', 'vat_included': True} 2026-07-31 08:56:29 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 08:56:29 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/tools/doepfer-a-160-clock-trigger-divider> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-160-Clock-Trigger-Divider-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-160 Clock/Trigger Divider', 'page_metadata': None, 'price': '54.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/tools/doepfer-a-160-clock-trigger-divider', 'vat_included': True} 2026-07-31 08:56:29 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/sequencer/endorphin.es-running-order?cPath=1_12&> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/endorphines-running-oder-black-1.jpg', 'is_used': False, 'manufacturer': 'Endorphines', 'name': 'Endorphin.es - Running Order', 'page_metadata': None, 'price': '140.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/sequencer/endorphin.es-running-order?cPath=1_12&', 'vat_included': True} 2026-07-31 08:56:29 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/clock-amp-trigger/doepfer-a-160-5-clock-multiplier-ratcheting-controller> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-160-5-Vintage-1.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-160-5 Clock Multiplier / Ratcheting Controller', 'page_metadata': None, 'price': '91.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/clock-amp-trigger/doepfer-a-160-5-clock-multiplier-ratcheting-controller', 'vat_included': True} 2026-07-31 08:56:29 [scrapy.extensions.logstats] INFO: Crawled 25 pages (at 23 pages/min), scraped 4 items (at 4 items/min) 2026-07-31 08:56:29 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-154-sequencer-controller> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-154-Sequencer-Controller-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-154 Sequencer Controller', 'page_metadata': None, 'price': '145.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-154-sequencer-controller', 'vat_included': True} 2026-07-31 08:56:29 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-4-quad-exponential-vca-mixer took longer than 180.0 seconds.. 2026-07-31 08:56:29 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-3-dual-vca-vintage-edition took longer than 180.0 seconds.. 2026-07-31 08:56:29 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-3-dual-linear-exponential-vca took longer than 180.0 seconds.. 2026-07-31 08:56:29 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-1-dual-low-cost-vca took longer than 180.0 seconds.. 2026-07-31 08:56:29 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-131-vca-exponential took longer than 180.0 seconds.. 2026-07-31 08:56:29 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-130-vca-linear took longer than 180.0 seconds.. 2026-07-31 08:56:29 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/brownshoesonly-video-mix took longer than 180.0 seconds.. 2026-07-31 08:56:29 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/clock-trigger/doepfer-a-160-5-clock-multiplier-ratcheting-controller> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-160-5-Clock-Multiplier-Ratcheting-Controller-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-160-5 Clock Multiplier / Ratcheting Controller', 'page_metadata': None, 'price': '83.33', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/clock-trigger/doepfer-a-160-5-clock-multiplier-ratcheting-controller', 'vat_included': True} 2026-07-31 08:56:29 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/clock-trigger/doepfer-a-162-dual-trigger-delay> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-162-Dual-Trigger-Delay-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-162 Dual Trigger Delay', 'page_metadata': None, 'price': '54.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/clock-trigger/doepfer-a-162-dual-trigger-delay', 'vat_included': True} 2026-07-31 08:57:37 [scrapy.extensions.logstats] INFO: Crawled 25 pages (at 0 pages/min), scraped 7 items (at 3 items/min) 2026-07-31 08:57:37 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-133-dual-voltage-controlled-polarizer> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-133-Dual-Voltage-Controlled-Polarizer-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-133 Dual Voltage Controlled Polarizer', 'page_metadata': None, 'price': '62.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-133-dual-voltage-controlled-polarizer', 'vat_included': True} 2026-07-31 08:57:39 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/standalone-video-instruments) 2026-07-31 08:57:39 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 08:58:30 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 08:58:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/standalone-video-instruments) 2026-07-31 08:58:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/standalone-video-instruments) 2026-07-31 08:58:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 08:58:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) 2026-07-31 08:58:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 08:58:31 [scrapy.extensions.logstats] INFO: Crawled 33 pages (at 8 pages/min), scraped 8 items (at 1 items/min) 2026-07-31 08:58:31 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/standalone-video-instruments/lzx-industries-double-vision-system> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/lzx-industries-double-vision-system-square.png', 'is_used': False, 'name': 'LZX Industries - Double Vision System', 'page_metadata': None, 'price': '2908.33', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/standalone-video-instruments/lzx-industries-double-vision-system', 'vat_included': True} 2026-07-31 09:01:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 09:01:23 [scrapy.core.scraper] ERROR: Spider error processing (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) Traceback (most recent call last): File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 35, in _extract_items data = json.loads(script, strict=False) File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads return cls(**kw).decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 50 (char 299) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/modularspiders/spiders/rawvoltage.py", line 51, in parse_product loader = self.get_loader(response) File "/code/modularspiders/spiders/base.py", line 53, in get_loader extruct.extract(response.text, schema_context=schema_context), File "/code/lib/python3.10/site-packages/extruct/_extruct.py", line 108, in extract output[syntax] = list(extract(document, base_url=base_url)) File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 25, in extract_items return [ File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 25, in return [ File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 38, in _extract_items data = jstyleson.loads(HTML_OR_JS_COMMENTLINE.sub('', script), strict=False) File "/code/lib/python3.10/site-packages/jstyleson.py", line 123, in loads return json.loads(dispose(text), **kwargs) File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads return cls(**kw).decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 50 (char 299) 2026-07-31 09:01:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-111-d-flip-flops-pcb-frontpanel> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Castle-111-D-Flip-Flops.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Castle 111 D Flip Flops (PCB & Frontpanel)', 'page_metadata': None, 'price': '16.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-111-d-flip-flops-pcb-frontpanel', 'vat_included': True} 2026-07-31 09:01:54 [scrapy.extensions.logstats] INFO: Crawled 34 pages (at 1 pages/min), scraped 10 items (at 2 items/min) 2026-07-31 09:01:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/standalone-video-instruments/lzx-industries-chromagnon> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Chromagnon.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Chromagnon', 'page_metadata': None, 'price': '1457.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/standalone-video-instruments/lzx-industries-chromagnon', 'vat_included': True} 2026-07-31 09:01:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/standalone-video-instruments/lzx-industries-videomancer> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-INdustries-Videomancer-front.png', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Videomancer', 'page_metadata': None, 'price': '915.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/standalone-video-instruments/lzx-industries-videomancer', 'vat_included': True} 2026-07-31 09:01:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-cmix-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Reverselandfill-Cmix-1.jpg', 'is_used': False, 'manufacturer': 'Reverselandfill', 'name': 'Reverselandfill - CMIX (DIY Kit)', 'page_metadata': None, 'price': '91.67', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-cmix-diy-kit', 'vat_included': True} 2026-07-31 09:01:56 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-101-quad-gate-pcb-frontpanel took longer than 180.0 seconds.. 2026-07-31 09:04:38 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-100-multigate-pcb-frontpanel took longer than 180.0 seconds.. 2026-07-31 09:04:42 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-011-shift-register-pcb-frontpanel took longer than 180.0 seconds.. 2026-07-31 09:05:31 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-010-clock-vco-pcb-frontpanel took longer than 180.0 seconds.. 2026-07-31 09:05:48 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-001-dac-pcb-frontpanel took longer than 180.0 seconds.. 2026-07-31 09:05:48 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-accessories/lzx-industries-rgb-mini-snake-12 took longer than 180.0 seconds.. 2026-07-31 09:05:48 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-accessories/lzx-industries-rca-sync-cable-5 took longer than 180.0 seconds.. 2026-07-31 09:05:49 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-buffered-sync-busboard-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Reverselandfill-Syncbus.jpg', 'is_used': False, 'manufacturer': 'Reverselandfill', 'name': 'Reverselandfill - Buffered Sync Busboard (DIY Kit)', 'page_metadata': None, 'price': '33.33', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-buffered-sync-busboard-diy-kit', 'vat_included': True} 2026-07-31 09:05:49 [scrapy.extensions.logstats] INFO: Crawled 34 pages (at 0 pages/min), scraped 14 items (at 4 items/min) 2026-07-31 09:05:49 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/diy/eurorack-kits/transient-modules-u2x-1u-intellijel-scale-diy-kit took longer than 180.0 seconds.. 2026-07-31 09:05:49 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-110-counter-pcb-frontpanel> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Castle-110-Counter.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Castle 110 Counter (PCB & Frontpanel)', 'page_metadata': None, 'price': '16.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-110-counter-pcb-frontpanel', 'vat_included': True} 2026-07-31 09:05:49 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure. 2026-07-31 09:05:50 [rawvoltage] INFO: Found next: https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=3 2026-07-31 09:06:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/diy/eurorack-kits) 2026-07-31 09:06:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) 2026-07-31 09:06:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/diy/eurorack-kits) 2026-07-31 09:06:23 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) 2026-07-31 09:06:24 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis) 2026-07-31 09:06:24 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=2) 2026-07-31 09:06:24 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) 2026-07-31 09:06:29 [scrapy.core.scraper] ERROR: Spider error processing (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) Traceback (most recent call last): File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 35, in _extract_items data = json.loads(script, strict=False) File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads return cls(**kw).decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 50 (char 299) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/modularspiders/spiders/rawvoltage.py", line 51, in parse_product loader = self.get_loader(response) File "/code/modularspiders/spiders/base.py", line 53, in get_loader extruct.extract(response.text, schema_context=schema_context), File "/code/lib/python3.10/site-packages/extruct/_extruct.py", line 108, in extract output[syntax] = list(extract(document, base_url=base_url)) File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 25, in extract_items return [ File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 25, in return [ File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 38, in _extract_items data = jstyleson.loads(HTML_OR_JS_COMMENTLINE.sub('', script), strict=False) File "/code/lib/python3.10/site-packages/jstyleson.py", line 123, in loads return json.loads(dispose(text), **kwargs) File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads return cls(**kw).decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 50 (char 299) 2026-07-31 09:06:32 [scrapy.core.scraper] ERROR: Spider error processing (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) Traceback (most recent call last): File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 35, in _extract_items data = json.loads(script, strict=False) File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads return cls(**kw).decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 50 (char 299) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/modularspiders/spiders/rawvoltage.py", line 51, in parse_product loader = self.get_loader(response) File "/code/modularspiders/spiders/base.py", line 53, in get_loader extruct.extract(response.text, schema_context=schema_context), File "/code/lib/python3.10/site-packages/extruct/_extruct.py", line 108, in extract output[syntax] = list(extract(document, base_url=base_url)) File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 25, in extract_items return [ File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 25, in return [ File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 38, in _extract_items data = jstyleson.loads(HTML_OR_JS_COMMENTLINE.sub('', script), strict=False) File "/code/lib/python3.10/site-packages/jstyleson.py", line 123, in loads return json.loads(dispose(text), **kwargs) File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads return cls(**kw).decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 50 (char 299) 2026-07-31 09:06:35 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis) 2026-07-31 09:06:41 [scrapy.extensions.logstats] INFO: Crawled 42 pages (at 8 pages/min), scraped 15 items (at 1 items/min) 2026-07-31 09:06:41 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/diy/eurorack-kits/transient-modules-1f-voltage-controlled-switch-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Transient-Modules-1F-158x1024.jpg', 'is_used': False, 'manufacturer': 'Transient Modules', 'name': 'Transient Modules - 1F - Voltage Controlled Switch (DIY Kit)', 'page_metadata': None, 'price': '58.33', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/diy/eurorack-kits/transient-modules-1f-voltage-controlled-switch-diy-kit', 'vat_included': True} 2026-07-31 09:06:41 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/diy/eurorack-kits/4ms-scm-breakout-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/4ms_SCMBO_kit.jpg', 'is_used': False, 'manufacturer': '4ms', 'name': '4ms - SCM Breakout - DIY Kit', 'page_metadata': None, 'price': '107.5', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/diy/eurorack-kits/4ms-scm-breakout-diy-kit', 'vat_included': True} 2026-07-31 09:06:42 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-matrix-mixer-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Reverselandfill-Matrix-Mixer-Frontpanel.jpg', 'is_used': False, 'manufacturer': 'Reverselandfill', 'name': 'Reverselandfill - Matrix Mixer (DIY Kit)', 'page_metadata': None, 'price': '133.33', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-matrix-mixer-diy-kit', 'vat_included': True} 2026-07-31 09:06:45 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-accessories/lzx-industries-dc-distro-3a> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/LZX-Industries-DC-Distro-3A-1.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - DC Distro 3A', 'page_metadata': None, 'price': '140.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-accessories/lzx-industries-dc-distro-3a', 'vat_included': True} 2026-07-31 09:06:46 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=2) 2026-07-31 09:06:46 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis) 2026-07-31 09:06:46 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis) 2026-07-31 09:06:46 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 09:06:46 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) 2026-07-31 09:06:46 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-matte> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Matte.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Matte', 'page_metadata': None, 'price': '232.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-matte', 'vat_included': True} 2026-07-31 09:11:16 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): [] 2026-07-31 09:11:16 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): [] 2026-07-31 09:11:20 [scrapy.extensions.logstats] INFO: Crawled 47 pages (at 5 pages/min), scraped 20 items (at 5 items/min) 2026-07-31 09:11:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-snow-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Reverselandfill-Snow.jpg', 'is_used': False, 'manufacturer': 'Reverselandfill', 'name': 'Reverselandfill - Snow DIY Kit)', 'page_metadata': None, 'price': '108.33', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-snow-diy-kit', 'vat_included': True} 2026-07-31 09:11:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-keychain> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Keychain.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Keychain', 'page_metadata': None, 'price': '265.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-keychain', 'vat_included': True} 2026-07-31 09:11:20 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-factors> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Factors.png', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Factors', 'page_metadata': None, 'price': '265.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-factors', 'vat_included': True} 2026-07-31 09:11:20 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-triple-function-generator-diy-kit took longer than 180.0 seconds.. 2026-07-31 09:11:20 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=3 took longer than 180.0 seconds.. 2026-07-31 09:11:20 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-dual-distrib-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:11:20 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1vr-voltage-reference-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:11:20 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1lv-level-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:11:20 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1if-interface-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:11:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-000-adc-pcb-frontpanel> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Castle-000-adc.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Castle 000 ADC (PCB & Frontpanel)', 'page_metadata': None, 'price': '16.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-000-adc-pcb-frontpanel', 'vat_included': True} 2026-07-31 09:11:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-accessories/lzx-industries-andor1-deluxe-accessories-pack> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Andor-1-Accessories-Pack.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Andor1 Deluxe Accessories Pack', 'page_metadata': None, 'price': '49.17', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-accessories/lzx-industries-andor1-deluxe-accessories-pack', 'vat_included': True} 2026-07-31 09:12:20 [scrapy.extensions.logstats] INFO: Crawled 47 pages (at 0 pages/min), scraped 25 items (at 5 items/min) 2026-07-31 09:12:20 [rawvoltage] INFO: Found next: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3 2026-07-31 09:13:18 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis) 2026-07-31 09:14:05 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=2) 2026-07-31 09:14:06 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=2) 2026-07-31 09:14:06 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=2) 2026-07-31 09:14:07 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis) 2026-07-31 09:14:07 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=2) 2026-07-31 09:14:08 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis) 2026-07-31 09:14:08 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=2) 2026-07-31 09:14:08 [scrapy.extensions.logstats] INFO: Crawled 55 pages (at 8 pages/min), scraped 25 items (at 0 items/min) 2026-07-31 09:17:15 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-dwo3-dual-wideband-oscillator> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-DWO3-Dual-Oscillator.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - DWO3 - Dual Wideband Oscillator', 'page_metadata': None, 'price': '457.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-dwo3-dual-wideband-oscillator', 'vat_included': True} 2026-07-31 09:17:15 [scrapy.extensions.logstats] INFO: Crawled 55 pages (at 0 pages/min), scraped 26 items (at 1 items/min) 2026-07-31 09:17:15 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-ribbons took longer than 180.0 seconds.. 2026-07-31 09:17:15 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/syntonie-vu009-sawtooth-oscillator-14pin-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Syntonie-VU009.jpg', 'is_used': False, 'manufacturer': 'Syntonie', 'name': 'Syntonie - VU009 - Sawtooth Oscillator (14pin - DIY Kit)', 'page_metadata': None, 'price': '40.83', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/syntonie-vu009-sawtooth-oscillator-14pin-diy-kit', 'vat_included': True} 2026-07-31 09:17:16 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-memory-palace> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Memory-Palace-front.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Memory Palace', 'page_metadata': None, 'price': '999.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-memory-palace', 'vat_included': True} 2026-07-31 09:17:16 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-angles took longer than 180.0 seconds.. 2026-07-31 09:17:17 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-scrolls took longer than 180.0 seconds.. 2026-07-31 09:17:18 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/sequencer/vermona-melodicer took longer than 180.0 seconds.. 2026-07-31 09:17:18 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/syntonie-vu002-quad-frequency-doubler-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Syntonie-VU002.jpg', 'is_used': False, 'manufacturer': 'Syntonie', 'name': 'Syntonie - VU002 Quad Frequency Doubler (DIY Kit)', 'page_metadata': None, 'price': '25', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/syntonie-vu002-quad-frequency-doubler-diy-kit', 'vat_included': True} 2026-07-31 09:17:21 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/sequencer/endorphin.es-running-order took longer than 180.0 seconds.. 2026-07-31 09:18:22 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-155-sequencer-vintage-edition took longer than 180.0 seconds.. 2026-07-31 09:18:22 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-155-analog-trigger-sequencer took longer than 180.0 seconds.. 2026-07-31 09:18:22 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-154-sequencer-controller-vintage-edition took longer than 180.0 seconds.. 2026-07-31 09:18:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-contour> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Contour.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Contour', 'page_metadata': None, 'price': '257.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-contour', 'vat_included': True} 2026-07-31 09:18:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/syntonie-vu004-quad-inverter-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Syntonie-VU004.jpg', 'is_used': False, 'manufacturer': 'Syntonie', 'name': 'Syntonie - VU004 Quad Inverter (DIY Kit)', 'page_metadata': None, 'price': '25', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/syntonie-vu004-quad-inverter-diy-kit', 'vat_included': True} 2026-07-31 09:18:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-dsg3-dual-shape-generator> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-DSG3.png', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - DSG3 - Dual Shape Generator', 'page_metadata': None, 'price': '457.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-dsg3-dual-shape-generator', 'vat_included': True} 2026-07-31 09:18:22 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-proc> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Proc.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Proc', 'page_metadata': None, 'price': '249.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-proc', 'vat_included': True} 2026-07-31 09:18:22 [scrapy.extensions.logstats] INFO: Crawled 55 pages (at 0 pages/min), scraped 33 items (at 7 items/min) 2026-07-31 09:18:25 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=2) 2026-07-31 09:18:25 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 09:18:31 [rawvoltage] INFO: Found next: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=4 2026-07-31 09:18:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=2) 2026-07-31 09:18:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=2) 2026-07-31 09:18:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=2) 2026-07-31 09:18:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=2) 2026-07-31 09:18:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=2) 2026-07-31 09:18:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=2) 2026-07-31 09:18:31 [scrapy.extensions.logstats] INFO: Crawled 63 pages (at 8 pages/min), scraped 33 items (at 0 items/min) 2026-07-31 09:19:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 09:21:25 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 09:21:27 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-swatch> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Swatch.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Swatch', 'page_metadata': None, 'price': '240.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-swatch', 'vat_included': True} 2026-07-31 09:21:28 [scrapy.extensions.logstats] INFO: Crawled 65 pages (at 2 pages/min), scraped 34 items (at 1 items/min) 2026-07-31 09:21:28 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-stacker> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Stacker.png', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Stacker', 'page_metadata': None, 'price': '249.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-stacker', 'vat_included': True} 2026-07-31 09:21:28 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-switcher> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Switcher.png', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Switcher', 'page_metadata': None, 'price': '374.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-switcher', 'vat_included': True} 2026-07-31 09:21:28 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-sum-dist> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Sum-Dist.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - SUM/DIST', 'page_metadata': None, 'price': '180.63', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-sum-dist', 'vat_included': True} 2026-07-31 09:21:28 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-smx3-matrix-mixer> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-SMX3-Matrix-Mixer.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - SMX3 Matrix Mixer', 'page_metadata': None, 'price': '374.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-smx3-matrix-mixer', 'vat_included': True} 2026-07-31 09:24:15 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-stairs> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Stairs.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Stairs', 'page_metadata': None, 'price': '274.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-stairs', 'vat_included': True} 2026-07-31 09:24:15 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-154-sequencer-controller-vintage-edition took longer than 180.0 seconds.. 2026-07-31 09:24:15 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-155-analog-trigger-sequencer took longer than 180.0 seconds.. 2026-07-31 09:24:16 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-155-sequencer-vintage-edition took longer than 180.0 seconds.. 2026-07-31 09:24:17 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/sequencer/endorphin.es-running-order took longer than 180.0 seconds.. 2026-07-31 09:24:17 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/sequencer/vermona-melodicer took longer than 180.0 seconds.. 2026-07-31 09:24:17 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-scrolls took longer than 180.0 seconds.. 2026-07-31 09:24:17 [scrapy.extensions.logstats] INFO: Crawled 65 pages (at 0 pages/min), scraped 39 items (at 5 items/min) 2026-07-31 09:24:18 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-angles took longer than 180.0 seconds.. 2026-07-31 09:24:18 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/ajh-minimod-vca-silver> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/AJH-MiniMod-VCA-silver-front.jpg', 'is_used': False, 'manufacturer': 'AJH Synth', 'name': 'AJH MiniMod VCA silver', 'page_metadata': None, 'price': '174.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/ajh-minimod-vca-silver', 'vat_included': True} 2026-07-31 09:24:18 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-130-2-micro-vca> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-130-2-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer - A-130-2 - Micro VCA', 'page_metadata': None, 'price': '66.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-130-2-micro-vca', 'vat_included': True} 2026-07-31 09:25:48 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-ribbons took longer than 180.0 seconds.. 2026-07-31 09:25:48 [scrapy.extensions.logstats] INFO: Crawled 65 pages (at 0 pages/min), scraped 41 items (at 2 items/min) 2026-07-31 09:25:49 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:25:50 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/syntonie-vu005-dual-sinewaveshaper> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Syntonie-VU005 1.jpg', 'is_used': False, 'manufacturer': 'Syntonie', 'name': 'Syntonie - VU005 Dual Sinewaveshaper', 'page_metadata': None, 'price': '57.5', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/syntonie-vu005-dual-sinewaveshaper', 'vat_included': True} 2026-07-31 09:25:51 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:25:51 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas?sort=20a&page=2) 2026-07-31 09:25:54 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:26:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:26:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:26:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:26:47 [scrapy.extensions.logstats] INFO: Crawled 72 pages (at 7 pages/min), scraped 42 items (at 1 items/min) 2026-07-31 09:28:51 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/syntonie-vu009-sawtooth-oscillator-14pin> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Syntonie-VU009.jpg', 'is_used': False, 'manufacturer': 'Syntonie', 'name': 'Syntonie - VU009 - Sawtooth Oscillator (14pin)', 'page_metadata': None, 'price': '57.5', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/syntonie-vu009-sawtooth-oscillator-14pin', 'vat_included': True} 2026-07-31 09:28:51 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/vermona-modular-twinvcamp> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Vermona-Modular-twinVCAmp-front.jpg', 'is_used': False, 'manufacturer': 'Vermona', 'name': 'Vermona Modular twinVCAmp', 'page_metadata': None, 'price': '249.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/vermona-modular-twinvcamp', 'vat_included': True} 2026-07-31 09:28:52 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/video-headroom-systems-aural-scan> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/VHS-Aural-Scan.png', 'is_used': False, 'manufacturer': 'Video Headroom Systems', 'name': 'Video Headroom Systems - Aural Scan', 'page_metadata': None, 'price': '315.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/video-headroom-systems-aural-scan', 'vat_included': True} 2026-07-31 09:28:52 [scrapy.extensions.logstats] INFO: Crawled 72 pages (at 0 pages/min), scraped 45 items (at 3 items/min) 2026-07-31 09:28:52 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/video-headroom-systems-baja> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/VHS-Baja.png', 'is_used': False, 'manufacturer': 'Video Headroom Systems', 'name': 'Video Headroom Systems - Baja', 'page_metadata': None, 'price': '165.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/video-headroom-systems-baja', 'vat_included': True} 2026-07-31 09:29:11 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): [] 2026-07-31 09:29:38 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/tools/doepfer-a-134-2-dual-voltage-controlled-crossfader took longer than 180.0 seconds.. 2026-07-31 09:29:54 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/reverselandfill-snow took longer than 180.0 seconds.. 2026-07-31 09:29:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/syntonie-vu003-component2rgb> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Syntonie-VU003.jpg', 'is_used': False, 'manufacturer': 'Syntonie', 'name': 'Syntonie - VU003 Component2RGB', 'page_metadata': None, 'price': '40.83', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/syntonie-vu003-component2rgb', 'vat_included': True} 2026-07-31 09:29:55 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/reverselandfill-cmix took longer than 180.0 seconds.. 2026-07-31 09:30:00 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/eurorack-modules/tools/doepfer-a-134-1-voltage-controlled-panner-crossfader took longer than 180.0 seconds.. 2026-07-31 09:30:02 [scrapy.extensions.logstats] INFO: Crawled 72 pages (at 0 pages/min), scraped 47 items (at 2 items/min) 2026-07-31 09:33:55 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-vga-scart-expander took longer than 180.0 seconds.. 2026-07-31 09:33:55 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 1 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-tbc2 took longer than 180.0 seconds.. 2026-07-31 09:33:55 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1if-interface-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:33:56 [scrapy.extensions.logstats] INFO: Crawled 72 pages (at 0 pages/min), scraped 47 items (at 0 items/min) 2026-07-31 09:33:56 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1lv-level-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:33:56 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure. 2026-07-31 09:33:56 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure. 2026-07-31 09:33:56 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure. 2026-07-31 09:33:56 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure. 2026-07-31 09:34:06 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:34:06 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=4) 2026-07-31 09:34:06 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=4) 2026-07-31 09:34:06 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:34:10 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis) 2026-07-31 09:34:10 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/diy/eurorack-kits) 2026-07-31 09:34:11 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas?sort=20a&page=2) 2026-07-31 09:34:11 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis) 2026-07-31 09:34:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/reverselandfill-snow> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Reverselandfill-Snow.jpg', 'is_used': False, 'manufacturer': 'Reverselandfill', 'name': 'Reverselandfill - Snow', 'page_metadata': None, 'price': '166.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/reverselandfill-snow', 'vat_included': True} 2026-07-31 09:34:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/video-headroom-systems-channel> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/VHS-Channel.png', 'is_used': False, 'manufacturer': 'Video Headroom Systems', 'name': 'Video Headroom Systems - Channel', 'page_metadata': None, 'price': '257.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/video-headroom-systems-channel', 'vat_included': True} 2026-07-31 09:34:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:34:41 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:34:47 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/video-headroom-systems-scanners> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Scanners.jpg', 'is_used': False, 'manufacturer': 'Video Headroom Systems', 'name': 'Video Headroom Systems - Scanners', 'page_metadata': None, 'price': '307.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/video-headroom-systems-scanners', 'vat_included': True} 2026-07-31 09:34:48 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/reverselandfill-cmix> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Reverselandfill-Cmix-1.jpg', 'is_used': False, 'manufacturer': 'Reverselandfill', 'name': 'Reverselandfill - CMIX', 'page_metadata': None, 'price': '125', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/reverselandfill-cmix', 'vat_included': True} 2026-07-31 09:34:48 [scrapy.extensions.logstats] INFO: Crawled 82 pages (at 10 pages/min), scraped 51 items (at 4 items/min) 2026-07-31 09:34:48 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-fkg3-keyer> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-FKG3-Keyer.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - FKG3 Keyer', 'page_metadata': None, 'price': '374.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-fkg3-keyer', 'vat_included': True} 2026-07-31 09:34:48 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/diy/eurorack-kits/transient-modules-2m-6-channel-mixer-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Transient-Modules-2M-239x1024.jpg', 'is_used': False, 'manufacturer': 'Transient Modules', 'name': 'Transient Modules - 2M - 6 channel mixer - DIY Kit', 'page_metadata': None, 'price': '74.17', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/diy/eurorack-kits/transient-modules-2m-6-channel-mixer-diy-kit', 'vat_included': True} 2026-07-31 09:35:30 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=4) 2026-07-31 09:35:30 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/tools/doepfer-a-134-2-dual-voltage-controlled-crossfader> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-134-2-Dual-Voltage-Controlled-Crossfader-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-134-2 Dual Voltage Controlled Crossfader', 'page_metadata': None, 'price': '58.33', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/tools/doepfer-a-134-2-dual-voltage-controlled-crossfader', 'vat_included': True} 2026-07-31 09:35:31 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-esg3-encoder> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-ESG3-Encoder.png', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - ESG3 - Encoder', 'page_metadata': None, 'price': '457.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-esg3-encoder', 'vat_included': True} 2026-07-31 09:35:31 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-vga-scart-expander> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-vga-scart-adapter.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - VGA+Scart Expander', 'page_metadata': None, 'price': '45.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-vga-scart-expander', 'vat_included': True} 2026-07-31 09:35:31 [scrapy.extensions.logstats] INFO: Crawled 83 pages (at 1 pages/min), scraped 56 items (at 5 items/min) 2026-07-31 09:35:31 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-tbc2> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-TBC2-front.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - TBC2', 'page_metadata': None, 'price': '957.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-tbc2', 'vat_included': True} 2026-07-31 09:36:02 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis?sort=20a&page=3) 2026-07-31 09:36:22 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) 2026-07-31 09:36:40 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/video-headroom-systems-submixer> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/VHS-Submixer.png', 'is_used': False, 'manufacturer': 'Video Headroom Systems', 'name': 'Video Headroom Systems - Submixer', 'page_metadata': None, 'price': '190.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/video-headroom-systems-submixer', 'vat_included': True} 2026-07-31 09:38:53 [scrapy.core.scraper] ERROR: Spider error processing (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) Traceback (most recent call last): File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 35, in _extract_items data = json.loads(script, strict=False) File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads return cls(**kw).decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 50 (char 299) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/modularspiders/spiders/rawvoltage.py", line 51, in parse_product loader = self.get_loader(response) File "/code/modularspiders/spiders/base.py", line 53, in get_loader extruct.extract(response.text, schema_context=schema_context), File "/code/lib/python3.10/site-packages/extruct/_extruct.py", line 108, in extract output[syntax] = list(extract(document, base_url=base_url)) File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 25, in extract_items return [ File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 25, in return [ File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 38, in _extract_items data = jstyleson.loads(HTML_OR_JS_COMMENTLINE.sub('', script), strict=False) File "/code/lib/python3.10/site-packages/jstyleson.py", line 123, in loads return json.loads(dispose(text), **kwargs) File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads return cls(**kw).decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 50 (char 299) 2026-07-31 09:38:54 [scrapy.extensions.logstats] INFO: Crawled 85 pages (at 2 pages/min), scraped 58 items (at 2 items/min) 2026-07-31 09:38:54 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): [] 2026-07-31 09:38:54 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/diy/eurorack-kits/transient-modules-u2x-1u-intellijel-scale-diy-kit took longer than 180.0 seconds.. 2026-07-31 09:38:54 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-accessories/lzx-industries-rca-sync-cable-5 took longer than 180.0 seconds.. 2026-07-31 09:38:54 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-001-dac-pcb-frontpanel took longer than 180.0 seconds.. 2026-07-31 09:38:54 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-010-clock-vco-pcb-frontpanel took longer than 180.0 seconds.. 2026-07-31 09:38:54 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying (failed 2 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-011-shift-register-pcb-frontpanel took longer than 180.0 seconds.. 2026-07-31 09:38:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/reverselandfill-triple-function-generator> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Reverselandfill-Triple-Function-Generator-Front.jpg', 'is_used': False, 'manufacturer': 'Reverselandfill', 'name': 'Reverselandfill - Triple Function Generator', 'page_metadata': None, 'price': '200', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/reverselandfill-triple-function-generator', 'vat_included': True} 2026-07-31 09:38:58 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 09:38:58 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 09:38:58 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 09:39:00 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 09:39:00 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 09:39:00 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 09:39:00 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 09:39:00 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/videosynthesis) 2026-07-31 09:39:07 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-101-quad-gate-pcb-frontpanel> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Castle-101-quad-gate.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Castle 101 Quad Gate (PCB & Frontpanel)', 'page_metadata': None, 'price': '16.67', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-101-quad-gate-pcb-frontpanel', 'vat_included': True} 2026-07-31 09:39:09 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas) 2026-07-31 09:39:12 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=2) 2026-07-31 09:40:04 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-100-multigate-pcb-frontpanel> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Castle-100-multi-gate.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Castle 100 Multigate (PCB & Frontpanel)', 'page_metadata': None, 'price': '16.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-100-multigate-pcb-frontpanel', 'vat_included': True} 2026-07-31 09:40:08 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-1-dual-low-cost-vca> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-132-1-Dual-Low-Cost-VCA-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-132-1 Dual Low Cost VCA', 'page_metadata': None, 'price': '54.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-1-dual-low-cost-vca', 'vat_included': True} 2026-07-31 09:40:08 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-3-dual-vca-vintage-edition> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-132-3-Vintage-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-132-3 Dual VCA Vintage Edition', 'page_metadata': None, 'price': '95.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-3-dual-vca-vintage-edition', 'vat_included': True} 2026-07-31 09:40:11 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 09:40:12 [scrapy.extensions.logstats] INFO: Crawled 96 pages (at 11 pages/min), scraped 63 items (at 5 items/min) 2026-07-31 09:40:12 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-131-vca-exponential> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-131-VCA-exponential-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-131 VCA exponential', 'page_metadata': None, 'price': '62.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-131-vca-exponential', 'vat_included': True} 2026-07-31 09:40:13 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-130-vca-linear> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-130-VCA-linear-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-130 VCA linear', 'page_metadata': None, 'price': '58.33', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-130-vca-linear', 'vat_included': True} 2026-07-31 09:40:13 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-3-dual-linear-exponential-vca> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-132-3-Dual-linear-exponential-VCA-front ' '.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-132-3 Dual linear/exponential VCA', 'page_metadata': None, 'price': '83.33', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-3-dual-linear-exponential-vca', 'vat_included': True} 2026-07-31 09:40:13 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/brownshoesonly-video-mix> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/brownshoesonly-video-mix.jpg', 'is_used': False, 'manufacturer': 'brownshoesonly', 'name': 'BrownShoesOnly - Video Mix', 'page_metadata': None, 'price': '149.17', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/brownshoesonly-video-mix', 'vat_included': True} 2026-07-31 09:40:13 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-4-quad-exponential-vca-mixer> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-132-4-Quad-exponential-VCA-Mixer-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-132-4 Quad exponential VCA / Mixer', 'page_metadata': None, 'price': '83.33', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/vcas/doepfer-a-132-4-quad-exponential-vca-mixer', 'vat_included': True} 2026-07-31 09:40:14 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 09:40:15 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-diy) 2026-07-31 09:40:15 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) 2026-07-31 09:40:15 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/diy/eurorack-kits) 2026-07-31 09:40:15 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/vcas?sort=20a&page=2) 2026-07-31 09:40:17 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-triple-function-generator-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Reverselandfill-Triple-Function-Generator-Front.jpg', 'is_used': False, 'manufacturer': 'Reverselandfill', 'name': 'Reverselandfill - Triple Function Generator (DIY Kit)', 'page_metadata': None, 'price': '125', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/reverselandfill-triple-function-generator-diy-kit', 'vat_included': True} 2026-07-31 09:40:42 [scrapy.core.scraper] ERROR: Spider error processing (referer: https://www.rawvoltage.wien/videosynthesis/video-accessories) Traceback (most recent call last): File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 35, in _extract_items data = json.loads(script, strict=False) File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads return cls(**kw).decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 49 (char 296) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/modularspiders/spiders/rawvoltage.py", line 51, in parse_product loader = self.get_loader(response) File "/code/modularspiders/spiders/base.py", line 53, in get_loader extruct.extract(response.text, schema_context=schema_context), File "/code/lib/python3.10/site-packages/extruct/_extruct.py", line 108, in extract output[syntax] = list(extract(document, base_url=base_url)) File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 25, in extract_items return [ File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 25, in return [ File "/code/lib/python3.10/site-packages/extruct/jsonld.py", line 38, in _extract_items data = jstyleson.loads(HTML_OR_JS_COMMENTLINE.sub('', script), strict=False) File "/code/lib/python3.10/site-packages/jstyleson.py", line 123, in loads return json.loads(dispose(text), **kwargs) File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads return cls(**kw).decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting ',' delimiter: line 9 column 49 (char 296) 2026-07-31 09:42:27 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-011-shift-register-pcb-frontpanel> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Castle-011-shift-register.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Castle 011 Shift Register (PCB & Frontpanel)', 'page_metadata': None, 'price': '16.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-011-shift-register-pcb-frontpanel', 'vat_included': True} 2026-07-31 09:42:29 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-010-clock-vco-pcb-frontpanel> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-castle-010-clock-vco.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Castle 010 Clock VCO (PCB & Frontpanel)', 'page_metadata': None, 'price': '16.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-010-clock-vco-pcb-frontpanel', 'vat_included': True} 2026-07-31 09:42:29 [scrapy.extensions.logstats] INFO: Crawled 101 pages (at 5 pages/min), scraped 71 items (at 8 items/min) 2026-07-31 09:42:30 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-001-dac-pcb-frontpanel> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/LZX-Industries-Castle-001-dac.jpg', 'is_used': False, 'manufacturer': 'LZX Industries', 'name': 'LZX Industries - Castle 001 DAC (PCB & Frontpanel)', 'page_metadata': None, 'price': '16.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/videosynthesis/video-diy/lzx-industries-castle-001-dac-pcb-frontpanel', 'vat_included': True} 2026-07-31 09:43:38 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/diy/eurorack-kits/transient-modules-u2x-1u-intellijel-scale-diy-kit> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Transient-Modules-u2X.jpg', 'is_used': False, 'manufacturer': 'Transient Modules', 'name': 'Transient Modules - u2X (1U intellijel scale) - DIY Kit', 'page_metadata': None, 'price': '29.17', 'stock_status': 1, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/diy/eurorack-kits/transient-modules-u2x-1u-intellijel-scale-diy-kit', 'vat_included': True} 2026-07-31 09:43:52 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=3 took longer than 180.0 seconds.. 2026-07-31 09:44:17 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-dual-distrib-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:44:19 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/tools/doepfer-a-134-1-voltage-controlled-panner-crossfader> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-134-1-Voltage-Controlled-Panner-Crossfader-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-134-1 Voltage Controlled Panner/Crossfader', 'page_metadata': None, 'price': '75', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/tools/doepfer-a-134-1-voltage-controlled-panner-crossfader', 'vat_included': True} 2026-07-31 09:44:59 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1vr-voltage-reference-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:46:26 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1lv-level-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1if-interface-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-ribbons took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-angles took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.downloadermiddlewares.retry] ERROR: Gave up retrying (failed 3 times): User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-scrolls took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.extensions.logstats] INFO: Crawled 101 pages (at 0 pages/min), scraped 74 items (at 3 items/min) 2026-07-31 09:46:27 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 1693, in _inlineCallbacks result = context.run( File "/code/lib/python3.10/site-packages/twisted/python/failure.py", line 518, in throwExceptionIntoGenerator return g.throw(self.type, self.value, self.tb) File "/code/lib/python3.10/site-packages/scrapy/core/downloader/middleware.py", line 52, in process_request return (yield download_func(request=request, spider=spider)) File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/lib/python3.10/site-packages/scrapy/core/downloader/handlers/http11.py", line 398, in _cb_timeout raise TimeoutError(f"Getting {url} took longer than {timeout} seconds.") twisted.internet.error.TimeoutError: User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy?sort=20a&page=3 took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 1693, in _inlineCallbacks result = context.run( File "/code/lib/python3.10/site-packages/twisted/python/failure.py", line 518, in throwExceptionIntoGenerator return g.throw(self.type, self.value, self.tb) File "/code/lib/python3.10/site-packages/scrapy/core/downloader/middleware.py", line 52, in process_request return (yield download_func(request=request, spider=spider)) File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/lib/python3.10/site-packages/scrapy/core/downloader/handlers/http11.py", line 398, in _cb_timeout raise TimeoutError(f"Getting {url} took longer than {timeout} seconds.") twisted.internet.error.TimeoutError: User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-dual-distrib-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 1693, in _inlineCallbacks result = context.run( File "/code/lib/python3.10/site-packages/twisted/python/failure.py", line 518, in throwExceptionIntoGenerator return g.throw(self.type, self.value, self.tb) File "/code/lib/python3.10/site-packages/scrapy/core/downloader/middleware.py", line 52, in process_request return (yield download_func(request=request, spider=spider)) File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/lib/python3.10/site-packages/scrapy/core/downloader/handlers/http11.py", line 398, in _cb_timeout raise TimeoutError(f"Getting {url} took longer than {timeout} seconds.") twisted.internet.error.TimeoutError: User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1vr-voltage-reference-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.core.engine] INFO: Closing spider (closespider_timeout) 2026-07-31 09:46:27 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 1693, in _inlineCallbacks result = context.run( File "/code/lib/python3.10/site-packages/twisted/python/failure.py", line 518, in throwExceptionIntoGenerator return g.throw(self.type, self.value, self.tb) File "/code/lib/python3.10/site-packages/scrapy/core/downloader/middleware.py", line 52, in process_request return (yield download_func(request=request, spider=spider)) File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/lib/python3.10/site-packages/scrapy/core/downloader/handlers/http11.py", line 398, in _cb_timeout raise TimeoutError(f"Getting {url} took longer than {timeout} seconds.") twisted.internet.error.TimeoutError: User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1lv-level-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 1693, in _inlineCallbacks result = context.run( File "/code/lib/python3.10/site-packages/twisted/python/failure.py", line 518, in throwExceptionIntoGenerator return g.throw(self.type, self.value, self.tb) File "/code/lib/python3.10/site-packages/scrapy/core/downloader/middleware.py", line 52, in process_request return (yield download_func(request=request, spider=spider)) File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/lib/python3.10/site-packages/scrapy/core/downloader/handlers/http11.py", line 398, in _cb_timeout raise TimeoutError(f"Getting {url} took longer than {timeout} seconds.") twisted.internet.error.TimeoutError: User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/video-diy/visible-signals-1if-interface-pcb-panel took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 1693, in _inlineCallbacks result = context.run( File "/code/lib/python3.10/site-packages/twisted/python/failure.py", line 518, in throwExceptionIntoGenerator return g.throw(self.type, self.value, self.tb) File "/code/lib/python3.10/site-packages/scrapy/core/downloader/middleware.py", line 52, in process_request return (yield download_func(request=request, spider=spider)) File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/lib/python3.10/site-packages/scrapy/core/downloader/handlers/http11.py", line 398, in _cb_timeout raise TimeoutError(f"Getting {url} took longer than {timeout} seconds.") twisted.internet.error.TimeoutError: User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-ribbons took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 1693, in _inlineCallbacks result = context.run( File "/code/lib/python3.10/site-packages/twisted/python/failure.py", line 518, in throwExceptionIntoGenerator return g.throw(self.type, self.value, self.tb) File "/code/lib/python3.10/site-packages/scrapy/core/downloader/middleware.py", line 52, in process_request return (yield download_func(request=request, spider=spider)) File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/lib/python3.10/site-packages/scrapy/core/downloader/handlers/http11.py", line 398, in _cb_timeout raise TimeoutError(f"Getting {url} took longer than {timeout} seconds.") twisted.internet.error.TimeoutError: User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-angles took longer than 180.0 seconds.. 2026-07-31 09:46:27 [scrapy.core.scraper] ERROR: Error downloading Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 1693, in _inlineCallbacks result = context.run( File "/code/lib/python3.10/site-packages/twisted/python/failure.py", line 518, in throwExceptionIntoGenerator return g.throw(self.type, self.value, self.tb) File "/code/lib/python3.10/site-packages/scrapy/core/downloader/middleware.py", line 52, in process_request return (yield download_func(request=request, spider=spider)) File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/lib/python3.10/site-packages/scrapy/core/downloader/handlers/http11.py", line 398, in _cb_timeout raise TimeoutError(f"Getting {url} took longer than {timeout} seconds.") twisted.internet.error.TimeoutError: User timeout caused connection failure: Getting https://www.rawvoltage.wien/videosynthesis/eurorack-video-modules/lzx-industries-scrolls took longer than 180.0 seconds.. 2026-07-31 09:46:29 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/sequencer) 2026-07-31 09:46:29 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/sequencer) 2026-07-31 09:46:29 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/sequencer) 2026-07-31 09:46:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/sequencer) 2026-07-31 09:46:31 [scrapy.core.engine] DEBUG: Crawled (200) (referer: https://www.rawvoltage.wien/eurorack-modules/sequencer) 2026-07-31 09:46:33 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/sequencer/endorphin.es-running-order> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/endorphines-running-oder-black-1.jpg', 'is_used': False, 'manufacturer': 'Endorphines', 'name': 'Endorphin.es - Running Order', 'page_metadata': None, 'price': '140.83', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/sequencer/endorphin.es-running-order', 'vat_included': True} 2026-07-31 09:46:38 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/sequencer/vermona-melodicer> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Vermona-Melodicer-1.jpg', 'is_used': False, 'manufacturer': 'Vermona', 'name': 'Vermona - Melodicer', 'page_metadata': None, 'price': '357.5', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/sequencer/vermona-melodicer', 'vat_included': True} 2026-07-31 09:46:38 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-155-analog-trigger-sequencer> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-155-Analog-Trigger-Sequencer-front.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-155 Analog/Trigger Sequencer', 'page_metadata': None, 'price': '250', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-155-analog-trigger-sequencer', 'vat_included': True} 2026-07-31 09:46:38 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-154-sequencer-controller-vintage-edition> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-154-Vintage-1.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-154 Sequencer Controller - Vintage Edition', 'page_metadata': None, 'price': '166.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-154-sequencer-controller-vintage-edition', 'vat_included': True} 2026-07-31 09:46:38 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-155-sequencer-vintage-edition> {'batch_id': '2532', 'currency_code': 'EUR', 'html': None, 'image_url': 'https://www.rawvoltage.wien/images/module/Doepfer-A-155-Vintage-1.jpg', 'is_used': False, 'manufacturer': 'Doepfer', 'name': 'Doepfer A-155 Sequencer Vintage Edition', 'page_metadata': None, 'price': '291.67', 'stock_status': 0, 'store_code': 'rawvoltage', 'url': 'https://www.rawvoltage.wien/eurorack-modules/sequencer/doepfer-a-155-sequencer-vintage-edition', 'vat_included': True} 2026-07-31 09:46:40 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): wigglehunt.com:443 2026-07-31 09:47:38 [py.warnings] WARNING: /code/lib/python3.10/site-packages/urllib3/connectionpool.py:1045: InsecureRequestWarning: Unverified HTTPS request is being made to host 'wigglehunt.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings warnings.warn( 2026-07-31 09:47:51 [scrapy.core.engine] ERROR: Scraper close failure Traceback (most recent call last): File "/code/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "/code/lib/python3.10/site-packages/urllib3/connectionpool.py", line 449, in _make_request six.raise_from(e, None) File "", line 3, in raise_from File "/code/lib/python3.10/site-packages/urllib3/connectionpool.py", line 444, in _make_request httplib_response = conn.getresponse() File "/usr/local/lib/python3.10/http/client.py", line 1375, in getresponse response.begin() File "/usr/local/lib/python3.10/http/client.py", line 318, in begin version, status, reason = self._read_status() File "/usr/local/lib/python3.10/http/client.py", line 287, in _read_status raise RemoteDisconnected("Remote end closed connection without" http.client.RemoteDisconnected: Remote end closed connection without response During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/code/lib/python3.10/site-packages/requests/adapters.py", line 489, in send resp = conn.urlopen( File "/code/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen retries = retries.increment( File "/code/lib/python3.10/site-packages/urllib3/util/retry.py", line 550, in increment raise six.reraise(type(error), error, _stacktrace) File "/code/lib/python3.10/site-packages/urllib3/packages/six.py", line 769, in reraise raise value.with_traceback(tb) File "/code/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "/code/lib/python3.10/site-packages/urllib3/connectionpool.py", line 449, in _make_request six.raise_from(e, None) File "", line 3, in raise_from File "/code/lib/python3.10/site-packages/urllib3/connectionpool.py", line 444, in _make_request httplib_response = conn.getresponse() File "/usr/local/lib/python3.10/http/client.py", line 1375, in getresponse response.begin() File "/usr/local/lib/python3.10/http/client.py", line 318, in begin version, status, reason = self._read_status() File "/usr/local/lib/python3.10/http/client.py", line 287, in _read_status raise RemoteDisconnected("Remote end closed connection without" urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/code/lib/python3.10/site-packages/twisted/internet/defer.py", line 892, in _runCallbacks current.result = callback( # type: ignore[misc] File "/code/modularspiders/pipelines.py", line 46, in close_spider requests.get( File "/code/lib/python3.10/site-packages/requests/api.py", line 73, in get return request("get", url, params=params, **kwargs) File "/code/lib/python3.10/site-packages/requests/api.py", line 59, in request return session.request(method=method, url=url, **kwargs) File "/code/lib/python3.10/site-packages/requests/sessions.py", line 587, in request resp = self.send(prep, **send_kwargs) File "/code/lib/python3.10/site-packages/requests/sessions.py", line 701, in send r = adapter.send(request, **kwargs) File "/code/lib/python3.10/site-packages/requests/adapters.py", line 547, in send raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) 2026-07-31 09:47:51 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/exception_count': 69, 'downloader/exception_type_count/twisted.internet.error.TimeoutError': 65, 'downloader/exception_type_count/twisted.web._newclient.ResponseNeverReceived': 4, 'downloader/request_bytes': 67301, 'downloader/request_count': 175, 'downloader/request_method_count/GET': 175, 'downloader/response_bytes': 10160729, 'downloader/response_count': 106, 'downloader/response_status_count/200': 106, 'elapsed_time_seconds': 3684.894932, 'finish_reason': 'closespider_timeout', 'finish_time': datetime.datetime(2026, 7, 31, 9, 47, 51, 356143), 'item_scraped_count': 79, 'log_count/DEBUG': 248, 'log_count/ERROR': 22, 'log_count/INFO': 43, 'log_count/WARNING': 2, 'memusage/max': 103297024, 'memusage/startup': 59785216, 'request_depth_max': 5, 'response_received_count': 106, 'retry/count': 61, 'retry/max_reached': 8, 'retry/reason_count/twisted.internet.error.TimeoutError': 57, 'retry/reason_count/twisted.web._newclient.ResponseNeverReceived': 4, 'robotstxt/request_count': 1, 'robotstxt/response_count': 1, 'robotstxt/response_status_count/200': 1, 'scheduler/dequeued': 174, 'scheduler/dequeued/memory': 174, 'scheduler/enqueued': 174, 'scheduler/enqueued/memory': 174, 'spider_exceptions/JSONDecodeError': 5, 'start_time': datetime.datetime(2026, 7, 31, 8, 46, 26, 461211)} 2026-07-31 09:47:51 [scrapy.core.engine] INFO: Spider closed (closespider_timeout)