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>