Head
2026-03-30 15:01:52 [scrapy.utils.log] INFO: Scrapy 2.11.2 started (bot: SourcingV2)
2026-03-30 15:01:52 [scrapy.utils.log] INFO: Versions: lxml 5.2.2.0, libxml2 2.12.6, cssselect 1.2.0, parsel 1.9.1, w3lib 2.1.2, Twisted 24.3.0, Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0], pyOpenSSL 24.1.0 (OpenSSL 3.2.1 30 Jan 2024), cryptography 42.0.7, Platform Linux-5.15.0-1098-azure-x86_64-with-glibc2.36
2026-03-30 15:01:52 [auto_selling_coches.net.api] INFO: Starting auto_selling_coches.net.api spider (API-based)
2026-03-30 15:01:52 [auto_selling_coches.net.api] INFO: Extracted dealer slug: codingmurcia
2026-03-30 15:01:52 [auto_selling_coches.net.api] INFO: _job: 4a4fc0a82c1f11f18e133aacc95538c6, SCRAPY_JOB: None
2026-03-30 15:01:52 [scrapy.addons] INFO: Enabled addons:
[]
2026-03-30 15:01:52 [asyncio] DEBUG: Using selector: EpollSelector
2026-03-30 15:01:52 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-03-30 15:01:52 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-03-30 15:01:52 [scrapy.extensions.telnet] INFO: Telnet Password: 666ef9790d85651b
2026-03-30 15:01:52 [scrapy.middleware] INFO: Enabled extensions:
['scrapy.extensions.corestats.CoreStats',
'scrapy.extensions.telnet.TelnetConsole',
'scrapy.extensions.memusage.MemoryUsage',
'scrapy.extensions.feedexport.FeedExporter',
'scrapy.extensions.logstats.LogStats',
'scrapy.extensions.closespider.CloseSpider']
2026-03-30 15:01:52 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'SourcingV2',
'CLOSESPIDER_TIMEOUT': 3600,
'CONCURRENT_REQUESTS': 5,
'DOWNLOAD_MAXSIZE': 52428800,
'DOWNLOAD_WARNSIZE': 10485760,
'FEED_EXPORT_ENCODING': 'utf-8',
'LOG_FILE': '/var/log/scrapyd/logs/sourcing_v2/auto_selling_coches.net.api/4a4fc0a82c1f11f18e133aacc95538c6.log',
'LOG_FORMATTER': 'crawlers.log_formatter.SourcingLogFormatter',
'MEMUSAGE_LIMIT_MB': 2048,
'MEMUSAGE_WARNING_MB': 1536,
'NEWSPIDER_MODULE': 'spiders',
'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
'REQUEST_FINGERPRINTER_IMPLEMENTATION': '2.7',
'SPIDER_MODULES': ['spiders', 'auth_check'],
'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor',
'USER_AGENT': ''}
2026-03-30 15:01:52 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with '5857011'
2026-03-30 15:01:52 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with '5857011'
2026-03-30 15:01:52 [scrapy.middleware] INFO: Enabled downloader middlewares:
['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware',
'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
'scrapy_zyte_api.ScrapyZyteAPIDownloaderMiddleware',
'scrapy.downloadermiddlewares.retry.RetryMiddleware',
'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
'scrapy.downloadermiddlewares.stats.DownloaderStats']
2026-03-30 15:01:52 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Setting up IdGenerationMiddleware for auto_selling
2026-03-30 15:01:52 [scrapy.middleware] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
'scrapy_zyte_api.ScrapyZyteAPISpiderMiddleware',
'scrapy.spidermiddlewares.referer.RefererMiddleware',
'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
'scrapy.spidermiddlewares.depth.DepthMiddleware',
'crawlers.middlewares.photo_download_middleware.PhotoDownloadMiddleware',
'crawlers.auto_selling.middlewares.id_gen_middleware.IdGenMiddleware']
2026-03-30 15:01:52 [scrapy.middleware] INFO: Enabled item pipelines:
['crawlers.pipelines.post_to_azurebus_auto_selling.AzureBusPipelineAutoSelling',
'crawlers.pipelines.save_to_cdlq_db_auto_selling.SaveToCdlqDbAutoSelling']
2026-03-30 15:01:52 [scrapy.core.engine] INFO: Spider opened
2026-03-30 15:01:52 [azure.identity._credentials.environment] INFO: Incomplete environment configuration for EnvironmentCredential. These variables are set: AZURE_TENANT_ID, AZURE_CLIENT_ID
2026-03-30 15:01:52 [common.service_bus.service_bus_client_factory] INFO: ServiceBusClient initialized via DefaultAzureCredential for alx-production-bus.servicebus.windows.net
2026-03-30 15:01:52 [crawlers.pipelines.base_azure_bus_pipeline] INFO: [AzureBusPipeline] Connected to topic auto.sourcing-v2
2026-03-30 15:01:52 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-03-30 15:01:52 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2026-03-30 15:01:52 [scrapy.extensions.memusage] INFO: Peak memory usage is 142MiB
2026-03-30 15:01:52 [scrapy-playwright] INFO: Starting download handler
2026-03-30 15:01:52 [scrapy-playwright] INFO: Starting download handler
2026-03-30 15:01:57 [auto_selling_coches.net.api] INFO: API spider started with URL: https://www.coches.net/concesionario/codingmurcia, dealer_slug: codingmurcia
2026-03-30 15:01:57 [auto_selling_coches.net.api] INFO: Trying fast dealer API: https://web.gw.coches.net/dealers/codingmurcia
2026-03-30 15:01:57 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-03-30 15:02:02 [scrapy.core.engine] DEBUG: Crawled (400) <GET https://web.gw.coches.net/dealers/codingmurcia> (referer: None) ['zyte-api']
2026-03-30 15:02:02 [auto_selling_coches.net.api] INFO: Search API failed (Ignoring non-200 response), falling back to browserHtml
2026-03-30 15:02:02 [auto_selling_coches.net.api] INFO: Using browserHtml fallback path (page 1)
2026-03-30 15:02:02 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-03-30 15:02:23 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.coches.net/concesionario/codingmurcia?pg=1> (referer: None) ['zyte-api']
2026-03-30 15:02:24 [auto_selling_coches.net.api] INFO: Total items from HTML header: 44
2026-03-30 15:02:24 [auto_selling_coches.net.api] INFO: Extracting listings from HTML page 1
2026-03-30 15:02:24 [auto_selling_coches.net.api] INFO: Found 30 listings in HTML (page 1)
2026-03-30 15:02:24 [auto_selling_coches.net.api] INFO: Found listing with ID: 70281574
2026-03-30 15:02:24 [azure.identity._credentials.environment] INFO: Incomplete environment configuration for EnvironmentCredential. These variables are set: AZURE_TENANT_ID, AZURE_CLIENT_ID
2026-03-30 15:02:24 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): login.microsoftonline.com:443
2026-03-30 15:02:24 [urllib3.connectionpool] DEBUG: https://login.microsoftonline.com:443 "POST /8ea908c1-4e85-4692-bc3f-3646b9b40891/oauth2/v2.0/token HTTP/1.1" 200 2114
2026-03-30 15:02:24 [azure.identity._credentials.chained] INFO: DefaultAzureCredential acquired a token from WorkloadIdentityCredential
2026-03-30 15:02:24 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): alxsourcingstorageprod.table.core.windows.net:443
2026-03-30 15:02:24 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 15:02:24 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_coches.net.api%27%20and%20RowKey%20eq%20%2770281574%27 HTTP/1.1" 200 None
2026-03-30 15:02:24 [auto_selling_coches.net.api] INFO: Scrape type for 70281574: 1
2026-03-30 15:02:24 [auto_selling_coches.net.api] INFO: Scraping new listing 70281574
2026-03-30 15:02:24 [auto_selling_coches.net.api] INFO: Found listing with ID: 70272782
2026-03-30 15:02:24 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 15:02:24 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_coches.net.api%27%20and%20RowKey%20eq%20%2770272782%27 HTTP/1.1" 200 None
2026-03-30 15:02:24 [auto_selling_coches.net.api] INFO: Scrape type for 70272782: 1
2026-03-30 15:02:24 [auto_selling_coches.net.api] INFO: Scraping new listing 70272782
2026-03-30 15:02:24 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-03-30 15:02:24 [auto_selling_coches.net.api] INFO: Found listing with ID: 70270839
Tail
{'auction_title': '',
'body_type': 'Berlina',
'c_o_2_emission_value': 152,
'category': 'Coches',
'color': 'Gris / Plata',
'currency': 'EUR',
'description': 'We Speak English\n'
'\n'
'Hoy os traemos este BMW Serie 6 Gran Coupe Restyling LCI '
'Nacional que tanto tanto nos demandáis! \n'
'Un gran coupé de lujo con alma deportiva y equipamiento muy '
'completito. \n'
'La serie 6 siempre ha definido el mayor lujo en BMW, el '
'placer de conducir estirado con un buque muy potente y '
'grandes sensaciones. \n'
'\n'
'Coding Murcia, taller autorizado BMW. Todos nuestros BMW/Mini '
'se entregan tras una revisión de 130 puntos, cambio de todos '
'los filtros y aceite Ravenol + aditivo Ceratec y limpieza '
'completa. Con 1 año de garantía mecánica integral en nuestro '
'taller o colaboradores.\n'
'Ofrecemos 14 días/1.000km de prueba para todos nuestros '
'vehículos, envios a toda la península. Los costes de cambio '
'de nombre están incluidos en el precio.\n'
'Además, siempre entregamos 2 llaves y aceptamos cualquier '
'prueba mecánica +envío de revisiones oficiales si se '
'solicita.\n'
'\n'
'Además esto no es todo , lleva un equipamiento increible: \n'
'-Faros FULL LED adaptativos\n'
'-Pilotos LED\n'
'-LLantas 19"\n'
'-Cámara de marcha atrás\n'
'-Sensores de aparcamiento \n'
'- Sistema de navegación profesional NBT\n'
'-Aviso de colisión\n'
'-Head-up Display\n'
'-Espejos autoabatibles \n'
'-Marcador digital 6WB\n'
'-Equipo de sonido Gladen\n'
'-Volante Pack ///M con levas\n'
'-Asientos eléctricos completos calefactables\n'
'\n'
'Equipamiento según fabricante:\n'
'01CC\tFunción arranque/parada autom.\n'
'01CD\tBrake Energy Regeneration\n'
'04AT\tRevestim.interiores, negro muy brillante\n'
'04U2\tInterruptor dinám. condu. incl. ECO PRO\n'
'0548\tVelocímetro km/h\n'
'0676\tSistemas de altavoz HiFi\n'
'01CA\tSelección vehículos relevantes COP\n'
'01CB\tCO2 volumen\n'
'0230\tConjunto adicion., versión EU\n'
'02DP\tLlanta al. lig. BMW radios estrella 367\n'
'02PA\tProtec.antirrobo para tornillos de rueda\n'
'02VB\tIndicador de presión de los neumáticos\n'
'03AG\tCámara de marcha atrás\n'
'0423\tEsterna velours\n'
'0430\tRetrovisor int./ext. antidesl. autom.\n'
'0441\tJuego fumador\n'
'0494\tCalefaccion asiento conductor/acompañte\n'
'0508\tControl de distancia de aparcam. (PDC)\n'
'05AS\tDriving Assistant\n'
'0609\tSistema de navegación Professional\n'
'0610\tHead-up display\n'
'0698\tCódigo de área 2 para DVD\n'
'06AC\tLlamada de emergencia inteligente\n'
'06AE\tTeleservices\n'
'06AK\tConnected Drive Services\n'
'06AM\tReal-Time Traffic Information\n'
'06NS\tTelefonía confort con Smartphone ampl.\n'
'06WB\tDisplay de instrumentos multifuncional\n'
'0856\tVersión de idioma español\n'
'0883\tDocumentación de la motocicleta español\n'
'08KA\tInterv.serv.camb.aceit.24 mes./30 000 km\n'
'08S3\tCierre automático al arrancar\n'
'08TF\tProtección de viandantes activa\n'
'08TH\tDetección de señales de tráfico',
'doors_number': 4,
'emission_standard': 'C',
'engine': '3.0L',
'engine_horse_power': 313,
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'cb298d86-e6d4-57a4-9721-0d191b85566e',
'is_damaged': False,
'is_operable': True,
'license_plate': None,
'link_to_web_offer': 'https://www.coches.net/bmw-serie-6-640d-gran-coupe-4p-diesel-2016-en-murcia-70021540-covo.aspx',
'listing': 'auction',
'location': 'Murcia',
'make': 'BMW',
'model': 'Serie 6',
'odometer': 208900,
'odometer_reading_unit': 'km',
'origin_country_code': 'ES',
'original_photo_count': 1,
'photo_urls': ['https://a.ccdn.es/cnet/vehicles/19539557/977ca9cf-c5ed-4acf-bd21-42962c4a6aab.jpg'],
'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_cb298d86-e6d4-57a4-9721-0d191b85566e/cb298d86-e6d4-57a4-9721-0d191b85566e_image_0.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 68658,
'Height': 600,
'OriginUrl': 'https://a.ccdn.es/cnet/vehicles/19539557/977ca9cf-c5ed-4acf-bd21-42962c4a6aab.jpg',
'Width': 800}],
'price': 22450,
'price_includes_vat': True,
'registration_date': '2015-01-01',
'seats_number': 5,
'seller_name': None,
'title': 'BMW Serie 6 640d Gran Coupe',
'transmission': 'automatic',
'trim': '640d Gran Coupe',
'vin': 'WBA6E21010D928802',
'year': 2015}
2026-03-30 15:05:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 15:05:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_coches.net.api%27%20and%20RowKey%20eq%20%2770021540%27 HTTP/1.1" 200 None
2026-03-30 15:05:12 [auto_selling_coches.net.api] INFO: Saving data for 70021540: {'created_time': 1774883112.481207, 'last_price_update_time': 1774883112.481216}
2026-03-30 15:05:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 15:05:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_coches.net.api',RowKey='70021540') HTTP/1.1" 204 0
2026-03-30 15:05:12 [scrapy.core.engine] INFO: Closing spider (finished)
2026-03-30 15:05:12 [crawlers.pipelines.save_to_cdlq_db_auto_selling] DEBUG: [SaveToCdlqDbAutoSelling] failed to close cursor: 'SaveToCdlqDbAutoSelling' object has no attribute 'cursor'
2026-03-30 15:05:12 [crawlers.pipelines.save_to_cdlq_db_auto_selling] DEBUG: [SaveToCdlqDbAutoSelling] failed to close connection: 'SaveToCdlqDbAutoSelling' object has no attribute 'conn'
2026-03-30 15:05:12 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 15:05:12 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 15:05:12 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process scrape complete CloudEvent for item 4a4fc0a82c1f11f18e133aacc95538c6
2026-03-30 15:05:12 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.management_link] INFO: Management link receiver state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.management_link] INFO: Management link sender state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.session] INFO: Session state changed: <SessionState.MAPPED: 3> -> <SessionState.END_SENT: 4>
2026-03-30 15:05:12 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.OPENED: 9> -> <ConnectionState.CLOSE_SENT: 11>
2026-03-30 15:05:12 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.CLOSE_SENT: 11> -> <ConnectionState.END: 13>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.session] INFO: Session state changed: <SessionState.END_SENT: 4> -> <SessionState.DISCARDING: 6>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.management_link] INFO: Management link sender state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.management_link] INFO: Management link receiver state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-03-30 15:05:12 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-03-30 15:05:12 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: [AzureBusPipeline] connection closed
2026-03-30 15:05:12 [auto_selling_coches.net.api] INFO: auto_selling_coches.net.api Crawl ended with reason finished, scrape types: {<ScrapeType.NEW: 1>: 0, <ScrapeType.NEW_DUPLICATE_ID: 4>: 0, <ScrapeType.PRICE_UPDATE: 2>: 0, <ScrapeType.AUCTION_UPDATE: 3>: 0, <ScrapeType.SKIPPED: 0>: 0}
2026-03-30 15:05:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 15:05:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_coches.net.api%27%20and%20last_price_update_time%20lt%201773587113 HTTP/1.1" 200 None
2026-03-30 15:05:13 [scrapy.extensions.feedexport] INFO: Stored jsonlines feed (44 items) in: file:///var/lib/scrapyd/items/sourcing_v2/auto_selling_coches.net.api/4a4fc0a82c1f11f18e133aacc95538c6.jl
2026-03-30 15:05:13 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 93547,
'downloader/request_count': 56,
'downloader/request_method_count/GET': 56,
'downloader/response_bytes': 5784288,
'downloader/response_count': 56,
'downloader/response_status_count/200': 55,
'downloader/response_status_count/400': 1,
'elapsed_time_seconds': 200.693576,
'feedexport/success_count/FileFeedStorage': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2026, 3, 30, 15, 5, 13, 567177, tzinfo=datetime.timezone.utc),
'httpcompression/response_bytes': 1232075,
'httpcompression/response_count': 9,
'item_scraped_count': 44,
'log_count/DEBUG': 698,
'log_count/INFO': 536,
'memusage/max': 191856640,
'memusage/startup': 149176320,
'photo_download_count': 9,
'request_depth_max': 4,
'response_received_count': 47,
'scheduler/dequeued': 56,
'scheduler/dequeued/memory': 56,
'scheduler/enqueued': 56,
'scheduler/enqueued/memory': 56,
'scrape_type/new': 44,
'scrapy-zyte-api/429': 0,
'scrapy-zyte-api/attempts': 49,
'scrapy-zyte-api/error_ratio': 0.04081632653061224,
'scrapy-zyte-api/errors': 2,
"scrapy-zyte-api/exception_types/<class 'aiohttp.client_exceptions.ClientConnectorError'>": 2,
'scrapy-zyte-api/fatal_errors': 0,
'scrapy-zyte-api/mean_connection_seconds': 9.381026309419502,
'scrapy-zyte-api/mean_response_seconds': 9.471007401718104,
'scrapy-zyte-api/processed': 47,
'scrapy-zyte-api/request_args/actions': 2,
'scrapy-zyte-api/request_args/browserHtml': 2,
'scrapy-zyte-api/request_args/customHttpRequestHeaders': 45,
'scrapy-zyte-api/request_args/experimental.requestCookies': 46,
'scrapy-zyte-api/request_args/experimental.responseCookies': 47,
'scrapy-zyte-api/request_args/httpResponseBody': 45,
'scrapy-zyte-api/request_args/httpResponseHeaders': 45,
'scrapy-zyte-api/request_args/requestHeaders': 1,
'scrapy-zyte-api/request_args/url': 47,
'scrapy-zyte-api/status_codes/0': 2,
'scrapy-zyte-api/status_codes/200': 47,
'scrapy-zyte-api/success': 47,
'scrapy-zyte-api/success_ratio': 1.0,
'scrapy-zyte-api/throttle_ratio': 0.0,
'start_time': datetime.datetime(2026, 3, 30, 15, 1, 52, 873601, tzinfo=datetime.timezone.utc)}
2026-03-30 15:05:13 [scrapy.core.engine] INFO: Spider closed (finished)
2026-03-30 15:05:13 [asyncio] ERROR: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f0ac1d4b550>
2026-03-30 15:05:13 [asyncio] ERROR: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f0ac1d4bd10>