• It's recommended to check out the latest log via: the Stats page >> View log >> Tail

PROJECT (sourcing_v2), SPIDER (auto_selling_autotrader.co.uk)

2026-03-30 12:39:17 [scrapy.utils.log] INFO: Scrapy 2.11.2 started (bot: SourcingV2)
2026-03-30 12:39:17 [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 12:39:17 [auto_selling_autotrader.co.uk] INFO: Starting auto_selling_autotrader.co.uk spider
2026-03-30 12:39:17 [auto_selling_autotrader.co.uk] INFO: Quick mode enabled: batching detail requests in groups of 10
2026-03-30 12:39:17 [auto_selling_autotrader.co.uk] INFO: Limiting photo downloads to 1 per item
2026-03-30 12:39:17 [auto_selling_autotrader.co.uk] INFO: _job: 75abe4d22c3511f1b320c264925fbcfa, SCRAPY_JOB: None
2026-03-30 12:39:17 [scrapy.addons] INFO: Enabled addons:
[]
2026-03-30 12:39:17 [asyncio] DEBUG: Using selector: EpollSelector
2026-03-30 12:39:17 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
2026-03-30 12:39:17 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
2026-03-30 12:39:17 [scrapy.extensions.telnet] INFO: Telnet Password: c1262b01eb505377
2026-03-30 12:39:18 [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 12:39:18 [scrapy.crawler] INFO: Overridden settings:
{'BOT_NAME': 'SourcingV2',
 'CLOSESPIDER_TIMEOUT': 3600,
 'DOWNLOAD_MAXSIZE': 52428800,
 'DOWNLOAD_WARNSIZE': 10485760,
 'FEED_EXPORT_ENCODING': 'utf-8',
 'LOG_FILE': '/var/log/scrapyd/logs/sourcing_v2/auto_selling_autotrader.co.uk/75abe4d22c3511f1b320c264925fbcfa.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 12:39:18 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with '5857011'
2026-03-30 12:39:18 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with '5857011'
2026-03-30 12:39:18 [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 12:39:18 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Setting up IdGenerationMiddleware for auto_selling
2026-03-30 12:39:18 [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 12:39:18 [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 12:39:18 [scrapy.core.engine] INFO: Spider opened
2026-03-30 12:39:18 [azure.identity._credentials.environment] INFO: Incomplete environment configuration for EnvironmentCredential. These variables are set: AZURE_TENANT_ID, AZURE_CLIENT_ID
2026-03-30 12:39:18 [common.service_bus.service_bus_client_factory] INFO: ServiceBusClient initialized via DefaultAzureCredential for alx-production-bus.servicebus.windows.net
2026-03-30 12:39:18 [crawlers.pipelines.base_azure_bus_pipeline] INFO: [AzureBusPipeline] Connected to topic auto.sourcing-v2-quickmode
2026-03-30 12:39:18 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-03-30 12:39:18 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6025
2026-03-30 12:39:18 [scrapy.extensions.memusage] INFO: Peak memory usage is 140MiB
2026-03-30 12:39:18 [scrapy-playwright] INFO: Starting download handler
2026-03-30 12:39:18 [scrapy-playwright] INFO: Starting download handler
2026-03-30 12:39:23 [auto_selling_autotrader.co.uk] INFO: Scraper started with retailer ID: 10023988 and multipost_profile_id: e675e9f2-bd39-4491-b45a-142871b9b7e1 and job_id: 75abe4d22c3511f1b320c264925fbcfa and url: https://www.autotrader.co.uk/dealers/gloucestershire/bristol/motorwell-10023988
2026-03-30 12:39:23 [auto_selling_autotrader.co.uk] INFO: Getting list for retailer ID: 10023988, page: 1
2026-03-30 12:39:23 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-03-30 12:39:43 [scrapy.core.engine] DEBUG: Crawled (200) <POST https://www.autotrader.co.uk/at-gateway?opname=SearchResultsListingsGridQuery&opname=SearchResultsFacetsWithGroupsQuery> (referer: None) ['zyte-api']
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] DEBUG: response: <200 https://www.autotrader.co.uk/at-gateway?opname=SearchResultsListingsGridQuery&opname=SearchResultsFacetsWithGroupsQuery>
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Page: 1/1, total results: 19
2026-03-30 12:39:43 [azure.identity._credentials.environment] INFO: Incomplete environment configuration for EnvironmentCredential. These variables are set: AZURE_TENANT_ID, AZURE_CLIENT_ID
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): login.microsoftonline.com:443
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://login.microsoftonline.com:443 "POST /8ea908c1-4e85-4692-bc3f-3646b9b40891/oauth2/v2.0/token HTTP/1.1" 200 2119
2026-03-30 12:39:43 [azure.identity._credentials.chained] INFO: DefaultAzureCredential acquired a token from WorkloadIdentityCredential
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): alxsourcingstorageprod.table.core.windows.net:443
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603301120366%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603301120366: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603281101528%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603281101528: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603281092493%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603281092493: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603261025449%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603261025449: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603261025155%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603261025155: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603251006386%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603251006386: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603250983287%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603250983287: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603240968089%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603240968089: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603240960094%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603240960094: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603200860001%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603200860001: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603180812470%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603180812470: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603180804453%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603180804453: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603180804090%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603180804090: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603150719146%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603150719146: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603100570751%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603100570751: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603040406259%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603040406259: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603040405425%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603040405425: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603020337781%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202603020337781: 1
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:39:43 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202602179998968%27 HTTP/1.1" 200 None
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Scrape type for 202602179998968: 1
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Quick mode: batching 10 detail requests (batch 1)
2026-03-30 12:39:43 [auto_selling_autotrader.co.uk] INFO: Quick mode: batching 9 detail requests (batch 2)
2026-03-30 12:39:43 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-03-30 12:39:43 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
2026-03-30 12:40:18 [scrapy.extensions.logstats] INFO: Crawled 1 pages (at 1 pages/min), scraped 0 items (at 0 items/min)
2026-03-30 12:40:18 [scrapy.extensions.memusage] INFO: Peak memory usage is 152MiB
2026-03-30 12:41:18 [scrapy.extensions.logstats] INFO: Crawled 1 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2026-03-30 12:41:18 [scrapy.extensions.memusage] INFO: Peak memory usage is 152MiB
2026-03-30 12:41:54 [zyte_api._retry] DEBUG: Finished call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request' after 131.052(s), this was the 1st time calling it.
2026-03-30 12:41:54 [zyte_api._retry] DEBUG: Retrying zyte_api._async.AsyncZyteAPI.get.<locals>.request in 6.9899662751286 seconds as it raised ClientConnectorError: Cannot connect to host api.zyte.com:443 ssl:default [Connect call failed ('69.41.180.81', 443)].
2026-03-30 12:41:54 [zyte_api._retry] DEBUG: Finished call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request' after 131.055(s), this was the 1st time calling it.
2026-03-30 12:41:54 [zyte_api._retry] DEBUG: Retrying zyte_api._async.AsyncZyteAPI.get.<locals>.request in 7.362867537002644 seconds as it raised ClientConnectorError: Cannot connect to host api.zyte.com:443 ssl:default [Connect call failed ('69.41.180.81', 443)].
2026-03-30 12:42:01 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 2nd time calling it.
2026-03-30 12:42:02 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 2nd time calling it.
2026-03-30 12:42:03 [scrapy.core.engine] DEBUG: Crawled (200) <POST https://www.autotrader.co.uk/at-graphql> (referer: https://www.autotrader.co.uk/at-gateway?opname=SearchResultsListingsGridQuery&opname=SearchResultsFacetsWithGroupsQuery) ['zyte-api']
2026-03-30 12:42:03 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:03 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec with identifier: 202603180812470
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F79bc07ac369f4da988bb9b33c4f959be.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/79bc07ac369f4da988bb9b33c4f959be.jpg not downloaded yet
2026-03-30 12:42:03 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:03 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: 6e01e94d-2c3c-50c6-af82-c7a7a3af50bc with identifier: 202603180804453
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item 6e01e94d-2c3c-50c6-af82-c7a7a3af50bc
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F3a4f22b74af446f3a029c9aaebf7efea.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/3a4f22b74af446f3a029c9aaebf7efea.jpg not downloaded yet
2026-03-30 12:42:03 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:03 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: 344b34c1-559d-5db5-b46a-0d0a49361c8e with identifier: 202603180804090
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item 344b34c1-559d-5db5-b46a-0d0a49361c8e
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F1959311730f84c45ae0a0d22b103069a.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/1959311730f84c45ae0a0d22b103069a.jpg not downloaded yet
2026-03-30 12:42:03 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:03 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: c279f40b-6836-5189-8e5b-d51f8a8835c4 with identifier: 202603150719146
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item c279f40b-6836-5189-8e5b-d51f8a8835c4
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252Fcb80773e779047adbd46cf73416b8643.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/cb80773e779047adbd46cf73416b8643.jpg not downloaded yet
2026-03-30 12:42:03 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:03 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: fb7e49e0-9e47-514b-bef1-8c458e6bb6c4 with identifier: 202603100570751
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item fb7e49e0-9e47-514b-bef1-8c458e6bb6c4
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F466f8179c5e943809cf04315edc56433.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/466f8179c5e943809cf04315edc56433.jpg not downloaded yet
2026-03-30 12:42:03 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:03 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: 7601903f-b8a7-54c2-b3f5-43652b22e249 with identifier: 202603040406259
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item 7601903f-b8a7-54c2-b3f5-43652b22e249
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252Ff42ff6ed0d194b6b81a33baaba64d90f.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/f42ff6ed0d194b6b81a33baaba64d90f.jpg not downloaded yet
2026-03-30 12:42:03 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:03 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: f77e70d4-aaea-5add-bcde-97454db4f3e3 with identifier: 202603040405425
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item f77e70d4-aaea-5add-bcde-97454db4f3e3
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F1a9695429f854de8ac23dbce1780dd1b.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/1a9695429f854de8ac23dbce1780dd1b.jpg not downloaded yet
2026-03-30 12:42:03 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:03 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: e766879b-95d1-5d0c-a932-8aaacc698626 with identifier: 202603020337781
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item e766879b-95d1-5d0c-a932-8aaacc698626
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252Fd4933a88d99647d6804a551aa7d1879a.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/d4933a88d99647d6804a551aa7d1879a.jpg not downloaded yet
2026-03-30 12:42:03 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:03 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: 3b3b8024-721c-52df-a556-f35a37d57438 with identifier: 202602179998968
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item 3b3b8024-721c-52df-a556-f35a37d57438
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:03 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F9735f3ff67654f1fa44d7fde0053c72d.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:03 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/9735f3ff67654f1fa44d7fde0053c72d.jpg not downloaded yet
2026-03-30 12:42:04 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/1959311730f84c45ae0a0d22b103069a.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:04 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/3a4f22b74af446f3a029c9aaebf7efea.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:04 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/cb80773e779047adbd46cf73416b8643.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:04 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/9735f3ff67654f1fa44d7fde0053c72d.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:04 [common.azure_blobstore] INFO: Using managed identity for Azure Blob Storage
2026-03-30 12:42:04 [common.azure_blobstore] INFO: Using managed identity with client ID: 39192755-105d-4ce2-a21d-ab53b63f8b87
2026-03-30 12:42:04 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:04 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb092971750>
2026-03-30 12:42:04 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:04 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): login.microsoftonline.com:443
2026-03-30 12:42:04 [urllib3.connectionpool] DEBUG: https://login.microsoftonline.com:443 "POST /8ea908c1-4e85-4692-bc3f-3646b9b40891/oauth2/v2.0/token HTTP/1.1" 200 2107
2026-03-30 12:42:04 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): alxproduction.blob.core.windows.net:443
2026-03-30 12:42:04 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:04 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:04 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_344b34c1-559d-5db5-b46a-0d0a49361c8e/344b34c1-559d-5db5-b46a-0d0a49361c8e_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:04 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:04 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F1959311730f84c45ae0a0d22b103069a.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:04 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/1959311730f84c45ae0a0d22b103069a.jpg saved to cache
2026-03-30 12:42:04 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item 344b34c1-559d-5db5-b46a-0d0a49361c8e
2026-03-30 12:42:04 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item 344b34c1-559d-5db5-b46a-0d0a49361c8e sending to next pipeline
2026-03-30 12:42:04 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: 344b34c1-559d-5db5-b46a-0d0a49361c8e with identifier 202603180804090
2026-03-30 12:42:04 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: None -> <ConnectionState.START: 0>
2026-03-30 12:42:04 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.START: 0> -> <ConnectionState.HDR_SENT: 2>
2026-03-30 12:42:04 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.HDR_SENT: 2> -> <ConnectionState.HDR_SENT: 2>
2026-03-30 12:42:04 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.HDR_SENT: 2> -> <ConnectionState.OPEN_PIPE: 4>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.session] INFO: Session state changed: <SessionState.UNMAPPED: 0> -> <SessionState.BEGIN_SENT: 1>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACHED: 0> -> <LinkState.ATTACH_SENT: 1>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.management_link] INFO: Management link receiver state changed: <LinkState.DETACHED: 0> -> <LinkState.ATTACH_SENT: 1>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACHED: 0> -> <LinkState.ATTACH_SENT: 1>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.management_link] INFO: Management link sender state changed: <LinkState.DETACHED: 0> -> <LinkState.ATTACH_SENT: 1>
2026-03-30 12:42:04 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.OPEN_PIPE: 4> -> <ConnectionState.OPEN_SENT: 7>
2026-03-30 12:42:04 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.OPEN_SENT: 7> -> <ConnectionState.OPENED: 9>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.session] INFO: Session state changed: <SessionState.BEGIN_SENT: 1> -> <SessionState.MAPPED: 3>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACH_SENT: 1> -> <LinkState.ATTACHED: 3>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.management_link] INFO: Management link receiver state changed: <LinkState.ATTACH_SENT: 1> -> <LinkState.ATTACHED: 3>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACH_SENT: 1> -> <LinkState.ATTACHED: 3>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.management_link] INFO: Management link sender state changed: <LinkState.ATTACH_SENT: 1> -> <LinkState.ATTACHED: 3>
2026-03-30 12:42:04 [azure.servicebus._pyamqp.cbs] DEBUG: CBS completed opening with status: <ManagementOpenResult.OK: 1>
2026-03-30 12:42:04 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): login.microsoftonline.com:443
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://login.microsoftonline.com:443 "POST /8ea908c1-4e85-4692-bc3f-3646b9b40891/oauth2/v2.0/token HTTP/1.1" 200 2013
2026-03-30 12:42:05 [azure.identity._credentials.chained] INFO: DefaultAzureCredential acquired a token from WorkloadIdentityCredential
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS update in progress. Token put time: 1774874525
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS update in progress. Token put time: 1774874525
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS Put token result (<ManagementExecuteOperationResult.OK: 0>), status code: 202, status_description: b'Accepted'.
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACHED: 0> -> <LinkState.ATTACH_SENT: 1>
2026-03-30 12:42:05 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACH_SENT: 1> -> <LinkState.ATTACHED: 3>
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item 344b34c1-559d-5db5-b46a-0d0a49361c8e
2026-03-30 12:42:05 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/1959311730f84c45ae0a0d22b103069a.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 101,
 'color': 'Silver',
 'currency': 'GBP',
 'description': 'RARE ALL WHEEL DRIVE MODEL. X4 CONTINENTAL WINTER TYRES ALL '
                'ROUND. ONLY 20,000 MILES! X2 KEYS. GREAT SERVICE HISTORY AT '
                'THE FOLLOWING '
                'MILES...1,215...4,630...9,266...13,763...15,664...17,365...19,500. '
                'GREAT SPEC WHICH INCLUDES APPLE CARPLAY, CRUISE CONTROL, '
                'ELECTRIC POWERFOLD MIRRORS, PRIVACY GLASS, CLIMATE '
                'CONTROL/AC, DIAMOND CUT ALLOYS, TOUCHSCREEN MEDIA.\n'
                '\n'
                'HERE AT MOTORWELL WE PRIDE OURSELVES ON SELLING  HIGH '
                'QUALITY, LOW MILEAGE CARS AT UNBEATABLE PRICES, WE HAVE BEEN '
                'DOING SO SINCE 1987.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.2L',
 'engine_horse_power': 89,
 'fuel_type': 'Petrol Hybrid',
 'id': '344b34c1-559d-5db5-b46a-0d0a49361c8e',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603180804090',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Suzuki',
 'model': 'Swift',
 'odometer': 20000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 31,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_344b34c1-559d-5db5-b46a-0d0a49361c8e/344b34c1-559d-5db5-b46a-0d0a49361c8e_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 371353,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/1959311730f84c45ae0a0d22b103069a.jpg',
             'Width': 2048}],
 'price': 9499,
 'price_includes_vat': True,
 'registration_date': '2018-07-27',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Suzuki Swift 1.2 Dualjet MHEV SZ5 ALLGRIP Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'SZ5',
 'year': 2018}
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603180804090%27 HTTP/1.1" 200 None
2026-03-30 12:42:05 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603180804090: {'created_time': 1774874525.295059, 'last_price_update_time': 1774874525.295079}
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603180804090') HTTP/1.1" 204 0
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb095d680d0>
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_6e01e94d-2c3c-50c6-af82-c7a7a3af50bc/6e01e94d-2c3c-50c6-af82-c7a7a3af50bc_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F3a4f22b74af446f3a029c9aaebf7efea.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:05 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/3a4f22b74af446f3a029c9aaebf7efea.jpg saved to cache
2026-03-30 12:42:05 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item 6e01e94d-2c3c-50c6-af82-c7a7a3af50bc
2026-03-30 12:42:05 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item 6e01e94d-2c3c-50c6-af82-c7a7a3af50bc sending to next pipeline
2026-03-30 12:42:05 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: 6e01e94d-2c3c-50c6-af82-c7a7a3af50bc with identifier 202603180804453
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item 6e01e94d-2c3c-50c6-af82-c7a7a3af50bc
2026-03-30 12:42:05 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/3a4f22b74af446f3a029c9aaebf7efea.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 132,
 'color': 'Black',
 'currency': 'GBP',
 'description': 'GREAT FAMILY SUV. ONLY 2 OWNERS. X2 KEYS. MOT MARCH 2027 WITH '
                'NO ADVISORIES. SERVICE HISTORY AS '
                'FOLLOWS...9,492...15,946...27,468...36,138...41,000...48,404. '
                'SPEC INCLUDES SATNAV, REVERSE CAMERA, ALLOY WHEELS, CLIMATE '
                'CONTROL/AC, PRIVACY GLASS, X4 ELECTRIC WINDOWS, POWERFOLD '
                'MIRRORS, BLUETOOTH.\n'
                '\n'
                'HERE AT MOTORWELL WE PRIDE OURSELVES ON SELLING  HIGH '
                'QUALITY, LOW MILEAGE CARS AT UNBEATABLE PRICES, WE HAVE BEEN '
                'DOING SO SINCE 1987.\n'
                '\n'
                'This 2018 Honda HR-V i VTEC SE is a well maintained example, '
                'offering a blend of practicality and modern features. Powered '
                'by an efficient 1.5 litre petrol engine, this Euro 6 '
                'compliant model is registered in 2018 and presents itself in '
                'the SE trim. It comes equipped with desirable features such '
                'as dual zone climate control for personalised comfort, dusk '
                'sensing headlights that automatically illuminate, and front '
                'and rear parking sensors complemented by a rear view camera '
                'to assist with manoeuvring. The Bluetooth hands free '
                'telephone system ensures you can stay connected safely on the '
                'go.\n'
                '\n'
                'The Honda HR-V i VTEC SE stands out with its low CO2 '
                'emissions, indicating a more environmentally conscious choice '
                'compared to many vehicles in its class. This focus on '
                'efficiency, combined with its comprehensive feature set and '
                'reliable Honda engineering, makes it a sensible and appealing '
                'option for those seeking a versatile and well equipped '
                'compact SUV.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.5L',
 'engine_horse_power': 128,
 'fuel_type': 'Petrol',
 'id': '6e01e94d-2c3c-50c6-af82-c7a7a3af50bc',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603180804453',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Honda',
 'model': 'HR-V',
 'odometer': 51000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 31,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_6e01e94d-2c3c-50c6-af82-c7a7a3af50bc/6e01e94d-2c3c-50c6-af82-c7a7a3af50bc_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 413383,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/3a4f22b74af446f3a029c9aaebf7efea.jpg',
             'Width': 2048}],
 'price': 11499,
 'price_includes_vat': True,
 'registration_date': '2018-09-28',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Honda Hr-V 1.5 i-VTEC SE Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'SE',
 'year': 2018}
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603180804453%27 HTTP/1.1" 200 None
2026-03-30 12:42:05 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603180804453: {'created_time': 1774874525.729934, 'last_price_update_time': 1774874525.729947}
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603180804453') HTTP/1.1" 204 0
2026-03-30 12:42:05 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/f42ff6ed0d194b6b81a33baaba64d90f.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:05 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/1a9695429f854de8ac23dbce1780dd1b.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:05 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/79bc07ac369f4da988bb9b33c4f959be.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb092906250>
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_c279f40b-6836-5189-8e5b-d51f8a8835c4/c279f40b-6836-5189-8e5b-d51f8a8835c4_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252Fcb80773e779047adbd46cf73416b8643.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:05 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/cb80773e779047adbd46cf73416b8643.jpg saved to cache
2026-03-30 12:42:05 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item c279f40b-6836-5189-8e5b-d51f8a8835c4
2026-03-30 12:42:05 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item c279f40b-6836-5189-8e5b-d51f8a8835c4 sending to next pipeline
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb09283d6d0>
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:05 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_3b3b8024-721c-52df-a556-f35a37d57438/3b3b8024-721c-52df-a556-f35a37d57438_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F9735f3ff67654f1fa44d7fde0053c72d.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:05 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/9735f3ff67654f1fa44d7fde0053c72d.jpg saved to cache
2026-03-30 12:42:05 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item 3b3b8024-721c-52df-a556-f35a37d57438
2026-03-30 12:42:05 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item 3b3b8024-721c-52df-a556-f35a37d57438 sending to next pipeline
2026-03-30 12:42:05 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/d4933a88d99647d6804a551aa7d1879a.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:05 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: c279f40b-6836-5189-8e5b-d51f8a8835c4 with identifier 202603150719146
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item c279f40b-6836-5189-8e5b-d51f8a8835c4
2026-03-30 12:42:05 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/cb80773e779047adbd46cf73416b8643.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 135,
 'color': 'Grey',
 'currency': 'GBP',
 'description': '* FINANCE WITH US * LOW RATES AND NO DEPOSIT! ONLY TWO OWNERS '
                'FROM NEW. MARCH 2027 MOT.  FIVE RENAULT MAIN DEALER SERVICE '
                'STAMPS AND JUST SERVICED BY US. FEATURES INCLUDE: SAT NAV, '
                'FRONT AND REAR PARKING SENSORS, DAB, ISOFIX, AIRCON, CRUISE '
                'ETC. X2 KEYSThis 2018 Renault Kadjar TCe Dynamique S Nav '
                'presents an exceptional opportunity with its remarkably low '
                'mileage of just 27,000 miles. This Euro 6 compliant 1.3 litre '
                'petrol model offers a refined driving experience, enhanced by '
                "its Dynamique S Nav trim. Inside, you'll find Automatic Dual "
                'Zone Climate Control to keep everyone comfortable, alongside '
                'seamless integration with your smartphone thanks to Apple '
                'CarPlay and Android Auto. Parking is made effortless with '
                'front and rear parking sensors, while the Arkamys 3D Sound '
                'DAB radio with Bluetooth and USB connectivity ensures your '
                'journeys are accompanied by quality audio. The convenience of '
                'a hands free keycard with walk away lock function adds to the '
                'sophisticated feel of this well equipped Kadjar.\n'
                '\n'
                'The performance and efficiency of this Kadjar are notable '
                'highlights, indicating its superiority over many similar '
                'vehicles. Achieving 0 to 62 miles per hour in just 9.4 '
                'seconds, it offers responsive acceleration for everyday '
                'driving. Furthermore, its impressive fuel economy of 47 miles '
                'per gallon and low CO2 emissions make it an economical and '
                'environmentally conscious choice for your motoring needs.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.3L',
 'engine_horse_power': 138,
 'fuel_type': 'Petrol',
 'id': 'c279f40b-6836-5189-8e5b-d51f8a8835c4',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603150719146',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Renault',
 'model': 'Kadjar',
 'odometer': 27000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 24,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_c279f40b-6836-5189-8e5b-d51f8a8835c4/c279f40b-6836-5189-8e5b-d51f8a8835c4_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 387299,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/cb80773e779047adbd46cf73416b8643.jpg',
             'Width': 2048}],
 'price': 9990,
 'price_includes_vat': True,
 'registration_date': '2018-10-29',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Renault Kadjar 1.3 TCe Dynamique S Nav Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'Dynamique S Nav',
 'year': 2018}
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603150719146%27 HTTP/1.1" 200 None
2026-03-30 12:42:05 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603150719146: {'created_time': 1774874525.944347, 'last_price_update_time': 1774874525.944359}
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603150719146') HTTP/1.1" 204 0
2026-03-30 12:42:05 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: 3b3b8024-721c-52df-a556-f35a37d57438 with identifier 202602179998968
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:05 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item 3b3b8024-721c-52df-a556-f35a37d57438
2026-03-30 12:42:05 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/9735f3ff67654f1fa44d7fde0053c72d.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 159,
 'color': 'Black',
 'currency': 'GBP',
 'description': '* FINANCE WITH US WITH NO DEPOSIT AND LOW RATES * FULL '
                'HISTORY. SERVICED AT: 600 MILES, 3K, 3K, 4K, 6K, 7K   X2 '
                'KEYS. LONG MOT.\n'
                'ALLOY WHEELS. SPARE WHEEL. 4x ELECTRIC WINDOWS. ELECTRIC '
                'MIRRORS. BLUETOOTH. USB & AUX CONNECTION. AIR CONDITIONING. '
                'ISOFIX. ETC. \n'
                '\n'
                'This 2019 Kia Venga 2 presents an exceptional opportunity '
                'with an incredibly low mileage of just 9000 miles, making it '
                'stand out for its age. This Euro 6 compliant Venga is powered '
                'by a 1.6 litre petrol engine and comes with a clear vehicle '
                "history check. Inside, you'll find practical features "
                'designed for comfort and convenience, including air '
                'conditioning to keep you cool and rear parking sensors with '
                'parking assistance to make manoeuvring easier. The Bluetooth '
                'system allows for seamless music streaming, enhancing your '
                'driving experience.\n'
                '\n'
                'The Kia Venga 2 is a sensible choice, offering a low '
                'insurance group which can help keep your running costs down. '
                'Its generous boot space provides ample room for shopping or '
                'luggage, proving its practicality for everyday use. With a '
                '0-60mph acceleration time of 11.1 seconds, this Venga offers '
                'a responsive drive that is competitive within its class, '
                'demonstrating its capability compared to other vehicles you '
                'might consider.\n'
                '\n'
                'HERE AT MOTORWELL WE PRIDE OURSELVES ON SELLING  HIGH '
                'QUALITY, LOW MILEAGE CARS AT UNBEATABLE PRICES, WE HAVE BEEN '
                'DOING SO SINCE 1987.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.6L',
 'engine_horse_power': 123,
 'fuel_type': 'Petrol',
 'id': '3b3b8024-721c-52df-a556-f35a37d57438',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202602179998968',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Kia',
 'model': 'Venga',
 'odometer': 7000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 33,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_3b3b8024-721c-52df-a556-f35a37d57438/3b3b8024-721c-52df-a556-f35a37d57438_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 410820,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/9735f3ff67654f1fa44d7fde0053c72d.jpg',
             'Width': 2048}],
 'price': 11999,
 'price_includes_vat': True,
 'registration_date': '2019-08-28',
 'seats_number': 5,
 'seller_name': None,
 'title': 'KIA Venga 1.6 2 Auto Euro 6 5dr',
 'transmission': 'automatic',
 'trim': '2',
 'year': 2019}
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:05 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202602179998968%27 HTTP/1.1" 200 None
2026-03-30 12:42:05 [auto_selling_autotrader.co.uk] INFO: Saving data for 202602179998968: {'created_time': 1774874525.994869, 'last_price_update_time': 1774874525.994885}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202602179998968') HTTP/1.1" 204 0
2026-03-30 12:42:06 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/466f8179c5e943809cf04315edc56433.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb09453f950>
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_7601903f-b8a7-54c2-b3f5-43652b22e249/7601903f-b8a7-54c2-b3f5-43652b22e249_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252Ff42ff6ed0d194b6b81a33baaba64d90f.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/f42ff6ed0d194b6b81a33baaba64d90f.jpg saved to cache
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item 7601903f-b8a7-54c2-b3f5-43652b22e249
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item 7601903f-b8a7-54c2-b3f5-43652b22e249 sending to next pipeline
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb094598750>
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_f77e70d4-aaea-5add-bcde-97454db4f3e3/f77e70d4-aaea-5add-bcde-97454db4f3e3_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F1a9695429f854de8ac23dbce1780dd1b.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/1a9695429f854de8ac23dbce1780dd1b.jpg saved to cache
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item f77e70d4-aaea-5add-bcde-97454db4f3e3
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item f77e70d4-aaea-5add-bcde-97454db4f3e3 sending to next pipeline
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb0929890d0>
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec/f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F79bc07ac369f4da988bb9b33c4f959be.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/79bc07ac369f4da988bb9b33c4f959be.jpg saved to cache
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec sending to next pipeline
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb0945e5310>
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_e766879b-95d1-5d0c-a932-8aaacc698626/e766879b-95d1-5d0c-a932-8aaacc698626_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252Fd4933a88d99647d6804a551aa7d1879a.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/d4933a88d99647d6804a551aa7d1879a.jpg saved to cache
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item e766879b-95d1-5d0c-a932-8aaacc698626
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item e766879b-95d1-5d0c-a932-8aaacc698626 sending to next pipeline
2026-03-30 12:42:06 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: 7601903f-b8a7-54c2-b3f5-43652b22e249 with identifier 202603040406259
2026-03-30 12:42:06 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:06 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:06 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item 7601903f-b8a7-54c2-b3f5-43652b22e249
2026-03-30 12:42:06 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/f42ff6ed0d194b6b81a33baaba64d90f.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 162,
 'color': 'White',
 'currency': 'GBP',
 'description': 'GREAT LOOKING POPULAR FAMILY CAR. \n'
                'SERVICE HISTORY AT 6k. 12k. 18k. 24k. 31k. 38k. 46k AND BY US '
                'AT 53k. \n'
                'SPEC INCLUDES - x2 KEYS. APPLE CARPLAY. REAR PARKING SENSORS '
                '& CAMERA. SATNAV. DAB RADIO TOUCH SCREEN. BLUETOOTH. ELECTRIC '
                'POWER MIRRORS. 4x ELECTRIC WINDOWS. CRUISE CONTROL. AUTO '
                'HEADLIGHTS. ISOFIX. ALLOY WHEELS. SPARE TYRE. ETC. \n'
                '\n'
                'This 2018 Hyundai TUCSON GDi SE Nav offers exceptional value '
                'with its remarkably low mileage of just 53,000 miles for its '
                'age. This Euro 6 compliant 1.6 litre petrol model, presented '
                'in the SE Nav trim, comes equipped with a host of convenient '
                'features. Stay connected on the go with Apple CarPlay and '
                'Android Auto integration, allowing seamless access to your '
                "smartphone's functions. For comfort, enjoy the dual zone "
                'climate control, ensuring a pleasant cabin temperature for '
                'all occupants. Parking is made easier with the integrated '
                'rear camera, providing added assistance when manoeuvring.\n'
                '\n'
                'The Hyundai TUCSON GDi SE Nav stands out with its generous '
                'boot space, offering ample room for shopping, luggage, or '
                'sports equipment. Furthermore, its position within a low '
                'insurance group makes it an economical choice for many '
                'drivers, indicating it is likely to be more affordable to '
                'insure than comparable vehicles. These highlights, combined '
                'with its well maintained low mileage, demonstrate that this '
                'TUCSON is a practical and sensible option.\n'
                '\n'
                'HERE AT MOTORWELL WE PRIDE OURSELVES ON SELLING  HIGH '
                'QUALITY, LOW MILEAGE CARS AT UNBEATABLE PRICES, WE HAVE BEEN '
                'DOING SO SINCE 1987.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.6L',
 'engine_horse_power': 130,
 'fuel_type': 'Petrol',
 'id': '7601903f-b8a7-54c2-b3f5-43652b22e249',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603040406259',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Hyundai',
 'model': 'TUCSON',
 'odometer': 53000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 39,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_7601903f-b8a7-54c2-b3f5-43652b22e249/7601903f-b8a7-54c2-b3f5-43652b22e249_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 291137,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/f42ff6ed0d194b6b81a33baaba64d90f.jpg',
             'Width': 2048}],
 'price': 10499,
 'price_includes_vat': True,
 'registration_date': '2018-09-28',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Hyundai Tucson 1.6 GDi SE Nav Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'SE Nav',
 'year': 2018}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603040406259%27 HTTP/1.1" 200 None
2026-03-30 12:42:06 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603040406259: {'created_time': 1774874526.572102, 'last_price_update_time': 1774874526.572115}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603040406259') HTTP/1.1" 204 0
2026-03-30 12:42:06 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: f77e70d4-aaea-5add-bcde-97454db4f3e3 with identifier 202603040405425
2026-03-30 12:42:06 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:06 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:06 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item f77e70d4-aaea-5add-bcde-97454db4f3e3
2026-03-30 12:42:06 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/1a9695429f854de8ac23dbce1780dd1b.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 128,
 'color': 'Silver',
 'currency': 'GBP',
 'description': '* LOW MILEAGE AUTOMATIC * FINANCE WITH US WITH NO DEPOSIT!  '
                'ONLY TWO OWNERS FROM NEW. FEB 2027 MOT. SERVICE HISTORY. LAST '
                'SERVICED IN FEB. FOUR ON RECORD. FEATURES INCLUDE:  SAT NAV, '
                'ALLOYS, ISOFIX, POWER STEERING, ELECTRIC WINDOWS, BLUETOOTH, '
                'PRIVACY GLASS ETC.\n'
                '\n'
                'This 2015 Suzuki Swift SZ4 presents an exceptional '
                'opportunity with its remarkably low mileage of just 11,000 '
                'miles, a significant advantage for a vehicle of its age. This '
                'particular Swift is powered by an efficient 1.2 litre petrol '
                'engine and meets the Euro 6 emission standards.  It comes '
                'equipped with convenient features such as automatic air '
                'conditioning with climate control, integrated Bluetooth for '
                'handsfree calls and audio streaming, and automatic headlamps '
                'that switch on by themselves.  Furthermore, the keyless entry '
                'system adds a touch of modern ease to your daily driving '
                'experience.\n'
                '\n'
                'With only two previous owners, this Suzuki Swift SZ4 boasts '
                'excellent provenance. Its very low mileage for a 2015 model, '
                'combined with its low insurance group rating, suggests that '
                'running costs are likely to be very competitive compared to '
                'other vehicles in its class. These factors indicate a well '
                'cared for and economical choice for its next owner.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.2L',
 'engine_horse_power': 93,
 'fuel_type': 'Petrol',
 'id': 'f77e70d4-aaea-5add-bcde-97454db4f3e3',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603040405425',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Suzuki',
 'model': 'Swift',
 'odometer': 16000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 21,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_f77e70d4-aaea-5add-bcde-97454db4f3e3/f77e70d4-aaea-5add-bcde-97454db4f3e3_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 462425,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/1a9695429f854de8ac23dbce1780dd1b.jpg',
             'Width': 2048}],
 'price': 9990,
 'price_includes_vat': True,
 'registration_date': '2015-09-30',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Suzuki Swift 1.2 SZ4 Auto Euro 6 5dr',
 'transmission': 'automatic',
 'trim': 'SZ4',
 'year': 2015}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603040405425%27 HTTP/1.1" 200 None
2026-03-30 12:42:06 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603040405425: {'created_time': 1774874526.626507, 'last_price_update_time': 1774874526.626523}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603040405425') HTTP/1.1" 204 0
2026-03-30 12:42:06 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec with identifier 202603180812470
2026-03-30 12:42:06 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:06 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:06 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec
2026-03-30 12:42:06 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/79bc07ac369f4da988bb9b33c4f959be.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 150,
 'color': 'Grey',
 'currency': 'GBP',
 'description': '* FINANCE WITH  US WITH NO DEPOSIT * FAMILY OWNED FROM NEW. '
                'DOCUMENTED SERVICE HISTORY AT: 4K, 15K, 26K. OCT 2026 MOT. X2 '
                'KEYS. NEW BRAKES. FEATURES INCLUDE: POWER STEERING, X4 '
                'ELECTRIC WINDOWS, SAT NAV, BLUETOOTH, TOUCH SCREEN MEDIA, '
                'POWER FOLD MIRRORS,  ETC.\n'
                '\n'
                'This 2018 Hyundai ix20 SE Nav presents a remarkable '
                'opportunity with its exceptionally low mileage of just 26,000 '
                'miles, a significant advantage for a vehicle of its age, and '
                'having been cared for by only two owners. This Euro 6 '
                'compliant 1.6L petrol model offers a practical and well '
                'equipped driving experience. Inside, you will find convenient '
                'features such as rear parking sensors to aid manoeuvring, '
                'automatic headlights that activate in low light conditions, '
                'and Bluetooth connectivity with voice recognition for '
                'handsfree calls and audio streaming. The cabin is kept '
                'comfortable with air conditioning, ensuring a pleasant '
                'environment no matter the weather.\n'
                '\n'
                'The Hyundai ix20 SE Nav stands out with its generous boot '
                'space, providing ample room for shopping, luggage, or '
                'equipment, making it a versatile choice for families and '
                'individuals alike. Furthermore, its position within a low '
                'insurance group indicates that running costs are likely to be '
                'more affordable compared to many other vehicles in its class. '
                'These factors, combined with its low mileage and limited '
                'ownership, suggest this ix20 offers excellent value and a '
                'superior ownership proposition.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.6L',
 'engine_horse_power': 123,
 'fuel_type': 'Petrol',
 'id': 'f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603180812470',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Hyundai',
 'model': 'ix20',
 'odometer': 26000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 1,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec/f2e1fdcd-57ff-59d8-b09a-7c18ccf558ec_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 414119,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/79bc07ac369f4da988bb9b33c4f959be.jpg',
             'Width': 2048}],
 'price': 10250,
 'price_includes_vat': True,
 'registration_date': '2018-06-12',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Hyundai ix20 1.6 SE Nav Auto Euro 6 5dr',
 'transmission': 'automatic',
 'trim': 'SE Nav',
 'year': 2018}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603180812470%27 HTTP/1.1" 200 None
2026-03-30 12:42:06 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603180812470: {'created_time': 1774874526.677522, 'last_price_update_time': 1774874526.677532}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603180812470') HTTP/1.1" 204 0
2026-03-30 12:42:06 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: e766879b-95d1-5d0c-a932-8aaacc698626 with identifier 202603020337781
2026-03-30 12:42:06 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:06 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:06 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item e766879b-95d1-5d0c-a932-8aaacc698626
2026-03-30 12:42:06 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/d4933a88d99647d6804a551aa7d1879a.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 150,
 'color': 'Grey',
 'currency': 'GBP',
 'description': '**AUTOMATIC** WOW...ONLY 12,000 MILES! X2 KEYS. MOT MARCH '
                '2027 WITH NO ADVISORIES. SERVICE HISTORY AS FOLLOWS INCLUDING '
                'AN INSPECTION BY OURSELVES BEFORE '
                'SALE...3,490...4,633...7,210...9,008...11,310...13,000(INSPECTION). '
                'HALF LEATHER INTERIOR, HEATED SEATS/STEERING WHEEL, FRONT AND '
                'REAR PARKING SENSORS, AIRCON, ALLOY WHEELS, BLUETOOTH.\n'
                '\n'
                'HERE AT MOTORWELL WE PRIDE OURSELVES ON SELLING  HIGH '
                'QUALITY, LOW MILEAGE CARS AT UNBEATABLE PRICES, WE HAVE BEEN '
                'DOING SO SINCE 1987.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.4L',
 'engine_horse_power': 89,
 'fuel_type': 'Petrol',
 'id': 'e766879b-95d1-5d0c-a932-8aaacc698626',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603020337781',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Vauxhall',
 'model': 'Corsa',
 'odometer': 13000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 36,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_e766879b-95d1-5d0c-a932-8aaacc698626/e766879b-95d1-5d0c-a932-8aaacc698626_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 363354,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/d4933a88d99647d6804a551aa7d1879a.jpg',
             'Width': 2048}],
 'price': 11499,
 'price_includes_vat': True,
 'registration_date': '2018-10-04',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Vauxhall Corsa 1.4i ecoTEC SE Nav Auto Euro 6 5dr',
 'transmission': 'automatic',
 'trim': 'SE Nav',
 'year': 2018}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603020337781%27 HTTP/1.1" 200 None
2026-03-30 12:42:06 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603020337781: {'created_time': 1774874526.733082, 'last_price_update_time': 1774874526.733094}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603020337781') HTTP/1.1" 204 0
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb092889650>
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:06 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_fb7e49e0-9e47-514b-bef1-8c458e6bb6c4/fb7e49e0-9e47-514b-bef1-8c458e6bb6c4_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F466f8179c5e943809cf04315edc56433.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/466f8179c5e943809cf04315edc56433.jpg saved to cache
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item fb7e49e0-9e47-514b-bef1-8c458e6bb6c4
2026-03-30 12:42:06 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item fb7e49e0-9e47-514b-bef1-8c458e6bb6c4 sending to next pipeline
2026-03-30 12:42:06 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: fb7e49e0-9e47-514b-bef1-8c458e6bb6c4 with identifier 202603100570751
2026-03-30 12:42:06 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:06 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:06 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item fb7e49e0-9e47-514b-bef1-8c458e6bb6c4
2026-03-30 12:42:06 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/466f8179c5e943809cf04315edc56433.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 120,
 'color': 'White',
 'currency': 'GBP',
 'description': 'NEW MOT INCLUDED * FINANCE WITH US WITH NO DEPOSIT *X2 '
                'KEYS.RECENT BRAKE PADS & DISCS. SERVICE HISTORY AS '
                'FOLLOWS...12(PDI)...9,450...20,811...29,907...40,884.  '
                'MASSIVE SPEC INCLUDING HEATED SEATS & STEERING WHEEL, HEADS '
                'UP DISPLAY, ALLOY WHEELS, REVERSE CAMERA, CRUISE CONTROL, '
                'BLUETOOTH, USB. \n'
                '\n'
                'HERE AT MOTORWELL WE PRIDE OURSELVES ON SELLING  HIGH '
                'QUALITY, LOW MILEAGE CARS AT UNBEATABLE PRICES, WE HAVE BEEN '
                'DOING SO SINCE 1987. YOU CAN BUY ONLINE AND HAVE THE CAR '
                'DELIVERED TO YOUR DOOR AND ARRANGE FINANCE THROUGH OUR '
                'WEBSITE. IF YOU WOULD LIKE TO VIEW ANY OF OUR CARS PLEASE '
                'CALL TO ARRANGE A VIEWING. WE ACCEPT ANY CAR OR COMMERCIAL IN '
                'PART EXCHANGE PLEASE ASK FOR A VALUATION.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.5L',
 'engine_horse_power': 89,
 'fuel_type': 'Petrol',
 'id': 'fb7e49e0-9e47-514b-bef1-8c458e6bb6c4',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603100570751',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Mazda',
 'model': 'Mazda2',
 'odometer': 44000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 34,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_fb7e49e0-9e47-514b-bef1-8c458e6bb6c4/fb7e49e0-9e47-514b-bef1-8c458e6bb6c4_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 341661,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/466f8179c5e943809cf04315edc56433.jpg',
             'Width': 2048}],
 'price': 10990,
 'price_includes_vat': True,
 'registration_date': '2021-03-20',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Mazda2 1.5 SKYACTIV-G MHEV GT Sport Nav Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'GT Sport Nav',
 'year': 2021}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603100570751%27 HTTP/1.1" 200 None
2026-03-30 12:42:06 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603100570751: {'created_time': 1774874526.880688, 'last_price_update_time': 1774874526.880703}
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603100570751') HTTP/1.1" 204 0
2026-03-30 12:42:12 [scrapy.core.engine] DEBUG: Crawled (200) <POST https://www.autotrader.co.uk/at-graphql> (referer: https://www.autotrader.co.uk/at-gateway?opname=SearchResultsListingsGridQuery&opname=SearchResultsFacetsWithGroupsQuery) ['zyte-api']
2026-03-30 12:42:12 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:12 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: a7ded74a-6d43-5623-b92d-a8eca0576bf4 with identifier: 202603301120366
2026-03-30 12:42:12 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 0 photos for item a7ded74a-6d43-5623-b92d-a8eca0576bf4
2026-03-30 12:42:12 [crawlers.middlewares.photo_download_middleware] INFO: No photos to download for item a7ded74a-6d43-5623-b92d-a8eca0576bf4
2026-03-30 12:42:12 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: a7ded74a-6d43-5623-b92d-a8eca0576bf4 with identifier 202603301120366
2026-03-30 12:42:12 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:12 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:12 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item a7ded74a-6d43-5623-b92d-a8eca0576bf4
2026-03-30 12:42:12 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.autotrader.co.uk/at-graphql>
{'auction_title': '',
 'c_o_2_emission_value': 123,
 'color': 'Silver',
 'currency': 'GBP',
 'description': '* FINANCE WITH US WITH NO DEPOSIT * GREAT FAMILY CAR. MAIN '
                'DEALER HISTORY. X2 KEYS. MARCH 2027 MOT. FEATURES INCLUDE: '
                'ALLOYS,  DAB, ISOFIX, AIRCON, BLUETOOTH, POWER STEERING, '
                'ELECTRIC WINDOWS, ELECTRIC MIRRORS, ETC. \n'
                '\n'
                'This 2021 Skoda Kamiq TSI S offers an excellent combination '
                'of efficiency and practicality, making it a smart choice for '
                'everyday driving. This Euro 6 compliant model features a 1.0 '
                'litre petrol engine and comes equipped with essential '
                'features such as Bluetooth connectivity for seamless phone '
                'integration and manual air conditioning with a pollen filter '
                'to ensure a comfortable cabin environment. The S trim also '
                'benefits from basic LED headlights, complete with LED daytime '
                "running lights, enhancing both visibility and the vehicle's "
                'modern appearance.\n'
                '\n'
                'With a remarkable fuel economy of 52 miles per gallon, this '
                'Kamiq demonstrates its cost effectiveness. Its low CO2 '
                'emissions further contribute to its economical running costs, '
                'and it sits in a low insurance group, which is a significant '
                'advantage for owners. These highlights collectively position '
                'this Skoda Kamiq as a more economical and affordable option '
                'compared to many other vehicles in its class.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1L',
 'engine_horse_power': 94,
 'fuel_type': 'Petrol',
 'id': 'a7ded74a-6d43-5623-b92d-a8eca0576bf4',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603301120366',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Skoda',
 'model': 'Kamiq',
 'odometer': 33000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 0,
 'price': 11250,
 'price_includes_vat': True,
 'registration_date': '2021-12-31',
 'seats_number': 5,
 'seller_name': None,
 'title': 'SKODA Kamiq 1.0 TSI S Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'S',
 'year': 2021}
2026-03-30 12:42:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603301120366%27 HTTP/1.1" 200 None
2026-03-30 12:42:12 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603301120366: {'created_time': 1774874532.935126, 'last_price_update_time': 1774874532.935137}
2026-03-30 12:42:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603301120366') HTTP/1.1" 204 0
2026-03-30 12:42:12 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:12 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: ba9fef37-2305-54bc-977e-e8582b517212 with identifier: 202603281101528
2026-03-30 12:42:12 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item ba9fef37-2305-54bc-977e-e8582b517212
2026-03-30 12:42:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F35a73cac99ae4e20b84ba41035bb30b6.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:12 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/35a73cac99ae4e20b84ba41035bb30b6.jpg not downloaded yet
2026-03-30 12:42:12 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:12 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: 511fb6d8-7703-5e19-895b-c2242686a54f with identifier: 202603281092493
2026-03-30 12:42:12 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item 511fb6d8-7703-5e19-895b-c2242686a54f
2026-03-30 12:42:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:12 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F42d61a7eaf8542ce84302229ae957c2f.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:12 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/42d61a7eaf8542ce84302229ae957c2f.jpg not downloaded yet
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:13 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: dda54c56-92fb-5872-9832-e458b281afd6 with identifier: 202603261025449
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item dda54c56-92fb-5872-9832-e458b281afd6
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252Fa644d663db164e73aae8c3e249b8fda6.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/a644d663db164e73aae8c3e249b8fda6.jpg not downloaded yet
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:13 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: 8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d with identifier: 202603261025155
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item 8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F0f3094fc4d3144248c74aff50edb81de.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/0f3094fc4d3144248c74aff50edb81de.jpg not downloaded yet
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:13 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: 4059007e-cbd5-5efb-ab41-ea6095fbc285 with identifier: 202603251006386
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item 4059007e-cbd5-5efb-ab41-ea6095fbc285
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F677ae18c465a4b4782f618da8a437642.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/677ae18c465a4b4782f618da8a437642.jpg not downloaded yet
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:13 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: 28f6fb80-6e11-54d5-92d8-9826a4dce374 with identifier: 202603250983287
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item 28f6fb80-6e11-54d5-92d8-9826a4dce374
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F0e685393ead54e7f8dd0b637ba639684.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/0e685393ead54e7f8dd0b637ba639684.jpg not downloaded yet
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:13 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: afeaa6ff-3d49-5da1-86a7-086f01cbbcc6 with identifier: 202603240968089
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item afeaa6ff-3d49-5da1-86a7-086f01cbbcc6
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F1a0ec9ed4c34405cbcf2e51d725932a2.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/1a0ec9ed4c34405cbcf2e51d725932a2.jpg not downloaded yet
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:13 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: cfa090e3-7b03-5288-924f-b5c0bbc2da9c with identifier: 202603240960094
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item cfa090e3-7b03-5288-924f-b5c0bbc2da9c
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F5ff30abd61364ba0b98ca3a4bbf20472.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/5ff30abd61364ba0b98ca3a4bbf20472.jpg not downloaded yet
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Extracted item from batch: None
2026-03-30 12:42:13 [crawlers.auto_selling.middlewares.id_gen_middleware] INFO: Generated ID for item: f5d5f459-cd50-53ed-88b4-3c839d4c0498 with identifier: 202603200860001
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloading 1 photos for item f5d5f459-cd50-53ed-88b4-3c839d4c0498
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /PhotoDownloadCache()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F85986248cdd2469aba5fe927bcf74623.jpg%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/85986248cdd2469aba5fe927bcf74623.jpg not downloaded yet
2026-03-30 12:42:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/42d61a7eaf8542ce84302229ae957c2f.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/35a73cac99ae4e20b84ba41035bb30b6.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/a644d663db164e73aae8c3e249b8fda6.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/0f3094fc4d3144248c74aff50edb81de.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb0929a5310>
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_511fb6d8-7703-5e19-895b-c2242686a54f/511fb6d8-7703-5e19-895b-c2242686a54f_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F42d61a7eaf8542ce84302229ae957c2f.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/42d61a7eaf8542ce84302229ae957c2f.jpg saved to cache
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item 511fb6d8-7703-5e19-895b-c2242686a54f
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item 511fb6d8-7703-5e19-895b-c2242686a54f sending to next pipeline
2026-03-30 12:42:13 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: 511fb6d8-7703-5e19-895b-c2242686a54f with identifier 202603281092493
2026-03-30 12:42:13 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:13 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:13 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item 511fb6d8-7703-5e19-895b-c2242686a54f
2026-03-30 12:42:13 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/42d61a7eaf8542ce84302229ae957c2f.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 131,
 'color': 'Grey',
 'currency': 'GBP',
 'description': '* FINANCE WITH US * WITH NO DEPOSIT AND LOW RATES! SERVICE '
                'RECIEPTS FOR: 3K, 12K,  24K, 32K, 43K. OCT 2026 MOT. X2 KEYS. '
                'FEAUTURES INCLUDE: FRONT AND REAR PARKING SENSORS, AUTO '
                'LIGHTS, DAB, BLUETOOTH, ALLOYS, POWER FOLDING MIRRORS, REMOTE '
                'LOCKING, ISOFIX, CRUISE, ETC. \n'
                '\n'
                'This 2020 Honda Jazz i VTEC SE is presented with a clear '
                'vehicle history check, offering you peace of mind. This '
                'reliable hatchback is equipped with a 1.3 litre petrol engine '
                'and meets Euro 6 emissions standards. For your convenience, '
                'it features parking sensors both front and rear, along with '
                'Bluetooth hands free telephone connectivity. The SE trim also '
                'includes a dusk sensor for automatic headlight activation and '
                'manual air conditioning to keep you comfortable.\n'
                '\n'
                'The Honda Jazz i VTEC SE stands out with its exceptionally '
                'large boot space, providing ample room for all your luggage '
                'or shopping needs. Furthermore, its low insurance group '
                'rating indicates that running costs are kept to a minimum, '
                'making it an economical choice. These aspects, combined with '
                'its practical features, position this Jazz as a sensible and '
                'well equipped option for everyday driving.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.3L',
 'engine_horse_power': 101,
 'fuel_type': 'Petrol',
 'id': '511fb6d8-7703-5e19-895b-c2242686a54f',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603281092493',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Honda',
 'model': 'Jazz',
 'odometer': 46000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 36,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_511fb6d8-7703-5e19-895b-c2242686a54f/511fb6d8-7703-5e19-895b-c2242686a54f_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 399118,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/42d61a7eaf8542ce84302229ae957c2f.jpg',
             'Width': 2048}],
 'price': 10990,
 'price_includes_vat': True,
 'registration_date': '2020-10-15',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Honda Jazz 1.3 i-VTEC SE Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'SE',
 'year': 2020}
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603281092493%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603281092493: {'created_time': 1774874533.408388, 'last_price_update_time': 1774874533.408398}
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603281092493') HTTP/1.1" 204 0
2026-03-30 12:42:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/677ae18c465a4b4782f618da8a437642.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/0e685393ead54e7f8dd0b637ba639684.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb091710a10>
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_ba9fef37-2305-54bc-977e-e8582b517212/ba9fef37-2305-54bc-977e-e8582b517212_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F35a73cac99ae4e20b84ba41035bb30b6.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/35a73cac99ae4e20b84ba41035bb30b6.jpg saved to cache
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item ba9fef37-2305-54bc-977e-e8582b517212
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item ba9fef37-2305-54bc-977e-e8582b517212 sending to next pipeline
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb0929b68d0>
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_dda54c56-92fb-5872-9832-e458b281afd6/dda54c56-92fb-5872-9832-e458b281afd6_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252Fa644d663db164e73aae8c3e249b8fda6.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/a644d663db164e73aae8c3e249b8fda6.jpg saved to cache
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item dda54c56-92fb-5872-9832-e458b281afd6
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item dda54c56-92fb-5872-9832-e458b281afd6 sending to next pipeline
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb0929628d0>
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d/8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F0f3094fc4d3144248c74aff50edb81de.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/0f3094fc4d3144248c74aff50edb81de.jpg saved to cache
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item 8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d
2026-03-30 12:42:13 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item 8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d sending to next pipeline
2026-03-30 12:42:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/1a0ec9ed4c34405cbcf2e51d725932a2.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:13 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: ba9fef37-2305-54bc-977e-e8582b517212 with identifier 202603281101528
2026-03-30 12:42:13 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:13 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:13 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item ba9fef37-2305-54bc-977e-e8582b517212
2026-03-30 12:42:13 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/35a73cac99ae4e20b84ba41035bb30b6.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 149,
 'color': 'Black',
 'currency': 'GBP',
 'description': 'FANTASTIC SPACIOUS FAMILY SUV. LOOKS GREAT IN BLACK WITH ITS '
                'DIAMOND CUT ALLLOY WHEELS. X2 KEYS. MOT JANUARY 2027 WITH NO '
                'ADVISORIES. SERVICED AT 8,959...17,637...24,000(BEFORE SALE) '
                'SPEC INCLUDES REVERSE CAMERA, APPLE CARPLAY, CRUISE CONTROL, '
                'AIRCON, BLUETOOTH. This 2023 MG ZS VTi-TECH Excite is a '
                'superb example, having had only one owner since new. This '
                'Euro 6 compliant 1.5L petrol model offers a comfortable and '
                "connected driving experience. Inside, you'll find the "
                'convenience of both Apple CarPlay and Android Auto, allowing '
                'seamless integration with your smartphone for navigation, '
                'music, and calls. The Bi-Function LED headlights provide '
                'excellent visibility, while rear parking sensors make '
                'manoeuvring in tight spaces much easier. Bluetooth '
                'connectivity is also included for handsfree communication and '
                'audio streaming.\n'
                '\n'
                'The MG ZS VTi-TECH Excite stands out with its attractive low '
                'insurance group, making it a cost effective choice for many '
                'drivers. This, combined with its single owner provenance and '
                'desirable features like LED headlights and parking '
                'assistance, signifies a well cared for vehicle that offers '
                'excellent value compared to other similar models on the '
                'market.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.5L',
 'engine_horse_power': 105,
 'fuel_type': 'Petrol',
 'id': 'ba9fef37-2305-54bc-977e-e8582b517212',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603281101528',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'MG',
 'model': 'MG ZS',
 'odometer': 24000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 6,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_ba9fef37-2305-54bc-977e-e8582b517212/ba9fef37-2305-54bc-977e-e8582b517212_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 390277,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/35a73cac99ae4e20b84ba41035bb30b6.jpg',
             'Width': 2048}],
 'price': 11490,
 'price_includes_vat': True,
 'registration_date': '2023-01-27',
 'seats_number': 5,
 'seller_name': None,
 'title': 'MG MG Zs 1.5 VTi-TECH Excite Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'Excite',
 'year': 2023}
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603281101528%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603281101528: {'created_time': 1774874533.839134, 'last_price_update_time': 1774874533.839149}
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603281101528') HTTP/1.1" 204 0
2026-03-30 12:42:13 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: dda54c56-92fb-5872-9832-e458b281afd6 with identifier 202603261025449
2026-03-30 12:42:13 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:13 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:13 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item dda54c56-92fb-5872-9832-e458b281afd6
2026-03-30 12:42:13 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/a644d663db164e73aae8c3e249b8fda6.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 119,
 'color': 'Beige',
 'currency': 'GBP',
 'description': 'FANTASTIC FAMILY SUV! ONLY 43,000 MILES. X2 KEYS. MOT APRIL '
                '2027 WITH NO ADVISORIES. SERVICE HISTORY INCLUDING A SERVICE '
                'BEFORE SALE. GREAT SPEC INCLUDES. APPLE CAR PLAY. DIAMOND CUT '
                'ALLOY WHEELS, REVERSE CAMERA, REAR PARKING SENSORS, PRIVACY '
                'GLASS, HEATED SEATS & STEERING WHEEL, CRUISE CONTROL.\n'
                '\n'
                'HERE AT MOTORWELL WE PRIDE OURSELVES ON SELLING  HIGH '
                'QUALITY, LOW MILEAGE CARS AT UNBEATABLE PRICES, WE HAVE BEEN '
                'DOING SO SINCE 1987.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1L',
 'engine_horse_power': 123,
 'fuel_type': 'Petrol',
 'id': 'dda54c56-92fb-5872-9832-e458b281afd6',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603261025449',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Ford',
 'model': 'EcoSport',
 'odometer': 43000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 31,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_dda54c56-92fb-5872-9832-e458b281afd6/dda54c56-92fb-5872-9832-e458b281afd6_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 373790,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/a644d663db164e73aae8c3e249b8fda6.jpg',
             'Width': 2048}],
 'price': 8299,
 'price_includes_vat': True,
 'registration_date': '2019-05-31',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Ford Ecosport 1.0T EcoBoost Titanium Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'Titanium',
 'year': 2019}
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603261025449%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603261025449: {'created_time': 1774874533.888478, 'last_price_update_time': 1774874533.888492}
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603261025449') HTTP/1.1" 204 0
2026-03-30 12:42:13 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: 8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d with identifier 202603261025155
2026-03-30 12:42:13 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:13 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:13 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item 8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d
2026-03-30 12:42:13 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/0f3094fc4d3144248c74aff50edb81de.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 125,
 'color': 'Red',
 'currency': 'GBP',
 'description': 'GREAT FAMILY CAR. X2 KEYS. MOT MARCH 2027 WITH NO ADVISORIES. '
                'SERVICE AT THE FOLLOWING '
                'MILES...9,662...11,449...14,000(BEFORE SALE)\n'
                '\n'
                'HERE AT MOTORWELL WE PRIDE OURSELVES ON SELLING  HIGH '
                'QUALITY, LOW MILEAGE CARS AT UNBEATABLE PRICES, WE HAVE BEEN '
                'DOING SO SINCE 1987.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1L',
 'engine_horse_power': 118,
 'fuel_type': 'Petrol',
 'id': '8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603261025155',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Kia',
 'model': 'Stonic',
 'odometer': 14000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 33,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d/8c1ea8d2-8482-5387-8bb4-b5cc0dee6c9d_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 416037,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/0f3094fc4d3144248c74aff50edb81de.jpg',
             'Width': 2048}],
 'price': 11550,
 'price_includes_vat': True,
 'registration_date': '2020-01-27',
 'seats_number': 5,
 'seller_name': None,
 'title': 'KIA Stonic 1.0 T-GDi 2 Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': '2',
 'year': 2020}
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603261025155%27 HTTP/1.1" 200 None
2026-03-30 12:42:13 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603261025155: {'created_time': 1774874533.942336, 'last_price_update_time': 1774874533.942347}
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603261025155') HTTP/1.1" 204 0
2026-03-30 12:42:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/5ff30abd61364ba0b98ca3a4bbf20472.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://m.atcdn.co.uk/a/media/85986248cdd2469aba5fe927bcf74623.jpg> (referer: https://www.autotrader.co.uk/)
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb09458e850>
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:13 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:13 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_4059007e-cbd5-5efb-ab41-ea6095fbc285/4059007e-cbd5-5efb-ab41-ea6095fbc285_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F677ae18c465a4b4782f618da8a437642.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/677ae18c465a4b4782f618da8a437642.jpg saved to cache
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item 4059007e-cbd5-5efb-ab41-ea6095fbc285
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item 4059007e-cbd5-5efb-ab41-ea6095fbc285 sending to next pipeline
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb0945d1010>
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_28f6fb80-6e11-54d5-92d8-9826a4dce374/28f6fb80-6e11-54d5-92d8-9826a4dce374_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F0e685393ead54e7f8dd0b637ba639684.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/0e685393ead54e7f8dd0b637ba639684.jpg saved to cache
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item 28f6fb80-6e11-54d5-92d8-9826a4dce374
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item 28f6fb80-6e11-54d5-92d8-9826a4dce374 sending to next pipeline
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb09295a290>
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_afeaa6ff-3d49-5da1-86a7-086f01cbbcc6/afeaa6ff-3d49-5da1-86a7-086f01cbbcc6_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F1a0ec9ed4c34405cbcf2e51d725932a2.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/1a0ec9ed4c34405cbcf2e51d725932a2.jpg saved to cache
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item afeaa6ff-3d49-5da1-86a7-086f01cbbcc6
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item afeaa6ff-3d49-5da1-86a7-086f01cbbcc6 sending to next pipeline
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: 4059007e-cbd5-5efb-ab41-ea6095fbc285 with identifier 202603251006386
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item 4059007e-cbd5-5efb-ab41-ea6095fbc285
2026-03-30 12:42:14 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/677ae18c465a4b4782f618da8a437642.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 97,
 'color': 'Black',
 'currency': 'GBP',
 'description': '* AUTOMATIC *  JANUARY 2027 MOT. SERVICED AT: 3K, 8K, 14K AT '
                'BY US AT 27K. FEATURES INCLUDE: GLOSS BLACK ALLOYS, MEDIA '
                'SCREEN WITH PARKING CAMERA, USB, ISOFIX, POWER STEERING, '
                'ELECTRIC WINDOWS, AIRCON,  PRIVACY GLASS, POWER STEERING '
                'ETC.\n'
                '\n'
                'This 2018 Toyota AYGO VVT-i x-press presents an exceptional '
                'opportunity with its remarkably low mileage of just 27,000 '
                'miles. This compact and stylish city car, powered by an '
                'efficient 1.0L petrol engine, meets the Euro 6 emission '
                'standards. It comes equipped with a host of convenient '
                'features, including automatic air conditioning with climate '
                'control, a reversing camera with parking assistance, and the '
                'x-touch 7in multimedia touchscreen which also incorporates '
                'Bluetooth connectivity. Furthermore, the dusk sensing '
                'headlights automatically illuminate when light levels drop, '
                'enhancing safety and convenience.\n'
                '\n'
                'The AYGO x-press stands out with its impressive fuel economy, '
                'achieving an outstanding 67 miles per gallon, which is a '
                'significant advantage for keeping running costs low. Its low '
                'CO2 emissions also contribute to its economical profile, and '
                'it sits within a low insurance group, making it an attractive '
                'choice for many drivers. These highlights collectively '
                'demonstrate that this particular AYGO offers superior value '
                'and efficiency compared to many other vehicles in its class.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1L',
 'engine_horse_power': 67,
 'fuel_type': 'Petrol',
 'id': '4059007e-cbd5-5efb-ab41-ea6095fbc285',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603251006386',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Toyota',
 'model': 'AYGO',
 'odometer': 27000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 24,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_4059007e-cbd5-5efb-ab41-ea6095fbc285/4059007e-cbd5-5efb-ab41-ea6095fbc285_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 407915,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/677ae18c465a4b4782f618da8a437642.jpg',
             'Width': 2048}],
 'price': 9650,
 'price_includes_vat': True,
 'registration_date': '2018-04-30',
 'seats_number': 4,
 'seller_name': None,
 'title': 'Toyota Aygo 1.0 VVT-i x-press x-shift Euro 6 5dr',
 'transmission': 'automatic',
 'trim': 'x-press',
 'year': 2018}
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603251006386%27 HTTP/1.1" 200 None
2026-03-30 12:42:14 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603251006386: {'created_time': 1774874534.258423, 'last_price_update_time': 1774874534.258435}
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603251006386') HTTP/1.1" 204 0
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: 28f6fb80-6e11-54d5-92d8-9826a4dce374 with identifier 202603250983287
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item 28f6fb80-6e11-54d5-92d8-9826a4dce374
2026-03-30 12:42:14 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/0e685393ead54e7f8dd0b637ba639684.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 147,
 'color': 'White',
 'currency': 'GBP',
 'description': '* FINANCE WITH US * NO DEPOSIT AVAILABLE. ONLY ONE OWNER FROM '
                'NEW! SERVICED AT: 3k AND 8k. X2 KEYS.  FEATURES INCLIDEThis '
                '2022 MG MG3 VTi-TECH Excite is a standout choice, boasting '
                'exceptionally low mileage of just 10,000 miles from its '
                'single owner. This well maintained example features a '
                'responsive 1.5L petrol engine, meeting Euro 6 emissions '
                "standards. Inside, you'll find comfort and convenience with "
                'air conditioning, complete with a dust and pollen filter, and '
                'seamless connectivity through Bluetooth and Apple CarPlay. '
                'Parking is made easier with rear parking sensors, offering '
                'added peace of mind.\n'
                '\n'
                'The MG3 VTi-TECH Excite offers a compelling package that sets '
                'it apart. Its 0-60mph acceleration in 10.4 seconds '
                'demonstrates its capable performance. Furthermore, its '
                'position within a low insurance group indicates that running '
                'costs are likely to be more affordable compared to many other '
                'vehicles in its class. This combination of features, low '
                'ownership, minimal mileage, and economical running makes this '
                'MG3 a particularly attractive proposition.\n'
                '\n'
                'HERE AT MOTORWELL WE PRIDE OURSELVES ON SELLING  HIGH '
                'QUALITY, LOW MILEAGE CARS AT UNBEATABLE PRICES, WE HAVE BEEN '
                'DOING SO SINCE 1987.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.5L',
 'engine_horse_power': 105,
 'fuel_type': 'Petrol',
 'id': '28f6fb80-6e11-54d5-92d8-9826a4dce374',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603250983287',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'MG',
 'model': 'MG3',
 'odometer': 10000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 27,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_28f6fb80-6e11-54d5-92d8-9826a4dce374/28f6fb80-6e11-54d5-92d8-9826a4dce374_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 368150,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/0e685393ead54e7f8dd0b637ba639684.jpg',
             'Width': 2048}],
 'price': 8990,
 'price_includes_vat': True,
 'registration_date': '2022-01-07',
 'seats_number': 5,
 'seller_name': None,
 'title': 'MG MG3 1.5 VTi-TECH Excite Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'Excite',
 'year': 2022}
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603250983287%27 HTTP/1.1" 200 None
2026-03-30 12:42:14 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603250983287: {'created_time': 1774874534.37168, 'last_price_update_time': 1774874534.371693}
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603250983287') HTTP/1.1" 204 0
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: afeaa6ff-3d49-5da1-86a7-086f01cbbcc6 with identifier 202603240968089
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item afeaa6ff-3d49-5da1-86a7-086f01cbbcc6
2026-03-30 12:42:14 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/1a0ec9ed4c34405cbcf2e51d725932a2.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 149,
 'color': 'White',
 'currency': 'GBP',
 'description': '* FINANCE WITH US WITH NO DEPOSIT * ONLY ONE OWNER FROM NEW '
                'WITH A FULL MAIN DEALER SERVICE HISTORY. SERVICED AT: 7K , '
                '12K, 18K. X2 KEYS.  MARCH 2027 MOT. FEATURES INCLUDE: TOUCH '
                'SCREEN MEDIA , SAT NAV, CRUISE CONTROL, HEATED LEATHER, '
                'PARKING SENSORS, ELECTRIC WINDOWS, ELECTRIC MIRRORS,  ETC. \n'
                '\n'
                'This 2023 MG ZS VTi-TECH Exclusive is a standout choice, '
                'having been owned by just one person and covered a mere '
                '18,000 miles, making it exceptionally low mileage for its '
                'age. This Euro 6 compliant 1.5L petrol model comes in the '
                'desirable Exclusive trim, offering a refined driving '
                "experience. You'll appreciate the convenience of Bi-Function "
                'LED headlights, which include automatic on functionality, and '
                'rear parking sensors to assist with manoeuvring. Stay '
                'connected and entertained with Bluetooth connectivity and '
                'seamless integration of Android Auto.\n'
                '\n'
                'The MG ZS VTi-TECH Exclusive is designed to offer excellent '
                'value, and its low insurance group rating further enhances '
                'its appeal as an economical choice. The combination of its '
                'well maintained provenance, including the single owner and '
                'low mileage, alongside its practical features like LED '
                'lighting and parking assistance, positions this vehicle as a '
                'superior option compared to others in its class.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.5L',
 'engine_horse_power': 105,
 'fuel_type': 'Petrol',
 'id': 'afeaa6ff-3d49-5da1-86a7-086f01cbbcc6',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603240968089',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'MG',
 'model': 'MG ZS',
 'odometer': 18000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 41,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_afeaa6ff-3d49-5da1-86a7-086f01cbbcc6/afeaa6ff-3d49-5da1-86a7-086f01cbbcc6_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 293280,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/1a0ec9ed4c34405cbcf2e51d725932a2.jpg',
             'Width': 2048}],
 'price': 12890,
 'price_includes_vat': True,
 'registration_date': '2023-03-06',
 'seats_number': 5,
 'seller_name': None,
 'title': 'MG MG Zs 1.5 VTi-TECH Exclusive Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'Exclusive',
 'year': 2023}
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603240968089%27 HTTP/1.1" 200 None
2026-03-30 12:42:14 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603240968089: {'created_time': 1774874534.419646, 'last_price_update_time': 1774874534.41966}
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603240968089') HTTP/1.1" 204 0
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb0945c4e50>
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_cfa090e3-7b03-5288-924f-b5c0bbc2da9c/cfa090e3-7b03-5288-924f-b5c0bbc2da9c_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F5ff30abd61364ba0b98ca3a4bbf20472.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/5ff30abd61364ba0b98ca3a4bbf20472.jpg saved to cache
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item cfa090e3-7b03-5288-924f-b5c0bbc2da9c
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item cfa090e3-7b03-5288-924f-b5c0bbc2da9c sending to next pipeline
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Creating container client for top-deal-listing
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Container_client: <azure.storage.blob._container_client.ContainerClient object at 0x7fb091755990>
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Creating container if not exists
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing?restype=container HTTP/1.1" 409 230
2026-03-30 12:42:14 [common.azure_blobstore] INFO: Container already exists, skipping creation
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxproduction.blob.core.windows.net:443 "PUT /top-deal-listing/listing_f5d5f459-cd50-53ed-88b4-3c839d4c0498/f5d5f459-cd50-53ed-88b4-3c839d4c0498_image_0.jpg HTTP/1.1" 201 0
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /PhotoDownloadCache(PartitionKey='auto_selling_autotrader.co.uk',RowKey='https%3A%252F%252Fm.atcdn.co.uk%252Fa%252Fmedia%252F85986248cdd2469aba5fe927bcf74623.jpg') HTTP/1.1" 204 0
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: Image https://m.atcdn.co.uk/a/media/85986248cdd2469aba5fe927bcf74623.jpg saved to cache
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: Downloaded image 0 for item f5d5f459-cd50-53ed-88b4-3c839d4c0498
2026-03-30 12:42:14 [crawlers.middlewares.photo_download_middleware] INFO: All photos downloaded for item f5d5f459-cd50-53ed-88b4-3c839d4c0498 sending to next pipeline
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: cfa090e3-7b03-5288-924f-b5c0bbc2da9c with identifier 202603240960094
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item cfa090e3-7b03-5288-924f-b5c0bbc2da9c
2026-03-30 12:42:14 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/5ff30abd61364ba0b98ca3a4bbf20472.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 136,
 'color': 'Red',
 'currency': 'GBP',
 'description': '* GREAT FAMILY CAR * MARCH 2027 MOT. ONLY TWO OWNERS FROM '
                'NEW. NEW SERVICE. FOUR STAMPS IN THE BOOK.  FEATURES INCLUDE: '
                'SAT NAV, ALLOYS, PRIVACY GLASS, ALLOYS,  BLUETOOTH, ELECTRIC '
                'WINDOWS, ELECTRIC MIRRORS, PARKING CAMERA, CRUISE ETC. \n'
                '\n'
                'Discover this 2019 Renault Kadjar TCe Iconic, a well '
                'maintained example with remarkably low mileage for its age, '
                'having covered just 47,000 miles. This Euro 6 compliant 1.3L '
                'petrol model offers a smooth driving experience and comes '
                "equipped with the desirable Iconic trim. Inside, you'll find "
                'the R-Link 2 Multimedia System featuring a 7in touchscreen '
                'with Bluetooth connectivity, seamlessly integrating with '
                'Apple CarPlay and Android Auto for effortless access to your '
                "smartphone's features.\n"
                '\n'
                'This Kadjar stands out with its generous boot space, '
                "providing ample room for all your needs, whether it's luggage "
                'for a weekend getaway or shopping. Its low CO2 emissions also '
                'highlight its efficiency, making it a more environmentally '
                'conscious choice compared to many similar vehicles. Parking '
                'is made simple thanks to the rear parking camera and front '
                'and rear parking sensors, all managed through the intuitive '
                'parking assistance systems. Furthermore, the automatic dual '
                'zone climate control ensures a comfortable cabin temperature '
                'for all occupants, regardless of the weather outside.',
 'doors_number': 5,
 'emission_standard': 'Euro 6',
 'engine': '1.3L',
 'engine_horse_power': 138,
 'fuel_type': 'Petrol',
 'id': 'cfa090e3-7b03-5288-924f-b5c0bbc2da9c',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603240960094',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Renault',
 'model': 'Kadjar',
 'odometer': 47000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 34,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_cfa090e3-7b03-5288-924f-b5c0bbc2da9c/cfa090e3-7b03-5288-924f-b5c0bbc2da9c_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 350819,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/5ff30abd61364ba0b98ca3a4bbf20472.jpg',
             'Width': 2048}],
 'price': 9150,
 'price_includes_vat': True,
 'registration_date': '2019-07-16',
 'seats_number': 5,
 'seller_name': None,
 'title': 'Renault Kadjar 1.3 TCe Iconic Euro 6 (s/s) 5dr',
 'transmission': 'manual',
 'trim': 'Iconic',
 'year': 2019}
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603240960094%27 HTTP/1.1" 200 None
2026-03-30 12:42:14 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603240960094: {'created_time': 1774874534.834106, 'last_price_update_time': 1774874534.834122}
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603240960094') HTTP/1.1" 204 0
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: Azure Bus Pipeline processing item: f5d5f459-cd50-53ed-88b4-3c839d4c0498 with identifier 202603200860001
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process item CloudEvent for item f5d5f459-cd50-53ed-88b4-3c839d4c0498
2026-03-30 12:42:14 [scrapy.core.scraper] DEBUG: Scraped from <200 https://m.atcdn.co.uk/a/media/85986248cdd2469aba5fe927bcf74623.jpg>
{'auction_title': '',
 'c_o_2_emission_value': 97,
 'color': 'Black',
 'currency': 'GBP',
 'description': 'WOW....ONLY 14,000 MILES! 1 OWNER FROM NEW + SUPPLYING '
                'DEALER.  X2 KEYS. MOT NOVEMBER 2026. X4 NEW TYRES DUE TO '
                'PERISHING WITH AGE. NEW SERVICE BEFORE SALE. ROAD TAX ONLY '
                '£25 A YEAR.\n'
                '\n'
                'HERE AT MOTORWELL WE PRIDE OURSELVES ON SELLING  HIGH '
                'QUALITY, LOW MILEAGE CARS AT UNBEATABLE PRICES, WE HAVE BEEN '
                'DOING SO SINCE 1987.',
 'doors_number': 2,
 'emission_standard': 'Euro 6',
 'engine': '0.9L',
 'engine_horse_power': 89,
 'fuel_type': 'Petrol',
 'id': 'f5d5f459-cd50-53ed-88b4-3c839d4c0498',
 'is_damaged': False,
 'is_operable': True,
 'link_to_web_offer': 'https://www.autotrader.co.uk/car-details/202603200860001',
 'listing': 'directbuy',
 'location': 'Bristol, Gloucestershire',
 'make': 'Smart',
 'model': 'fortwo',
 'odometer': 14000,
 'odometer_reading_unit': 'mi',
 'origin_country_code': 'GB',
 'original_photo_count': 23,
 'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_f5d5f459-cd50-53ed-88b4-3c839d4c0498/f5d5f459-cd50-53ed-88b4-3c839d4c0498_image_0.jpg',
             'Extension': 'jpg',
             'FileSizeInBytes': 437262,
             'Height': 1536,
             'OriginUrl': 'https://m.atcdn.co.uk/a/media/85986248cdd2469aba5fe927bcf74623.jpg',
             'Width': 2048}],
 'price': 6950,
 'price_includes_vat': True,
 'registration_date': '2016-03-31',
 'seats_number': 2,
 'seller_name': None,
 'title': 'Smart Fortwo 0.9T Passion (Premium) Euro 6 (s/s) 2dr',
 'transmission': 'manual',
 'trim': 'Passion',
 'year': 2016}
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20RowKey%20eq%20%27202603200860001%27 HTTP/1.1" 200 None
2026-03-30 12:42:14 [auto_selling_autotrader.co.uk] INFO: Saving data for 202603200860001: {'created_time': 1774874534.887489, 'last_price_update_time': 1774874534.887502}
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:14 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='auto_selling_autotrader.co.uk',RowKey='202603200860001') HTTP/1.1" 204 0
2026-03-30 12:42:14 [scrapy.core.engine] INFO: Closing spider (finished)
2026-03-30 12:42:14 [crawlers.pipelines.save_to_cdlq_db_auto_selling] DEBUG: [SaveToCdlqDbAutoSelling] failed to close cursor: 'SaveToCdlqDbAutoSelling' object has no attribute 'cursor'
2026-03-30 12:42:14 [crawlers.pipelines.save_to_cdlq_db_auto_selling] DEBUG: [SaveToCdlqDbAutoSelling] failed to close connection: 'SaveToCdlqDbAutoSelling' object has no attribute 'conn'
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [azure.servicebus._pyamqp.cbs] DEBUG: CBS status check: state == <CbsAuthState.OK: 0>, expired == False, refresh required == False
2026-03-30 12:42:14 [crawlers.pipelines.post_to_azurebus_auto_selling] DEBUG: [AzureBusPipeline] sent process scrape complete CloudEvent for item 75abe4d22c3511f1b320c264925fbcfa
2026-03-30 12:42:14 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.management_link] INFO: Management link receiver state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.management_link] INFO: Management link sender state changed: <LinkState.ATTACHED: 3> -> <LinkState.DETACH_SENT: 4>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.session] INFO: Session state changed: <SessionState.MAPPED: 3> -> <SessionState.END_SENT: 4>
2026-03-30 12:42:14 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.OPENED: 9> -> <ConnectionState.CLOSE_SENT: 11>
2026-03-30 12:42:14 [azure.servicebus._pyamqp._connection] INFO: Connection state changed: <ConnectionState.CLOSE_SENT: 11> -> <ConnectionState.END: 13>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.session] INFO: Session state changed: <SessionState.END_SENT: 4> -> <SessionState.DISCARDING: 6>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.management_link] INFO: Management link sender state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.management_link] INFO: Management link receiver state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-03-30 12:42:14 [azure.servicebus._pyamqp.link] INFO: Link state changed: <LinkState.DETACH_SENT: 4> -> <LinkState.DETACHED: 0>
2026-03-30 12:42:15 [crawlers.pipelines.post_to_azurebus_auto_selling] INFO: [AzureBusPipeline] connection closed
2026-03-30 12:42:15 [auto_selling_autotrader.co.uk] INFO: auto_selling_autotrader.co.uk 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 12:42:16 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
2026-03-30 12:42:16 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27auto_selling_autotrader.co.uk%27%20and%20last_price_update_time%20lt%201773578536 HTTP/1.1" 200 None
2026-03-30 12:42:16 [scrapy.extensions.feedexport] INFO: Stored jsonlines feed (19 items) in: file:///var/lib/scrapyd/items/sourcing_v2/auto_selling_autotrader.co.uk/75abe4d22c3511f1b320c264925fbcfa.jl
2026-03-30 12:42:16 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 151048,
 'downloader/request_count': 21,
 'downloader/request_method_count/GET': 18,
 'downloader/request_method_count/POST': 3,
 'downloader/response_bytes': 7703828,
 'downloader/response_count': 21,
 'downloader/response_status_count/200': 21,
 'elapsed_time_seconds': 178.095525,
 'feedexport/success_count/FileFeedStorage': 1,
 'finish_reason': 'finished',
 'finish_time': datetime.datetime(2026, 3, 30, 12, 42, 16, 278732, tzinfo=datetime.timezone.utc),
 'item_scraped_count': 19,
 'log_count/DEBUG': 354,
 'log_count/INFO': 327,
 'memusage/max': 159657984,
 'memusage/startup': 147103744,
 'photo_download_count': 18,
 'request_depth_max': 2,
 'response_received_count': 3,
 'scheduler/dequeued': 21,
 'scheduler/dequeued/memory': 21,
 'scheduler/enqueued': 21,
 'scheduler/enqueued/memory': 21,
 'scrape_type/new': 19,
 'scrapy-zyte-api/429': 0,
 'scrapy-zyte-api/attempts': 5,
 'scrapy-zyte-api/error_ratio': 0.4,
 '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': 10.516309622985622,
 'scrapy-zyte-api/mean_response_seconds': 10.689489818022897,
 'scrapy-zyte-api/processed': 3,
 'scrapy-zyte-api/request_args/customHttpRequestHeaders': 3,
 'scrapy-zyte-api/request_args/experimental.requestCookies': 2,
 'scrapy-zyte-api/request_args/experimental.responseCookies': 3,
 'scrapy-zyte-api/request_args/httpRequestBody': 3,
 'scrapy-zyte-api/request_args/httpRequestMethod': 3,
 'scrapy-zyte-api/request_args/httpResponseBody': 3,
 'scrapy-zyte-api/request_args/httpResponseHeaders': 3,
 'scrapy-zyte-api/request_args/url': 3,
 'scrapy-zyte-api/status_codes/0': 2,
 'scrapy-zyte-api/status_codes/200': 3,
 'scrapy-zyte-api/success': 3,
 'scrapy-zyte-api/success_ratio': 1.0,
 'scrapy-zyte-api/throttle_ratio': 0.0,
 'start_time': datetime.datetime(2026, 3, 30, 12, 39, 18, 183207, tzinfo=datetime.timezone.utc)}
2026-03-30 12:42:16 [scrapy.core.engine] INFO: Spider closed (finished)
2026-03-30 12:42:16 [asyncio] ERROR: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7fb095d6b7d0>
2026-03-30 12:42:16 [asyncio] ERROR: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7fb095d78090>

PROJECT (sourcing_v2), SPIDER (auto_selling_autotrader.co.uk)